python爬虫

用python爬虫是一件非常使人愉快的事情,图片、数据、小视频一切皆可爬取,可是我们会经常发现下载图片的时候会非常慢,难以忍受。

PS注意

注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个Python全栈免费答疑.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步!

我们都知道一个人做事必然没有十个人做事快,那一个进程速度慢,用十个进程就好了呀。所以今天要跟大家分享一个多进程爬虫的制作。(GIL的存在导致Python的多线程点有坑)

大家应该知道在多进程中,进程之间是不能相互通信的,这就有一个问题出现了!多个进程怎么知道哪些需要爬取、哪些已经被爬取了?

这就涉及到队列了,如果需要更为稳定健壮的队列,应该使用Celery这一类的专用消息传递工具,不过为了简便,这次我们使用MongoDB。

构建思路

好了!先来理一下思路:每个进程需要知道哪些URL爬取过了、哪些URL需要爬取!我们来给每个URL设置两种状态:

outstanding:等待爬取的URL

complete:爬取完成的URL

那么失败的URL的怎么办呢?我们在增加一种状态:

processing:正在进行的URL

嗯!当一个所有初始的URL状态都为outstanding;当开始爬取的时候状态改为:processing;爬取完成状态改为:complete;失败的URL重置状态为:outstanding。为了能够处理URL进程被终止的情况、我们设置一个计时参数,当超过这个值时;我们则将状态重置为outstanding。

接下来看代码部分

首先我们需要一个模块:datetime(这个模块比内置time模块要好使一点)

下面是队列的代码:

代码1

代码2

代码3

好了,队列我们做好了,下面是获取所有页面的代码。

下面就是多进程+多线程的下载代码了:

好啦!一个多进程多线的爬虫就完成了。(其实可以设置一下MongoDB,然后调整一下连接配置,在多台机器上跑哦!!嗯,就是超级简化版的分布式爬虫了,虽然很是简陋。)

大家可以参考上面代码,单独处理图片地址试试(就是多个进程直接下载图片)应该八分钟能下载100套图~

当然还有一种加速的方法叫做“异步”!因为爬虫大部分时间都是在等待response中!‘异步’则能让程序在等待response的时间去做的其他事情,当然也会复杂许多。另外要注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃。为此小编建了个Python全栈免费答疑.裙 :七衣衣九七七巴而五(数字的谐音)转换下可以找到了,不懂的问题有老司机解决里面还有最新Python教程项目可拿,,一起相互监督共同进步!

本文的文字及图片来源于网络加上自己的想法,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

