我想写一个一般的爬虫,将在一次爬行一个网站。然而,当它看到我认为相关的一页时,我希望它回溯。例如,我想从公司网站中提取招聘广告,并且我有一个ML模型,可以对招聘广告页面进行分类。当爬虫点击一个招聘广告,模型预测这是一个工作广告,我希望它后退一步(希望到职业页面),并从那里导航到其他的招聘广告页面。这可以在Scrapy的帮助下完成吗?
发布于 2022-02-25 11:21:53
因为Scrapy使用的是回调驱动的异步引擎,所以不能真正隐式地回溯。您需要利用meta
关键字:
def parse(self, response):
yield Request(url, meta={'product_id': 123}, callback=self.parse_product)
def parse_product(self, response):
product_id = response.meta['product_id']
您还可以使用response.request
访问请求响应,但是使用meta通常是一个更健壮的解决方案。
https://stackoverflow.com/questions/71264997
复制相似问题