请稍等 ...
×

采纳答案成功!

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

部署爬虫中cancel不起作用

curl http://localhost:6800/cancel.json -d project=ContactsSpider -d job=042f05903ac211e7b8c740b89afa47e8

{"status": "ok", "node_name": "dylaptop", "prevstate": "running"}

但是取消不掉爬虫的运行,chrome浏览器也仍旧打开着(我的爬虫是带selenium的,会随爬虫的退出而关闭),刷新http://127.0.0.1:6800/jobs中该Job继续运行时间继续增加,没有finish时间。

再取消一次就出错了。

curl http://localhost:6800/cancel.json -d project=ContactsSpider -d job=042f05903ac211e7b8c740b89afa47e8

{"status": "error", "node_name": "dylaptop", "message": ""}

怎样在部署后让爬虫可以停止呢?

求各位解答,谢谢!

正在回答

2回答

你先试试不加入selenium 然后再取消试试呢, 先排查是否是因为selenium导致不能停止的

0 回复 有任何疑惑可以回复我~
  • 刚试了,不加入selenium就取消成功了,不明白为什么。
    
    那么有selenium怎样改才能让他取消成功呢?现在是用您课程中讲的信号关闭的(dispatcher.connect(self.spider_closed,signals.spider_closed)),不部署上去都可以关闭,部署后就不行了。
    
    带着selenium部署后cancel的话,好像是爬虫其实不再爬了(我等了好久log没有变化),但是browser还开着(页面也不再变化),而且job没有finish,runtime在增加。
    
    求解答0^_^0,谢谢老师!
    回复 有任何疑惑可以回复我~ 2017-05-18 10:47:04
  • bobby 回复 提问者 德音不忘穆如清风 #2
    你可以加我qq 442421039 我来看一下
    回复 有任何疑惑可以回复我~ 2017-05-19 15:03:02
  • 非常感谢!
    回复 有任何疑惑可以回复我~ 2017-05-21 20:18:25
提问者 德音不忘穆如清风 2017-05-18 21:57:01

补充:有selenium部署的时候等全部运行完爬虫自己停下,是可以正常关闭的。

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信