【发布时间】:2021-08-07 05:26:04
【问题描述】:
我正在使用 Scrapy CrawlSpider 类来抓取电子商务网站的类别页面。问题是,大约 5% 的请求在 5 次重试后被拒绝,并且不会达到 100% 的已知类别。
我的修复涉及第二个蜘蛛 (scrapy.Spider),它从数据库中获取丢失的已知 URL,然后简单地重新抓取它们。这样我就达到了 100%。
问题是,它们是 2 个不同的蜘蛛,它们位于 2 个不同的 python 文件中,需要分别由 cron 作业触发。此外,我只是将 parse_item 函数复制到另一个刮板,如果需要,现在需要对两个刮板进行更改。
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 类以在每个完成的循环后重新爬行或以某种方式调用另一个蜘蛛?
【问题讨论】: