手把手教你爬美女图入门篇-美空首页美女图下载

2023-11-27 00:40

本文主要是介绍手把手教你爬美女图入门篇-美空首页美女图下载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你将学会

  • 用Scrapy爬取一个静态页面中的图片链接

你需要了解

  • Scrapy的简单配置
  • Scrapy的基础框架
  • 标签Selector的基础用法

屌丝程序员都喜欢美女图,先上一张美图让大家爽一把,好好看后面的教程,一步一步教你怎么自动爬高质量美女图~
能不能学到技术且不说,介绍一下下面这个网站吧,美空网,质量不错~

Untitled-1

工欲善其事必先利其器

言归正传,要饱饱眼福,先弄个爬虫在后台把图片都爬下来,等没人的时候找个安静的地方慢慢欣赏,那才惬意。这里给大家介绍一个简单实用的爬虫框架Scrapy,基于python,用起来很方便,即使没有什么编程基础的人,也能迅速掌握。

废话少说,要使用Scrapy,请先移步Scrapy安装教程。

懒人方案

了解原理之前,可以先跑一把,看看效果,直接上github链接,XiaomaiTutorial,下载代码,cd到指定目录,运行,列出结果~

dybs-MacBook-Pro:workspace yanbiao$ cd XiaomaiTutorial/
dybs-MacBook-Pro:XiaomaiTutorial yanbiao$ scrapy crawl example01

哗哗哗打出一堆字符

2014-08-04 23:17:28+0800 [scrapy] INFO: Scrapy 0.24.2 started (bot: tutorial)
2014-08-04 23:17:28+0800 [scrapy] INFO: Optional features available: ssl, http11, django
2014-08-04 23:17:28+0800 [scrapy] INFO: Overridden settings: {'NEWSPIDER_MODULE': 'tutorial.spiders', 'SPIDER_MODULES': ['tutorial.spiders'], 'BOT_NAME': 'tutorial'}
2014-08-04 23:17:28+0800 [scrapy] INFO: Enabled extensions: LogStats, TelnetConsole, CloseSpider, WebService, CoreStats, SpiderState
2014-08-04 23:17:28+0800 [scrapy] INFO: Enabled downloader middlewares: HttpAuthMiddleware, DownloadTimeoutMiddleware, UserAgentMiddleware, RetryMiddleware, DefaultHeadersMiddleware, MetaRefreshMiddleware, HttpCompressionMiddleware, RedirectMiddleware, CookiesMiddleware, ChunkedTransferMiddleware, DownloaderStats
2014-08-04 23:17:28+0800 [scrapy] INFO: Enabled spider middlewares: HttpErrorMiddleware, OffsiteMiddleware, RefererMiddleware, UrlLengthMiddleware, DepthMiddleware
2014-08-04 23:17:28+0800 [scrapy] INFO: Enabled item pipelines:
2014-08-04 23:17:28+0800 [example01] INFO: Spider opened
2014-08-04 23:17:28+0800 [example01] INFO: Crawled 0 pages (at 0 pages/min), scraped 0 items (at 0 items/min)
2014-08-04 23:17:28+0800 [scrapy] DEBUG: Telnet console listening on 127.0.0.1:6023
2014-08-04 23:17:28+0800 [scrapy] DEBUG: Web service listening on 127.0.0.1:6080
2014-08-04 23:17:28+0800 [example01] DEBUG: Crawled (200) <GET http://www.moko.cc/> (referer: None)http://img2.moko.cc/users/20/6019/1805971/post/b1/img2_cover_9395163.jpghttp://img2.moko.cc/users/16/4817/1445276/post/ed/img2_cover_9341164.jpghttp://img2.moko.cc/users/18/5415/1624793/post/ed/img2_cover_9342575.jpghttp://img2.moko.cc/users/14/4235/1270736/post/7e/img2_cover_9342712.jpghttp://img2.moko.cc/users/4/1337/401363/post/14/img2_cover_9346666.jpghttp://img2.moko.cc/users/18/5443/1632936/post/cf/img2_cover_9347694.jpghttp://img2.moko.cc/users/15/4631/1389322/post/0d/img2_cover_9351098.jpghttp://img2.moko.cc/users/3/1123/337162/post/6d/img2_cover_9325747.jpghttp://img2.moko.cc/users/0/15/4629/post/78/img2_cover_9351587.jpghttp://img2.moko.cc/users/0/17/5175/post/6b/img2_cover_9329001.jpghttp://img2.moko.cc/users/0/16/5037/post/67/img2_cover_9335332.jpghttp://img2.moko.cc/users/0/9/2952/post/b2/img2_cover_9343414.jpghttp://img2.moko.cc/users/0/55/16695/post/a1/img2_mokoshow_9337921.jpghttp://img2.moko.cc/users/15/4787/1436175/post/2d/img2_mokoshow_9289413.jpghttp://img2.moko.cc/users/21/6365/1909654/post/a3/img2_mokoshow_9210602.jpghttp://img2.moko.cc/users/15/4646/1394082/post/3e/img2_mokoshow_9196025.jpghttp://img2.moko.cc/users/21/6352/1905871/post/3b/img2_mokoshow_8797685.jpghttp://img2.moko.cc/users/15/4787/1436175/post/e0/img2_mokoshow_9351262.jpghttp://img2.moko.cc/users/21/6324/1897300/project/77/img2_mokoshow_9273297.jpghttp://img2.moko.cc/users/20/6153/1846107/project/de/img2_mokoshow_9174923.jpghttp://img2.moko.cc/users/21/6498/1949497/project/71/img2_mokoshow_9115531.jpghttp://img2.moko.cc/users/0/12/3604/project/88/img2_mokoshow_8170347.jpghttp://img2.moko.cc/users/12/3882/1164727/project/6b/img2_mokoshow_8797891.jpghttp://img2.moko.cc/users/20/6052/1815737/project/3d/img2_mokoshow_8299559.jpghttp://img1.moko.cc/users/6/1901/570354/logo/img1_des_4751873.jpghttp://img2.moko.cc/users/3/955/286676/logo/img2_des_9257459.jpghttp://img2.moko.cc/users/0/148/44474/logo/img2_des_8430030.jpghttp://img2.moko.cc/users/0/67/20175/logo/img2_des_9035655.jpghttp://img2.moko.cc/users/0/18/5503/logo/img2_des_9114555.jpghttp://img2.moko.cc/users/0/15/4629/logo/img2_des_9262920.jpghttp://img2.moko.cc/users/0/19/5932/logo/img2_des_9039246.jpghttp://img2.moko.cc/users/0/42/12745/logo/img2_des_8992854.jpghttp://img1.moko.cc/users/3/1181/354499/logo/img1_des_4966539.jpghttp://img2.moko.cc/users/0/36/10924/logo/img2_des_8566131.jpghttp://img1.moko.cc/users/3/1023/306970/logo/img1_des_1000989.jpghttp://img1.moko.cc/users/0/4/1476/logo/img1_des_7541033.jpghttp://img1.moko.cc/users/0/1/363/logo/img1_des_6695256.jpghttp://img1.moko.cc/users/2/626/187854/logo/img1_des_6211549.jpghttp://img2.moko.cc/users/12/3863/1158905/logo/img2_des_9332634.jpghttp://img2.moko.cc/users/21/6324/1897300/logo/img2_des_9202964.jpghttp://img2.moko.cc/users/15/4579/1373912/logo/img2_des_8423039.jpghttp://img2.moko.cc/users/20/6052/1815737/logo/img2_des_8005855.jpghttp://img2.moko.cc/users/19/5997/1799351/logo/img2_des_7965559.jpghttp://img1.moko.cc/users/12/3882/1164727/logo/img1_des_5806364.jpghttp://img1.moko.cc/users/18/5409/1622983/logo/img1_des_7618588.jpg2014-08-04 23:17:28+0800 [example01] INFO: Closing spider (finished)
2014-08-04 23:17:28+0800 [example01] INFO: Dumping Scrapy stats:
{'downloader/request_bytes': 210,
'downloader/request_count': 1,
'downloader/request_method_count/GET': 1,
'downloader/response_bytes': 8974,
'downloader/response_count': 1,
'downloader/response_status_count/200': 1,
'finish_reason': 'finished',
'finish_time': datetime.datetime(2014, 8, 4, 15, 17, 28, 550220),
'log_count/DEBUG': 3,
'log_count/INFO': 7,
'response_received_count': 1,
'scheduler/dequeued': 1,
'scheduler/dequeued/memory': 1,
'scheduler/enqueued': 1,
'scheduler/enqueued/memory': 1,
'start_time': datetime.datetime(2014, 8, 4, 15, 17, 28, 438989)} 

