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

    2019-10

    动态IP与静态IP的区别在哪里?

    动态IP与静态IP的区别在哪里?要想弄明白这个问题,首先要了解一下IP地址是什么。

  2. 19

    2019-04

    优质代理IP对爬虫的影响

    大数据时代下,爬虫行业大肆发展,其技术日新月异,从业者如过江之鲫,数不胜数。说到爬虫,就不得不说到代理IP,代理IP是爬虫能够高速发展的基石,必不可少,没有代理IP,爬虫就像断了

  3. 04

    2019-11

    选择高质量代理ip需要考虑的5大因素

    选择高质量代理ip需要考虑的5大因素!如今代理ip的应用非常广,最近在跟多个爬虫采集的客户聊天中感悟到,无论互联网行业发展到何种地步,“资源”永远是任何互联网公司必不可少的弹药粮

  4. 09

    2019-05

    网络大数据爬虫为什么要使用IP代理?

    网络大数据爬虫为什么要使用IP代理?现如今大数据是很火热的行业,随着互联网的快速发展,大数据在很多方面都是得到应用,但是大数据信息的获得需要通过数据采集来实现。而爬虫工作者

  5. 03

    2019-05

    一键换ip软件哪个好

    一键换ip软件哪个好?相信大家应该都怕碰上类似的情况:网店虚假单子过多导致被封的可能、网站发布过多信息而造成的IP被封的危险、上网速度跟不上而抢不到自己打算购买的商品、这些难

  6. 28

    2019-06

    免费HTTP代理IP的不安全因素

    我们为什么选择使用免费HTTP代理IP?最大原因在于没有成本,但你真的了解免费HTTP代理IP吗?以下跟随小编了解下免费HTTP代理IP的不安全因素。当你用免费HTTP代理IP访问网站时,产生的所有访问