煎蛋网!老司机都知道的网站!几行代码全站爬取!源码给你!
煎蛋妹子图网站
进群:125240963 即可获取数十套PDF哦!私信02还是03即可获取源代码呢!
正所谓妹子驱动学习,今天就给大家详细解析下我是如何一步步的完成妹子图片的抓取。
爬取结果
目标站点分析
首先要对目标网站进行结构分析,看看它的网页结构是如何,以及网页返回的数据是什么,是否有反爬机制,有些数据是否是通过 js 进行渲染,是否要进行翻页等等。
通过谷歌浏览器的开发者模式可以看到,网站的返回结果里是一堆 html 代码,但并没有我们想要的图片链接信息。如果你用常规的 requests 进行请求,返回的数据是不会有我们想要的图片信息。
图片信息提取
随后就可以利用 beautifulsoup 这个解析库进行解析,把想要的信息提取出来。在这里我们需要的是图片信息,所以我通过 select() 函数进行提取,代码如下:
解析源代码
当前进度条
为了控制程序爬取的次数,我们就需要找到一些条件来进行判断。一般的网站是会返回总的条数,但这次的网站通过观察并没有返回总条数的信息。并且在最开始进入妹子图板块,上方是没有进度条信息。
但当点击下一页的时候,网站就有显示出当前的进度条。
下一页链接
进一步的观察我们可以看到,下一页的链接地址,是保存在 a 标签当中,所以我们获取到 a 标签的内容,我们就有了跳转的能力,就可以爬取下一页的内容。对应的代码如下:
优化改进
本次的程序还有一些不足的地方,比如利用 selenium 库在解析的时候非常的慢,这部分是可以优化的。还有程序在爬取到 80.6% 的时候,程序报错了,并没能把图片全部爬取完。这就说明还有一些情况,我没有考虑到。有待以后进一步优化。
上一篇: 实验用数据库内容
下一篇: for,while陈述