首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Scrapy中运行多个相同的爬虫?

如何在Scrapy中运行多个相同的爬虫?
EN

Stack Overflow用户
提问于 2019-01-06 23:32:50
回答 1查看 135关注 0票数 0

我有一个url列表,例如[‘http://example.com/page1 ',http://example.com/page2',...]。

这些urls在一个域名中,我用Scrapy编写了一个爬虫程序,我需要使用相同的爬虫程序一起运行这些urls。如果我有10个urls,我想创建10个相同的进程来运行爬虫程序,以提高效率。有解决方案吗?

我尝试使用CrawlerProcess来运行爬虫,但是如果urls太多,它会提醒我有太多TCP连接的错误。虽然crawler始终处于运行状态,但这种方法不利于维护。

代码语言:javascript
复制
from scrapy.crawler import CrawlerProcess
from scrapy.utils.project import get_project_settings

process = CrawlerProcess(get_project_settings())
page_urls = ['http://example.com/page1', 'http://example.com/page2',]

for page_url in page_urls:
    process.crawl('vimeo', start_urls=[page_url])
process.start()
EN

回答 1

Stack Overflow用户

发布于 2019-01-11 20:57:17

如果目标是提高单个爬行器的并发请求数量,而不是特别地并行产生多个爬行器,我建议您简单地尝试像DOWNLOAD_DELAYCONCURRENT_REQUESTCONCURRENT_REQUESTS_PER_DOMAIN这样的设置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54063061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档