大二学生看到班级群老斗图!他爬了十万张表情包…
2018-07-18 01:15:48来源:博客园 阅读 ()
爬图片比爬文字数据要好玩得多了,但是由于图片比文字所占内存更大,所以所耗的时间会多一些,因此可以尝试使用多线程爬虫来爬取网站的图片。
再来看看页面页码的元素:
要获取的是总页面数1690,则找到下图它的定位元素:
用BeautifulSoup的css路径选择器根据它的css路径定位:
分析完了就可以写代码了。整理下思路,由于python的线程数量有限,大概最多也只能有1000个左右的线程。
在我的代码中,每次爬10页(用了10个线程),每一页里有68张图片(用68个线程),所以一共680个线程。总共有1690页,114920张图片,创建10万个线程是不可能的了。所以便用这680个线程去爬这11多万张图片。每次爬10页,分169次爬完。
这些图片中有一些图是gif图,gif图就不爬了,所以在获取图片链接的时候只获取jpg结尾的链接。除去gif图我们要爬的图片大概有9万多张。
程序执行过程的截图:
程序执行到最后,会再次下载之前下载失败的图片,重新成功下载了3张,有4张还是下载失败了。一共爬了91667张,用时2757s,也就是46分钟就爬完了,在白天测得的这个速度还是可以的,若是在晚上校园网渣网速超级慢的情况下,经过测试得花上2个小时。
查看记录失败信息的txt文件:
看看爬到的图片:
再放一张比较应景的图:
最后放全部的代码:
把程序中的.jpg改成.gif就能爬取gif动图啦~
进群:125240963 即可获取数十套PDF哦!要源码也私信吧!
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python 基础学习笔记(1) 2019-07-24
- python关于入参中,传入的是指针还是引用 2019-07-24
- 学生信息系统(json模块解决数据持久化) 2019-04-30
- 0424作业 2019-04-25
- 小白对异步IO的理解 2018-11-20
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