看到橙色链接没有,没错!那就是美女图链接。会有人问,坑爹啊,怎么不是下载下来而是打出链接?

别着急嘛,慢慢来,其实打出链接比下载图片更有用,你的硬盘哪放得下那么多图片不是?后面慢慢教你如何惬意滴欣赏。

自己动手 丰衣足食

新建一个scrapy项目

首先你需要通过scrapy命令新建一个项目,scrapy会自动为你生成一些代码和文件,命令如下:

scrapy startproject tutorial

你的目录下会出现一个名为tutorial的目录,目录结构如下:

tutorial/
-scrapy.cfg
-tutorial/
-__init__.py
-items.py
-pipelines.py
-settings.py
-spiders/
-__init__.py
...
scrapy.cfg:项目配置文件
tutorial/:项目的python模块,后面你需要引用这里面的东西
tutorial/items.py:定义你要爬取到内容,后面的文章会介绍
tutorial/pipelines.py:对你爬取内容进行处理的地方,后面的文章会介绍
tutorial/settings.py:项目设置文件,后面的文章会介绍
tutorial/spiders/:放置爬虫代码的目录

创建一个爬虫并使用Selector解析html标签

cd tutorial
scrapy genspider example01 example01 example01

此时,spider目录下会多出一个example01.py的文件,爬虫要做的事情就是在这儿定义的了,文件的初始状况如下:

# -*- coding: utf-8 -*-
import scrapyclass Example01Spider(scrapy.Spider):
name = "example01"
allowed_domains = ["example01"]
start_urls = (
'http://www.example01/',
)def parse(self, response):
pass

这里简单介绍一下,

  • name是spider的名称,前面的scrapy crawl example01后面的example01就是name
  • allowed_domains是允许访问的域,暂时可以不管
  • start_urls是爬虫开始爬的页面,即起点,本文我们只爬首页,所以写一个url即可,此处是http://www.moko.cc/
  • parse函数是爬虫的主函数,response是对网页进行http请求后获得的数据,其实就是一个字符串。而爬虫的本质就是分析这些字符串,找到我们需要的内容,笼统的说就是这么简单,而我们今天要获取的是图片的url。

OK,开始真正有一点技术含量的工作了,先看一下首页的html代码,如果是chrome浏览器,在页面右键,点击查看源文件,你会看到乱七八糟一大堆html代码,不要着急,我们简单分析就能知道图片在哪(当然,你也可以用一些页面调试工具来看,目前还没有那么复杂啦)。下面贴一小段关键代码:

Untitled-11

擦,女神佟丽娅,还不赶紧爬。。。

可以看出,图片都是在div class = cover下的img标签里面,url是src2的属性值,这时就要发挥Selector的强大功力了,我们将example01.py改成如下模样

