如果我们需要采集的网页比较多,可以使用多线程,同时使用代理IP来辅助,这样可以加快我们采集的速度,这是非常不错的方法。那么大家知道多线程怎么运用吗?对于多线程的使用技巧,其实是比较简单的,通常只需要使用到Python中的threading模板,我们可以找到Thread来控制多线程。
举个例子:
Thread使用方法为:
threading.Thread(target=线程运行的函数,args=(参数)) 其中参数用逗号分隔,并以逗号结尾。随后使用start启动。运行结果如下:
在上图,我们可以看到五个线程同步运行,因sleep设置的时间相同,所以也同步结束。
但有一个缺点是第16行代码在五个线程启动后随即也就运行了,相当于此时主线程已经结束了而那五个子线程还在运行。这该怎么办呢?我们有两个控制策略:
策略一:在start之前把子线程设置为守护线程
修改代码如下:
运行结果如下:
子线程在主线程结束的时候也同步结束,未运行的部分也就不再运行了。
策略二:在主线程中使用join,让主线程挂起等待子线程结束
修改代码如下:
从运行结果可以看到主线程停留在t.join()的位置,一直等到五个子线程全部结束后才开始继续向后运行。
以上就是需要用到的threading模板里所有的东西了。
综合上文,我们可以进行修改,整合数据,把列表分段分别交给不同的线程来处理,主线程等待所有数据处理完毕之后再进行下一步操作,如下:
五个线程分步处理各自被分配到的数据,总体运行时间大幅缩减。若是机器给力的话,可以增加线程数,得到更快的速度。
但也不能无限增加,需要根据当前设备进行控制,而且要注意线程死锁的情况,避免出现线程死锁问题。关于多线程的问题,就了解到这里,要注意多线程需要配合代理IP使用,否则也是无法达到效果的,使用代理IP,推荐黑洞代理,还是不错的,蛮多人在使用。
相关文章内容简介
1 多线程使用方法:Python中Thread可以控制多线程
如果我们需要采集的网页比较多,可以使用多线程,同时使用代理IP来辅助,这样可以加快我们采集的速度,这是非常不错的方法。那么大家知道多线程怎么运用吗?对于多线程的使用技巧,其实是比较简单的,通常只需要使用到Python中的threading模板,我们可以找到Thread来控制多线程。举个例子:Thread使用方法为:threading.Thread(target=线程运行的函数,args=(参数))... [阅读全文]
最新标签
推荐阅读
08
2019-01
羊毛党怎么赚钱的?羊毛党用什么换IP工具好?
很多商家在前期都会投入大笔的营销推广费用,进而推出各种优惠活动,羊毛党就是通过参加这么活动获得利益。虽然单个账号获得利益少,但是通过多账号的操作,也是可以积少成多的.
12
2019-02
代理IP软件能够自动换IP地址吗?
当我们需要隐藏自己的IP地址,或者是使用其他的IP地址进行访问时,都是需要进行IP地址的更换。但是大家都嫌弃手动更换IP地址太麻烦,那么有没有可以自动更换IP地址的软件呢?
05
2019-01
怎么换IP做兼职赚钱?一个使用代理IP的方法
互联网高速发展之下,网络兼职也成了很多人赚钱的一种方式。现如今,越来越多的人士纷纷加入到网赚行业中,一来可以增加收入,二来兼顾一些处于特定阶段的人群,例如孕妇、在职人员、
21
2019-06
国内最新代理IP是反爬虫的最佳选择
网络爬虫在如今的互联网领域有着特别的意义,比如我们耳熟能详的大数据,它的发展就离不开网络爬虫。然而网络爬虫也是有天敌的,在操作过程中要时刻做好反爬虫准备,避免办法有很多,
热门文章
公众号
关注公众号,免费领试用