为了账号安全,请及时绑定邮箱和手机立即绑定

pyspider为什么能实现url爬取多条数据吗?

pyspider为什么能实现url爬取多条数据吗?

慕雪6442864 2018-12-17 09:37:37
据说on_message可以,但我测试了还是不行,有什么方法能实现吗?def detail_page(self, response):     results = json.loads(response.text)    for result in results:         date = result['date']         number = response.url[6:]        self.send_message(self.project_name, {            "number": number,            "date":date,          }, url="%s#%s" % (response.url, date))  def on_message(self, project, msg):     print msg    return msg
查看完整描述

1 回答

?
红糖糍粑

TA贡献1815条经验 获得超6个赞

detail_page可以返回一个列表,然后在on_result处理的时候,当列表处理就行。
你这个代码没什么问题,问题没有出在这里。还有测试的时候并不会调用on_message,测试的send_message发送的消息给了左侧的message里面。只有项目运行的时候才会调用on_message.

我在刚接触的时候没有注意url去重的问题,导致没有结果。如果要抓取相同的url,需要修改url比如加入锚点(#tag),这样才会重新抓取。希望后面学习的人注意这个问题。
你的也有可能是这个原因


查看完整回答
反对 回复 2018-12-17
  • 1 回答
  • 0 关注
  • 817 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信