如何从需要用户导航的网站部分抓取数据

时间:2015-10-25 10:08:04

标签: javascript web-scraping

例如说我试图从这个页面中删除:

http://www.swtor.com/leaderboards/pvp/solo

它只显示前50个结果,很容易进入此链接并抓取这些数据。但是说我要抓200强。作为用户,我可以点击下一页查看下一个50结果,但它不会生成新的网址。整个表由一些JavaScript控制,而不仅仅是我可以遵循的显式链接。

在这样的情况下,你如何使用代码导航到第二页等等来刮掉下一组记录?

1 个答案:

答案 0 :(得分:2)

如果您打开"网络"在您浏览器开发人员工具面板上,您可以看到该站点所做的XMLHttpRequest(XHR)请求加载表数据:

http://www.swtor.com/lb/data?page=1&column=pvp_ranked_solo&season=6
http://www.swtor.com/lb/data?page=2&column=pvp_ranked_solo&season=6

此端点返回非常方便的JSON,现在只需根据需要运行尽可能多的请求即可。提示:页面数量也在返回的JSON上,因此即使您想要所有记录,也无需解析单个HTML页面。