python美女源代码_python程序员爬取百套美女写真集,同样是爬虫,他为何如此突出...相关推荐

  1. Python程序员爬出百套美女写真集,同样是爬虫,他为何如此突出?

    相关阅读:一个90后员工猝死的全过程 前言 人生苦短,Python当歌! python爬虫 用python爬虫是一件非常使人愉快的事情,图片.数据.小视频一切皆可爬取,可是我们会经常发现下载图片的时候 ...

  2. python爬虫高级知识分子的风骨_Python程序员爬取《万物理论》10万影评,带你解读霍金的有趣故事...

    相信昨天的Breaking news(爆搜)是本世纪伟大的物理学家霍金辞世,享年76岁.小伙伴肯定知道霍金的故事肯定很励志,他是智商肯定不是常人能及的,因为他的引领,不断的拓宽了人类对宇宙的认识. 作 ...

  3. python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家

    首先,神枪镇楼 python程序员爬取分析20万场吃鸡数据,带妹吃鸡,终成人生赢家 吃鸡,撩妹神器 吃鸡游戏受到很多年轻人的喜爱,用户量也非常大.有很多地图,场景逼真,技术玩法,增加了游戏可玩性.而且 ...

  4. python黑客库长安十二时辰 更新_程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!...

    该剧总体评价如何? 优酷给<长安十二时辰>打出了8.8的高分(首播时为9.0分).该剧在豆瓣.IMDB.时光网等平台分别收获了8.6.8.5.8.4分,这足以说明该剧总体评价还是不错的. ...

  5. python刷新页面_Python模拟浏览器爬取天猫信息

    由于工作需要,需要提取到天猫400个指定商品页面中指定的信息,于是有了这个爬虫.这是一个使用 selenium 爬取天猫商品信息的爬虫,虽然功能单一,但是也算是 selenium 爬虫的基本用法了. ...

  6. 程序员爬取 5000+ 口红数据,差点比女朋友更懂口红?

    作者 | YaJie 来源 | Giao数据 责编 | 王晓曼 摘要:本文以"口红"为关键字,爬取了[1]淘宝与天猫官网下100页口红数据,经过去重,得到共计4353条口红商品信息 ...

  7. 程序员爬取 5000+ 口红商品数据,差点比女朋友更懂口红?

    作者 | YaJie 来源 | Giao数据 责编 | 王晓曼 摘要:本文以"口红"为关键字,爬取了[1]淘宝与天猫官网下100页口红数据,经过去重,得到共计4353条口红商品信息 ...

  8. 如何用python破解热点_Python程序员:没有我蹭不成功的网。教你如何愉快的蹭到WIFI?...

    想象一下,程序员没有WIFI会怎样? 程序员没有网络肯定会寸步难行! 但是对于 想要WIFI破解,python+字典,这是必少不了的.热点加弱口令也是核心.字典自己加精,你的字典有强大,你能破解的WI ...

  9. pyquery获取不到网页完整源代码_python动态网页爬取:爬取pexel上的图片

    前言 同样的,我们在写一个爬虫前要明确自己想要爬取的东西是什么,明确下载目标数据在浏览器的操作如何 对于动态网页的爬取,在网页地址不变的情况下,我们首先要明确如何获取AJAX请求 首先我们看看这个网站 ...

  10. 程序员爬取 3 万条评论,《长安十二时辰》槽点大揭秘!

    作者 | Alfred Wu 责编 | 伍杏玲 本文经授权转载自Alfred数据室(ID:Alfred_Lab) 最近,悄悄上线的<长安十二时辰>在朋友圈被吹爆了:年度最佳古装剧.服道化精 ...

最新文章

  1. Hibernate:映射文件元素属性说明
  2. 转载、Python的编码处理(二)
  3. CQ:clearquest
  4. 支付宝的一些小问题,注意事项等等,等用得时候在来写写
  5. 深度学习主机攒机小记
  6. cocos2dx进阶学习之场景切换
  7. ORA-28002 the password will expire
  8. WORD里边替换所有中文
  9. [GIS教程] 6.1空间数据采集与处理具体步骤
  10. MAC dmg转ISO 及命令安装启动U盘
  11. JS判断数组是否相同
  12. 8、ESP8266 深度睡眠
  13. 0723数组复习 堆区 动态数组
  14. CentOS安装Nacos后,输入默认用户名和密码nacos/nacos,提示“用户名或密码错误”
  15. 2017-10-23学大伟业Day1
  16. NXP-MPC5748G车载MCU使用(食用)方法(踩坑)实用指南(骗人教程)(三):MATLAB/SIMULINK生成代码给MPC5848G嵌入式处理器运行
  17. 什么是DBMS,DB,DBMS?
  18. 官方通报:kissreiko博文因涉嫌诈骗广告 将永久封号
  19. 在sqli-liabs学习SQL注入之旅(第二十一关~第三十关)
  20. 电脑翻译软件-在线电脑实时翻译软件

热门文章

  1. 飞思卡尔K60最小系统设计板方案
  2. 【认知femto】femtocell的认知无线电频谱感知算法性能仿真
  3. BZOJ2525: [Poi2011]Dynamite
  4. H5互动游戏营销方案策划
  5. IE缓存文件提取器 V2.1 绿色版
  6. 路遥《平凡的世界》读后感
  7. (带手机版数据同步)高等院校学院学校类网站源码 政府单位学院学校网站织梦模板
  8. 编写内核驱动加载工具
  9. SDCMS1.3.1 发布插件
  10. android 手机主题制作,怎么制作手机主题?