问题发过来了,老师看一下把
来源:1-1 python分布式爬虫打造搜索引擎简介
鲁智深110
2019-12-15
1、我提供一个api接受url,在推入队列,scrapy-redis监听队列,抓取数据后直接返回给api,不入库。这样搞貌似实现不了返回给接口。
2、还有一个问题,scrapy-redis是不会停止了,如果数据跑晚了怎么通知后端我已经完成了
老师给个思路把!
写回答
1回答
-
是的,这是两个进程,所以这个之间要实现通信需要有一个消息通信机制。这个消息通信机制比较多,比如使用redis,使用rabbitmq都可以。以及kafka也行,这里最简单的是redis和rabbitmq了,你的api服务直接发送给scrapy-redis之后就一直等着redis或者rabbitmq中是否有数据,scrapy-redis抓取完成以后直接将数据放到redis中,这样就行了
scrapy-redis启动后就不会停止了,如果数据跑完了你也可以采用上面的思路,跑完以后将redis中的一个变量设置为true就行了,这样你的后端服务只管监听这个变量值就行了
032019-12-18
相似问题