如何在一个进程中启动多个爬虫
donneyluck opened this issue · comments
donneyluck commented
当前的做法是 python SP_JOBS/zhifang_job.py 这样只能启动一类爬虫
如果想启动多个的话 就要执行多个进程
问题如下:
- 可否在一个进程中执行
- 多爬虫启动 两种方案哪种更好 (效率方面)
Way commented
1.每个爬虫都可以调整并发,而单进程启多个爬虫,也只是增加并发,所以没有多大意义。
2.只考虑效率的话,因为GIL锁,所以多进程更好。但爬虫一般是IO密集型任务,所以差别应该也不会很大。
实际上,影响效率的主因一般都是目标网站的性能,以及反爬限制。另外,也不建议对单网站使用过高的并发,与人为善,只做友好爬虫。
donneyluck commented
Way commented
1.地址去重
2.增量和去重差不多,这边的意思就是保留采集过的所有目标指纹,自动过滤,不会重复爬。但是会占用redis空间。
3.过滤地址
donneyluck commented
donneyluck commented
不好意思还有个问题 听您说要做一个友好的爬虫
请问 一般爬虫数量和 并发数量 开多少比较好呢
Way commented
Way commented
不好意思还有个问题 听您说要做一个友好的爬虫 请问 一般爬虫数量和 并发数量 开多少比较好呢
没有反爬的前提下,视网址响应的速度而定。scrapy 默认每个 domain 是 16 个并发。