首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个python脚本中调用2个Scrapy爬虫?

如何在一个python脚本中调用2个Scrapy爬虫?
EN

Stack Overflow用户
提问于 2021-08-07 05:26:04
回答 1查看 34关注 0票数 1

我正在使用Scrapy CrawlSpider类来抓取电子商务网站的分类页面。问题是,大约5%的请求在5次重试后被拒绝,并且不会达到100%的已知类别。

我的解决方法涉及到第二个爬行器(scrapy.Spider),它从数据库中获取丢失的已知URL,并简单地重新抓取它们。这样我就达到了100%的成绩。

问题是,这是两个不同的爬虫,它们位于两个不同的python文件中,需要由cron作业分别触发。此外,我只是简单地将parse_item函数复制到另一个刮除器,如果需要的话,现在需要在这两个刮除器上进行更改。

代码语言:javascript
复制
class myspider(CrawlSpider):
    name = 'categories'
    ...
    def parse_item(self, response):
        ...
        yield item


class myspider(scrapy.Spider):
    name = 'recrawler'
    ...
    def parse_item(self, response):
        ...
        yield item

如何扩展CrawlSpider类以在每个完成的循环之后重新爬行,或者以某种方式调用另一个爬行器?

EN

回答 1

Stack Overflow用户

发布于 2021-08-07 05:42:24

问题是,大约5%的请求在5次重试后被拒绝,并且不会达到100%的已知类别。

增加DOWNLOAD_DELAY并降低CONCURRENT_REQUESTS_PER_DOMAIN。或者使用一些代理并在每次请求时轮换它。

不要通过引入另一个问题来解决一个问题。

顺便说一句,scrapy确实支持启动多个爬虫,并并行运行它们。检查文档Running multiple spiders in the same process

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

https://stackoverflow.com/questions/68689634

复制
相关文章

相似问题

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