pyspider 使用 on_message 方法没有返回result
使用send_message和on_message方法来处理单个页面返回多个任务结果的情况,并且准备重写on_result方法进一步处理。但是on_message方法返回的msg并没有传递到on_result里面,即result是None.
不知道怎么处理。谢谢。
@config(age=10 * 24 * 60 * 60)
def index_page(self, response):
response.encoding = 'GBK'
print(response.doc('title').text())
for i, each in enumerate(response.doc('.newstable tr').items()):
msg = dict()
msg['title'] = each('td:nth-child(1) a').attr('title').strip()
msg['date'] = each('td:nth-child(2)').text().strip()
msg['link'] = each('td:nth-child(1) a').attr('href')
self.send_message(self.project_name, msg,
url="{}.false".format(msg['link']))
def on_message(self, project, msg):
return msg
def on_result(self, result):
print(result)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论