注意: 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. 15

    2019-01

    用途广的IP代理,哪个IP代理更稳定?

    IP代理用途越来越广,即使新手也是知道免费的IP代理是非常不稳定的,也可以说其IP稳定性是非常非常低的,很多项目都不能直接使用,即使要使用免费IP代理,也需要进行有效性检测之后才能

  2. 18

    2019-05

    使用代理ip有什么好处

    现在,高匿代理ip时代已经到来,但是,还是有很多人不了解高匿代理ip到底有什么用,虽然随着网络科技的发展,网络对我们的生活带来了很多方便,也带来了更多的选择。使用高匿名代理IP,

  3. 15

    2019-02

    用代理换IP后,还能查到我的地址吗

    使用代理是可以更换上网的IP地址,访问的服务器可以只记录代理IP地址,不能看到我使用的IP地址,这样别人还能查到我的地址吗?

  4. 29

    2019-05

    代理IP如何选择

    在现在的网络上,代理IP的网站是有很多的,也有很多软件提供代理IP,在选择的时候,我们需要考虑一些因素。那么,因素有哪些呢?下面给大家详细讲解代理IP如何选择。首先要看一看IP资源

  5. 08

    2019-01

    中国代理ip软件排行,大家有使用过哪些代理IP?

    代理IP是一款可以更换IP的工具,是许多人工作的辅助工具。也许你不知道什么是代理IP,这是因为你没有了解这个一款什么样的工具,代理IP可以很好的突破各平台的IP限制。

  6. 09

    2019-01

    怎么批量获取IP地址?免费IP地址有效吗?

    现实中,大家使用的IP地址,大多数都是动态的IP,因为IP资源稀缺,想要获取大量的IP是一件难事,但如果工作需要使用大量的IP地址,这该怎么办啊。你知道怎么批量获取IP地址吗?

在线客服
大客户VIP渠道
点击这里给我发消息
讨论QQ群
HTTP代理IP爬虫
客服电话
13318873961