欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

程序员文章站 2022-07-03 23:52:42
准备工作 工具:Python3.6、pycharm 库:requests、re、time、random、os 目标网站:妹子图(具体url大家自己去代码里看。。。) 在写代码之前 在我们开始写代码之前,要先对网站进行分析,重点有这个几个地方: 1、先判断网页是否静态网页,这个关系我们采用的爬虫手段! ......
小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

准备工作

工具:Python3.6、pycharm

库:requests、re、time、random、os

目标网站:妹子图(具体url大家自己去代码里看。。。)

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

在写代码之前

在我们开始写代码之前,要先对网站进行分析,重点有这个几个地方:

1、先判断网页是否静态网页,这个关系我们采用的爬虫手段!

简单的说,网页中的内容,在网页源代码中都可以找到,那么就可以断定,这个网站是静态的了;如果没有找到,就需要去开发者工具中查找,看看是抓包呢还是分析js结构或者其他的方式。

2、看看网页的结构,大致清楚抓取目标数据,需要几层循环,每次循环的方式,以及是否保证没有遗漏!

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

开始写代码

首先是导入上述的各种库,没有的需要安装一下!然后写入以下几行代码获取网页源代码看看是否有反爬:

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

全部在a标签的属性中,那么我们可以用一行代码获取了

infos = re.findall(r'a href="(http://www.meizitu.com/.*?html)" target="_blank" title="(.*?)" ',html.text)

这里用正则匹配,2个括号中的内容就是我们需要的url和名字了,然后开始构建循环遍历所有的分类

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

上一步取出的infos是列表,而且每一个元素都是一个元组,格式为(url,名字),所有我们用2个元素去遍历infos,来获取我们需要的内容,先打印下看看结果是否正确!

这里先不创建文件夹,先进行下一步,访问分类的url,然后开始构建分类中的页码吧!分析网页发现,所有的页码都在下方,但是还是稍有不同:没有当前页、多了下一页和末页

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

由于存在图集不足一页的情况(上述源代码就不会出现),所以我们这么处理循环

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

循环所有的url,获取所有图集的url列表,27行没有用encoding指定编码是因为这里我不需要取到中文的内容,所以简写了一下!终于该取图片了!

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

图集的title和图集内所有图片的url都取到了!其实到这里就已经完成了爬虫的80%了!剩下的20%就是保存图片到本地,这里就不多说了,给大家提供2个代码片段,一个是新建文件夹并判断是否存在,一个是剔除字符串内不符合命名要求的字符

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

最终完整代码和运行效果

在请求中加入了时间模块的暂停功能,不加入的话可能会被网页拒绝访问!

在最后请求图片地址的时候,需要加入UA来告诉服务器你是浏览器而不是脚本,这个是最常用的反爬手段了

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

下载一段时间后的效果

小白福利!跟着我的脚步!老司机带你爬取整站妹子图!反爬不存在 繁华落尽and曲终人散 2018-07-14 14:01:47

 

相信大家应该也做出你自己的脚本了吧!有什么问题也可以在评论区或者私信发消息哦!

进群:125240963   即可获取数十套PDF哦!