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

    2019-06

    换IP工具派克斯和PPTP的区别

    我们都知道PPTP和派克斯都是可以换IP的工具,那么他们之间究竟有什么样的区别呢?派克斯华科云商是装在电脑的软件,用来进行本地拨号,是VPN的一种,用于电脑端,是使用ADSL拨号的方式来

  2. 20

    2018-12

    爬取不了,又被封了,反爬虫机制怎么突破?

    现在网络用户数量非常多,即使如此,网络上大部分的流量也不是用户浏览的,反而是机器人,前几年机器人占互联网访问的比例就已经超过了60%,但这些流量大部分都不能为网站创造利益...

  3. 17

    2019-09

    IP代理为什么会受欢迎,有什么功能?

     IP代理为什么会受欢迎,有什么功能?如今ip代理使用越来越广。如果网络营销人员因为工作性质的原因,才使用IP转换的工具的话,算是一种正常的现象。但是,笔者最近发现IP代理软件在生活

  4. 04

    2020-02

    Python爬虫经常被封的原因

    Python爬虫经常被封的原因!如果你一直被网站封杀却找不到原因,那么这篇文章获取能帮助到你。今天ip代理精灵小编重点给大家讲一下,网络爬虫被封的常见原因。

  5. 29

    2019-10

    快速掌握HTTP代理协议的技巧

    快速掌握HTTP代理协议的技巧!如何快速掌握HTTP代理协议?相信这是每个想要了解代理人心中最想收获的干货。HTTP 协议极其庞杂,它影响着浏览器、爬虫、代理服务器、防火墙、CDN、Web 容器、微

  6. 21

    2019-05

    动态代理ip可以获取哪些信息

    随着互联网的飞速发展,各行各业都逐渐应用了大数据,通过数据的变化,可以知道行业发展情况,并做出调整,那么企业利用代理ip让爬虫采集什么数据?毕竟数据并不一定都能产生价值的,