# -*- coding: utf-8 -*-
import scrapyclass Example01Spider(scrapy.Spider):
name = "example01"
allowed_domains = ["moko.cc"]
start_urls = (
'http://www.moko.cc/',
)def parse(self, response):
for divs in response.xpath('//div[@class="cover"]'):
img_url = divs.xpath('.//img/@src2').extract()[0]
print img_url
  • 解释一下两句代码

reseponse.xpath(‘//div[@class="cover"]‘)的含义就是把所有class是cover的div标签找出来,形成一个列表,然后我们用for循环遍历这个列表
div.xpath(‘.//img/src2′).extract()[0]的含义就是把每个符合要求的div下,img标签内的src2属性给取出来,取出来的同样事列表,但是我们知道其实只有一个值,所以取下标[0]
至此,img_url就打印出来了。

好吧,这一篇就到这儿了,xpath到用法囫囵吞枣先说了个大概,内容也不少,需要消化一下。

一定有人大骂,主页就这么几张图,啥也没有啊,你坑爹呢!

别急别急,刚起步呢,其实你已经离成功不远了,下一片,咱们好好看看Selector的各种用法,用好这一利器,后面的路都好走~

感谢阅读,啥也不说,上点儿福利

img2_src_9398806

本文源码下载

 原创文章,写作不易,转载请注明:转自http://tech.my-coffees.com/?p=7 

这篇关于手把手教你爬美女图入门篇-美空首页美女图下载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/426609

相关文章

Java实现文件图片的预览和下载功能

《Java实现文件图片的预览和下载功能》这篇文章主要为大家详细介绍了如何使用Java实现文件图片的预览和下载功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... Java实现文件(图片)的预览和下载 @ApiOperation("访问文件") @GetMapping("

Python下载Pandas包的步骤

《Python下载Pandas包的步骤》:本文主要介绍Python下载Pandas包的步骤,在python中安装pandas库,我采取的方法是用PIP的方法在Python目标位置进行安装,本文给大... 目录安装步骤1、首先找到我们安装python的目录2、使用命令行到Python安装目录下3、我们回到Py

使用国内镜像源优化pip install下载的方法步骤

《使用国内镜像源优化pipinstall下载的方法步骤》在Python开发中,pip是一个不可或缺的工具,用于安装和管理Python包,然而,由于默认的PyPI服务器位于国外,国内用户在安装依赖时可... 目录引言1. 为什么需要国内镜像源?2. 常用的国内镜像源3. 临时使用国内镜像源4. 永久配置国内镜

Python如何快速下载依赖

《Python如何快速下载依赖》本文介绍了四种在Python中快速下载依赖的方法,包括使用国内镜像源、开启pip并发下载功能、使用pipreqs批量下载项目依赖以及使用conda管理依赖,通过这些方法... 目录python快速下载依赖1. 使用国内镜像源临时使用镜像源永久配置镜像源2. 使用 pip 的并

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

Android开发中gradle下载缓慢的问题级解决方法

《Android开发中gradle下载缓慢的问题级解决方法》本文介绍了解决Android开发中Gradle下载缓慢问题的几种方法,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录一、网络环境优化二、Gradle版本与配置优化三、其他优化措施针对android开发中Gradle下载缓慢的问

python 3.8 的anaconda下载方法

《python3.8的anaconda下载方法》本文详细介绍了如何下载和安装带有Python3.8的Anaconda发行版,包括Anaconda简介、下载步骤、安装指南以及验证安装结果,此外,还介... 目录python3.8 版本的 Anaconda 下载与安装指南一、Anaconda 简介二、下载 An

Java下载文件中文文件名乱码的解决方案(文件名包含很多%)

《Java下载文件中文文件名乱码的解决方案(文件名包含很多%)》Java下载文件时,文件名中文乱码问题通常是由于编码不正确导致的,使用`URLEncoder.encode(filepath,UTF-8... 目录Java下载文件中文文件名乱码问题一般情况下,大家都是这样为了解决这个问题最终解决总结Java下

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择