pyspider如何判断任务结束

新手上路,请多包涵

我现在设置了每30分钟自动执行一次抓取
clipboard.png

因为数据要经过处理才能保存到数据库,我需要在任务完成一轮后再进行处理。
在没有设置自动执行前我是通过“on_finished”来判断任务是否完成,但现在设置自动执行后好像并不会调用“on_finished”这个方法。求大神指点我现在应该怎么做。

阅读 2.6k
1 个回答

我的解决方案是把 for 循环写成 detail_page 递归,用 save 来传递数据

save = {
    'current': 3,
    'all': 20,
    'allUrls': [url1, ... url20],
    'results': [result1, result2],
}

if current == all,执行数据库操作

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进