pyspider怎样爬取分页数据呢?

pyspider系列文章的第三篇讲解了如何模拟【加载更多】按钮的点击事件来获得当前页面上的更多数据。

那我模拟【下一页】按钮的点击事件,会刷新当前页面上的数据,而不是增加当前页面的数据。这样的话怎么实现爬取所有数据呢?

因为我是要不停的模拟下一页按钮的点击事件,所以回调函数需要嵌套很多很多个?

或者是这样递归求解?

self.crawl('shouye.com', call_back=self.handler)

def handler():
    // response.content当前页面数据存入数据库
    url = getNextBtn(...)
    self.crawl(url, callback=handler)
阅读 5.7k
2 个回答

既然有按钮,那么它就有对应的接口,找到接口,直接去爬就可以了

第三章说的点击更多,应该说的是应对js载入的数据,如果你抓取的就是正常的html页面,那么抓出下一页的url,然后回调就可以了。

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