注意: IP代理精灵仅提供国内ip网络节点,不提供境外网络节点,不能用于任何非法用途或访问境外封闭网站,不能跨境联网,只能用于合法的国内网络加速。

请登录 注册 实名验证

首页 > 新闻资讯 > 大量采集数据,爬虫如何运用多线程?

大量采集数据,爬虫如何运用多线程?

来源:互联网 作者:admin 时间:2019-01-29 17:55:57

一般使用到爬虫的项目,需要抓取的任务量并不低,但靠单线程是无法满足抓取的效率,于是爬虫通过使用代理IP,多IP的使用,采用多线程的方法来大量抓取数据,这爬虫如何运用多线程呢?


Thread使用方法为:


大量采集数据,爬虫如何运用多线程?


threading.Thread(target=线程运行的函数,args=(参数)) 其中参数用逗号分隔,并以逗号结尾。


随后使用start启动。


运行结果如下:


大量采集数据,爬虫如何运用多线程?


可以看到五个线程同步运行,因sleep设置的时间相同,所以也同步结束。


但有一个缺点是第16行代码在五个线程启动后随即也就运行了,相当于此时主线程已经结束了而那五个子线程还在运行。


控制策略有两个


在start之前把子线程设置为守护线程


修改代码如下:


大量采集数据,爬虫如何运用多线程?


运行结果如下:


大量采集数据,爬虫如何运用多线程?


子线程在主线程结束的时候也同步结束,未运行的部分也就不再运行了。


在主线程中使用join,让主线程挂起等待子线程结束


修改代码如下:


大量采集数据,爬虫如何运用多线程?

大量采集数据,爬虫如何运用多线程?


从运行结果可以看到主线程停留在t.join()的位置,一直等到五个子线程全部结束后才开始继续向后运行。


以上就是需要用到的threading模板里所有的东西了。


在整理好需要处理的数据列表后,我们只需要将列表分段分别交给不同的线程来处理,主线程等待所有数据处理完毕之后再进行下一步操作,如下:


大量采集数据,爬虫如何运用多线程?


运行结果如下:


大量采集数据,爬虫如何运用多线程?


综上可知,爬虫如何运用多线程的方法,五个线程分步处理各自被分配到的数据,总体运行时间大幅缩减。当然机器给力的话,可以增加线程数,得到更快的速度。


最新资讯

推荐阅读

  1. 20

    2019-05

    代理服务器的作用是什么?怎么设置?

    关于代理服务器以及代理服务器的作用,很多人都可能了解的似是而非,能了解一点,却不并不是很透彻。那么,今天,小编就来讲一讲代理服务器的作用是什么以及怎么设置这两个问题。问题

  2. 01

    2019-06

    效果补量用代理IP安全吗

    随着互联网的不断发展,广大网民朋友对代理IP的认识也越来越多,尤其是做效果补量的用户,工作中简直离不开代理IP。但不可否认的是,很多人对于代理IP上网是否安全还是心存疑问,经常在

  3. 06

    2019-09

    代理IP的类型及使用原理

    代理IP的类型及使用原理。随着电商经济和自媒体行业的发展,代理IP的市场需求越来越大,知道代理IP的人越来越多了,不管是单纯的换IP,还是进行大量的数据采集,或者是游走于灰色之中,

  4. 29

    2018-12

    爬虫爬数据有痕迹么?如何不露痕迹的爬取到数据呢?

    很多行业都用到爬虫,通过爬虫来大量的爬取各种数据,进行数据的分析,并挖掘到有价值的信息,但你去别家网站爬取这些信息,别人不一定给你啊。况且你去爬取信息,还对网站有影响.

  5. 27

    2019-08

    哪个动态ip服务商拥有大量代理IP资源

    哪个动态ip服务商拥有大量代理IP资源?在当前的网络中,有很多代理IP的网站,并且有很多软件提供代理IP。在选择时,我们需要考虑一些因素。那么有什么因素呢?让我在下面详细解释。首先

  6. 24

    2020-08

    如何高效使用代理IP

    如何高效使用代理IP?代理服务器在实际应用中发挥着非常重要的作用,不仅可以代理网络用户去获得网络信息,还具有内容过滤、访问控制管理等功能。代理服务器就像是客户端与目标网站的“