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

你将学会

  • 用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.jpg


http://img2.moko.cc/users/16/4817/1445276/post/ed/img2_cover_9341164.jpg


http://img2.moko.cc/users/18/5415/1624793/post/ed/img2_cover_9342575.jpg


http://img2.moko.cc/users/14/4235/1270736/post/7e/img2_cover_9342712.jpg


http://img2.moko.cc/users/4/1337/401363/post/14/img2_cover_9346666.jpg


http://img2.moko.cc/users/18/5443/1632936/post/cf/img2_cover_9347694.jpg


http://img2.moko.cc/users/15/4631/1389322/post/0d/img2_cover_9351098.jpg


http://img2.moko.cc/users/3/1123/337162/post/6d/img2_cover_9325747.jpg


http://img2.moko.cc/users/0/15/4629/post/78/img2_cover_9351587.jpg


http://img2.moko.cc/users/0/17/5175/post/6b/img2_cover_9329001.jpg


http://img2.moko.cc/users/0/16/5037/post/67/img2_cover_9335332.jpg


http://img2.moko.cc/users/0/9/2952/post/b2/img2_cover_9343414.jpg


http://img2.moko.cc/users/0/55/16695/post/a1/img2_mokoshow_9337921.jpg


http://img2.moko.cc/users/15/4787/1436175/post/2d/img2_mokoshow_9289413.jpg


http://img2.moko.cc/users/21/6365/1909654/post/a3/img2_mokoshow_9210602.jpg


http://img2.moko.cc/users/15/4646/1394082/post/3e/img2_mokoshow_9196025.jpg


http://img2.moko.cc/users/21/6352/1905871/post/3b/img2_mokoshow_8797685.jpg


http://img2.moko.cc/users/15/4787/1436175/post/e0/img2_mokoshow_9351262.jpg


http://img2.moko.cc/users/21/6324/1897300/project/77/img2_mokoshow_9273297.jpg


http://img2.moko.cc/users/20/6153/1846107/project/de/img2_mokoshow_9174923.jpg


http://img2.moko.cc/users/21/6498/1949497/project/71/img2_mokoshow_9115531.jpg


http://img2.moko.cc/users/0/12/3604/project/88/img2_mokoshow_8170347.jpg


http://img2.moko.cc/users/12/3882/1164727/project/6b/img2_mokoshow_8797891.jpg


http://img2.moko.cc/users/20/6052/1815737/project/3d/img2_mokoshow_8299559.jpg


http://img1.moko.cc/users/6/1901/570354/logo/img1_des_4751873.jpg


http://img2.moko.cc/users/3/955/286676/logo/img2_des_9257459.jpg


http://img2.moko.cc/users/0/148/44474/logo/img2_des_8430030.jpg


http://img2.moko.cc/users/0/67/20175/logo/img2_des_9035655.jpg


http://img2.moko.cc/users/0/18/5503/logo/img2_des_9114555.jpg


http://img2.moko.cc/users/0/15/4629/logo/img2_des_9262920.jpg


http://img2.moko.cc/users/0/19/5932/logo/img2_des_9039246.jpg


http://img2.moko.cc/users/0/42/12745/logo/img2_des_8992854.jpg


http://img1.moko.cc/users/3/1181/354499/logo/img1_des_4966539.jpg


http://img2.moko.cc/users/0/36/10924/logo/img2_des_8566131.jpg


http://img1.moko.cc/users/3/1023/306970/logo/img1_des_1000989.jpg


http://img1.moko.cc/users/0/4/1476/logo/img1_des_7541033.jpg


http://img1.moko.cc/users/0/1/363/logo/img1_des_6695256.jpg


http://img1.moko.cc/users/2/626/187854/logo/img1_des_6211549.jpg


http://img2.moko.cc/users/12/3863/1158905/logo/img2_des_9332634.jpg


http://img2.moko.cc/users/21/6324/1897300/logo/img2_des_9202964.jpg


http://img2.moko.cc/users/15/4579/1373912/logo/img2_des_8423039.jpg


http://img2.moko.cc/users/20/6052/1815737/logo/img2_des_8005855.jpg


http://img2.moko.cc/users/19/5997/1799351/logo/img2_des_7965559.jpg


http://img1.moko.cc/users/12/3882/1164727/logo/img1_des_5806364.jpg


http://img1.moko.cc/users/18/5409/1622983/logo/img1_des_7618588.jpg

2014-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 scrapy

class 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 scrapy

class 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 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
此源码为了缩减内容不带任何图片数据,请搭建后自己采集或者录入,采集不会的话可以百度找一下采集程,,也可以直接去淘宝上找做采集的,价格也不是很贵! 本帖资源标签:WordPress自适应图片主题,主题模板,带会员积分下载系统 分类和标签添加筛选功能; 列表增加用户自定义排序功能,支持点赞和浏览数量排序; 优化二级菜单和三级菜单的css样式; 支持会员功能和用户中心模板; 支持第三方快速登陆(QQ和新浪); 新增单图模式,全新的图片浏览模式; 新增登陆、注册、找回密码三合一页面模板; 新增文章点赞排行榜页面; 新增AJAX列表加载功能; 新增广告投放面板; 支持点卡充值和点卡生成功能; 支持积分签到功能; 支持评论和投稿奖励积分功能; 支持积分开通会员功能(目前内置3个级别的会员); 支持积分下载资源和免费资源下载; 支持vip免费资源添加; 新增下载资源管理员和作者查看下载次数和校验资源功能; 支持文章前台投稿功能; 支持前台开启相对地址和绝对地址切换功能; 新增图片自动分页功能; 新增图片分页浏览模板; 新增后台列表显示缩略图和封面图片功能; 全新的SEO功能; 新增文章收藏功能; 新增文章顶踩功能(踩的按钮目前只在单图模式显示); 新增图片预加载功能; 幻灯片支持外链和自定义大图; 源码测试环境推荐php5.2/5.3/5.4Mysql 安装说明: 上传文件拿到网站根目录,直接安装即可,附带wordpress。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值