首页常见问题正文

写爬虫应该用多线程还是多进程?为什么?

更新时间:2023-03-13 来源:黑马程序员 浏览量:

IT培训班

  多进程爬虫一般也被视为分布式爬虫的基础,在单机上可以使用。通常来说大型网站采用分布式来部署服务器,能够采用多进程同时间在不同的服务器上进行爬取。

  多线程爬虫的优势如下:

  1)有效利用CPU时间。

  2)针对没有反爬虫限制的网站,下载速度可以多倍增加。

  3)极大减小下载出错、阻塞对抓取速度的影响,整体上提高下载的速度。

1678675089247_写爬虫用多线程还是多进程?.jpg

  局限性:

  1)对编码要求更高,复杂度也随之上升。

  2)针对存在反爬的网站,速度提升有限。

  3)线程之间的资源竞争更加激烈。

  4)线程越多,每个线程获得的时间就越少,同时线程的切换更频繁也带来额外的开销。

  在实际的数据采集过程中,既考虑网速和响应的问题,也需要考虑自身机器的硬件情况,来决定设置多线程或者多进程。因此,如果需要爬取的数据任务量很大,那么可以考虑多进程+多线程的机制。先创建多个进程完成不同的任务,然后每个进程内部再创建多个线程,最后完成需要爬取到的数据。

分享到:
在线咨询 我要报名
和我们在线交谈!