[复习笔记]---多线程爬虫,大致介绍
本帖最后由 Stubborn 于 2019-9-30 00:04 编辑多线程爬虫
这里是简单的介绍如何如何使用线程爬虫,有关线程的介绍可以参考帖子多任务篇章之线程篇
为什么采用多线程爬虫
`requests.get()`、`requests.post()`等都是阻塞式的网络请求,也就是说,这些操作在未收到响应之前,会一直等待响应返回,直到返回响应后才会执行下一步,这时整个程序就发生了“阻塞”。
这种阻塞在较少的请求中是无关紧要的,但是在大批量的请求中,阻塞造成的时间就会被放大。所以不得不考虑采用更加高效的方式。
更好的做法:在程序处于等待状态的时候,让程序做其他事情。
线程使用demo
**** Hidden Message *****
另外怎么使用生产消费模型来使用爬虫,可以参考这个链接
基于生产消费者模型的线程爬虫
在使用线程爬虫时候,应该额外注意全局变量在多个线程的共享。
比如你把线程采集到的信息保存到一个文件。处理不善会导致数据混乱。 2
谢谢 看看 学习学习 take a look 学习了 if self.get_url_queue.empty()里的这个empty()什么意思呢? 弱弱的佳佳 发表于 2019-10-12 15:32
if self.get_url_queue.empty()里的这个empty()什么意思呢?
判断队列任务是否为空,get_url_queue这个队列里面还有没有任务 学到了
1
{:10_277:} 看啦 33 想看 多线虫爬虫 学习了 我就想知道。。怎么能快速套用这个 多线程爬虫。。
比如说,,, 我自己只有 普通的爬虫代码。怎么能套进去用呢 要学习 发表于 2020-1-31 22:37
我就想知道。。怎么能快速套用这个 多线程爬虫。。
比如说,,, 我自己只有 普通的爬虫代码。怎么能 ...
上面有例子,还有https://fishc.com.cn/forum.php?mod=viewthread&tid=130187&page=1#pid3740670这个也可以参考 学习一下demo
页:
[1]
2