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

    2019-10

    为什么要使用代理ip?免费代理IP有哪些隐患?

    为什么要使用代理ip?免费代理IP有哪些隐患?很多人会问,代理ip是什么,我们为什么要使用代理ip?网络世界充斥着各种欺诈,信息泄露。也许您上网时会非常小心谨慎的查验广告并验证链接,但

  2. 23

    2019-09

    最新国内HTTP代理IP哪里找

    最新国内HTTP代理IP哪里找?近年来,随着互联网不断发展,人们对代理IP的需求也日益增多。但是在哪里能找到最新国内HTTP代理资源,成了众人忧虑的事情。大数据时代背景下,应用到代理IP的行

  3. 10

    2019-07

    如何使用浏览器设置代理IP上网

    在日常上网或者工作上网时,我们有时候希望隐藏自己电脑的IP,出于隐私保护,又或者是突破地域的访问限制,抑或是申请很多账号……总之这些都需要通过使用代理IP来解决。那么就有很多

  4. 24

    2019-06

    什么是代理IP?代理IP有什么功能特点?

    作为一个互联网工作者,在工作中难免碰到一些这样的问题:如果你是一名淘宝店主,你可能会担心刷单太多被发现惨遭封店;如果你是一名网络推广员,你可能会担心发帖太多导致IP地址被屏

  5. 13

    2019-04

    为什么群发邮件必须换IP?

    为什么群发邮件必须换IP?首先我们先来讲讲电脑IP是什么?说简单点这是你电脑的姓名,我们现在用的网络大多数是动态IP,断开重新连接后就会换另外一个IP。明白IP的简单原理后,我们再来

  6. 04

    2019-06

    如何能够买到便宜好用的代理服务器

    互联网的蓬勃发展带动很多企业都做起了线上的业务活动,甚者有的企业建立了站群,那么做站群就需要购买一个站群专用服务器。而购买到一个便宜低价又好用的香港站群服务器可谓是每一个