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

    2019-02

    爬虫使用免费代理和付费代理的区别

    大家对免费代理和付费代理有什么印象,二者最大的区别是什么呢?最简单的就是价格问题,很明显一个不用花钱,一个要花钱。大部分的人在使用代理IP之前,估计都是想先尝试下使用免费的

  2. 06

    2019-06

    高质量代理ip资源去哪里买

    高质量代理ip资源去哪里买?虽然说购买到高质量代理ip资源非常容易,毕竟这些年代理ip市场的发展越来越快,各种各样的代理ip都能够满足人们各类的需求,无论是工作所需还是日常生活无一

  3. 11

    2019-06

    http代理与SOCKS5代理的区别

    相信很多从事互联网工作的朋友对于http代理与SOCKS5代理都不陌生,那你知道http代理与SOCKS5代理的区别吗?下文为大家详细讲解。HTTP代理:能够代理客户机的HTTP访问,主要是代理浏览器访问网

  4. 10

    2019-06

    windows平台HTTP代理服务器搭建

    HTTP代理是最经典最常见的代理协议。其用途非常广泛,普遍见于公司内网环境,一般员工都需要给浏览器配置一个HTTP代理才能访问互联网。今天我们来学学windows平台HTTP代理服务器搭建的具体

  5. 30

    2019-05

    免费的IP代理有什么缺点

    市面上免费代理IP那么多,为什么还有人愿意花钱使用付费代理IP?免费的IP代理有什么缺点?下面由小编带大家简单分析一下。第一、免费代理IP传送信息不安全。使用免费代理IP,数据会先进

  6. 24

    2019-04

    为什么说免费代理IP最昂贵

    免费的东西往往最受欢迎,不管是线下或者线上,不管是实物还是虚拟物,只要是免费的,往往大部分人都要去尝试下,毕竟是免费的,试试又不用钱。正是基于此心理,很多朋友都能接受免费

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