煎蛋网!老司机都知道的网站!几行代码全站爬取…
2018-08-05 07:51:33来源:博客园 阅读 (1026)

煎蛋妹子图网站


进群:125240963 即可获取数十套PDF哦!私信02还是03即可获取源代码呢!


正所谓妹子驱动学习,今天就给大家详细解析下我是如何一步步的完成妹子图片的抓取。
爬取结果




目标站点分析
首先要对目标网站进行结构分析,看看它的网页结构是如何,以及网页返回的数据是什么,是否有反爬机制,有些数据是否是通过 js 进行渲染,是否要进行翻页等等。

通过谷歌浏览器的开发者模式可以看到,网站的返回结果里是一堆 html 代码,但并没有我们想要的图片链接信息。如果你用常规的 requests 进行请求,返回的数据是不会有我们想要的图片信息。

图片信息提取

随后就可以利用 beautifulsoup 这个解析库进行解析,把想要的信息提取出来。在这里我们需要的是图片信息,所以我通过 select() 函数进行提取,代码如下:

解析源代码
当前进度条

为了控制程序爬取的次数,我们就需要找到一些条件来进行判断。一般的网站是会返回总的条数,但这次的网站通过观察并没有返回总条数的信息。并且在最开始进入妹子图板块,上方是没有进度条信息。
但当点击下一页的时候,网站就有显示出当前的进度条。


下一页链接

进一步的观察我们可以看到,下一页的链接地址,是保存在 a 标签当中,所以我们获取到 a 标签的内容,我们就有了跳转的能力,就可以爬取下一页的内容。对应的代码如下:


优化改进
本次的程序还有一些不足的地方,比如利用 selenium 库在解析的时候非常的慢,这部分是可以优化的。还有程序在爬取到 80.6% 的时候,程序报错了,并没能把图片全部爬取完。这就说明还有一些情况,我没有考虑到。有待以后进一步优化。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 1.关于Python,你可能不知道的 2019-07-24
- Python爬虫-字体反爬-猫眼国内票房榜 2019-05-17
- POST一下就知道:人生苦短,我用Python! 2019-04-11
- 作为python新手你应该知道的编程技巧! 2019-03-13
- 用Python复制文件的九种方法!你知道哪几种? 2019-03-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash