请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

实时调用 scrapy 像 ajax那样 返回一个结果

项目需求:
    写一个接口,既要定时爬取消息, 又要实时的根据一个请求, 抓取特定url信息并实时返回。

    以前 用django写的实时的部分,没用scrapy,现在 要升级嘛,同时是需要 scrapy 的扩展功能 添加那些ip池等等的功能,暂时想到的方法就是 起一个django 监听 需求,然后向scrapyd 发送启动scrapy并将结果存到临时表 ,不断查询 是否finished 然后再将结果从临时表取出, 返回给前台。

希望得到老师的 解答

正在回答 回答被采纳积分+3

1回答

bobby 2018-01-08 16:12:20

用redis啊 两个spider一个负责定时读取一个redis队列 另一个读取另一个队列就行了

0 回复 有任何疑惑可以回复我~
  • 提问者 慕勒20277 #1
    老师~我是想问 如何调用 spider,不是 两个spider如何协调~,
    简单说,就是 前台来了个请求,如何及时 将 spider 处理完的信息 返回给 前台,最好能在 一次请求里结束,不需要多余的操作,我现在 是 前台 向scrapyd 发送请求,先启动任务再 每隔2s查一下任务是否已完成 如果完成 就去数据库取结果。
    回复 有任何疑惑可以回复我~ 2018-01-09 10:36:21
  • bobby 回复 提问者 慕勒20277 #2
    异步框架要做到这个有点难, 你可以考虑用celery+requests模式实现 这个理解比较容易, 用scrapy+django两者通信需要自己去做
    回复 有任何疑惑可以回复我~ 2018-01-11 10:10:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信