我正在使用scrapy从会员唯一的网站上抓取数据。我成功执行登录和刮取数据。
但是,我现在需要在完成数据抓取时在网站上提交一些表格。即:在所有数据读取之后,我想将一些数据写入我正在抓取(读取)数据的网站。
我的问题是:
如何获知scrapy已完成处理所有网址抓取的信息,以便我可以执行某些表单提交?
我注意到了一个解决方案 - 请参阅此处(scrapy: Call a function when a spider quits)但由于某种原因,我无法在self.spider_closed方法中继续产生更多请求,因为它在这些示例中被调用,因此我可以执行一些写操作。 / p>
答案 0 :(得分:2)
是的,在spider_closed
信号被触发后你无法继续使用蜘蛛 - 现在已经太晚了,蜘蛛已经关闭了。
更好的信号是spider_idle
:
当蜘蛛闲置时发送,这意味着蜘蛛没有 进一步:
- 等待下载的请求
- 请求安排
- 项目正在进行中 在项目管道中处理