您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝

5b51 2022/1/14 8:25:05 python 字数 6096 阅读 780 来源 www.jb51.cc/python

爬图片比爬文字数据要好玩得多了,但是由于图片比文字所占内存更大,所以所耗的时间会多一些,因此可以尝试使用多线程爬虫来爬取网站的图片。

概述

图片比爬文字数据要好玩得多了,但是由于图片文字所占内存更大,所以所耗的时间会多一些,因此可以尝试使用多线程爬虫来爬取网站的图片

大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝

大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝

大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝

再来看看页面页码的元素:

大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝

获取的是总页面数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哦!要源码也私信吧!

总结

以上是编程之家为你收集整理的大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝全部内容,希望文章能够帮你解决大二学生看到班级群老斗图!他爬了十万张表情包!获得称号斗图帝所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