python 爬取图片(2)

本次对上一个程序优化了:

1)URLPOOL使用了queue模块的Queue,控制 池的大小为50,支持多线程,下载速度更快,线程同步问题也得到解决

2)使用了异常处理机制

3)代码可读性提高

4)线程并发行增加。这个爬虫中使用两类线程:@解析线程:对每个主题目的url 进行图片地址解析@下载线程:每张图片都使用一个下载线程。限制了解析线程个数为5


使用模块,全局变量


请求头造函数


geturl()


putpool()
parsepage()


download()


总结:

1)parsepage() 函数名不副实,只是提取了页面的的图片地址,大部分解析任务都式gerurl()解析的

2)geturl() 只是解析了图片标题,对图片张数没有解析,

3)致命,程序重复解析url,parsepage()解析图片地址的时候会反复发错get请求(一张图片一个),造成巨大巨大浪费。观察图片地址,它们是有规律的,也就是说图片地址集合是可以再本地产生的!!!(解决这个问题理论上提速30倍?)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Markdown常用语法 加粗 斜体 删除线 加一个星号或下划线为斜体 *test* 或 _test_ 效果: t...
    卜卜星阅读 4,466评论 3 7
  • 一. 她在17岁那年做过一个梦,梦里她在一座南方的小城迷了路,孤身一人,不知该往哪里去。 她站在路 ,望着陌生的行...
    L_Renee阅读 3,325评论 0 0
  • 运营是什么啊,这是我一开始的反应。从黄老师《运营之光》了解到三节课,并且报名了运营这门课,门外汉在懵懵懂懂中...
    小雪飘呀飘阅读 876评论 0 0
  • 当人生活在自主选择的时间和空间里面的时候,可能觉得当下最重要的是去体验和生活,反而忘却了要去记录。好像个贪吃的小孩...
    WEI_曹蕾阅读 1,144评论 0 1

友情链接更多精彩内容