我想从纽约马拉松2016(http://results.nyrr.org/event/M2016/finishers)的跑步者的信息数据库。这是一个JavaScript大型网站,需要点击每个“展开结果”才能加载其信息。正如你所看到的,有超过5万名选手,所以这项任务并不容易。关于刮JavaScript重网站的建议
我一直在尝试使用Python-selenium来做到这一点。首先,我点击“显示更多”,直到我获得所有参赛选手的名单。然后,我点击每个参赛者的“展开结果”按钮,最后使用BeautifulSoup获取我想要的信息。这种方法的问题在于它非常缓慢并且出错,因为有时没有按钮可以点击。
我想问一下有哪些方法可以做到这一点。有没有更好的方法来创建这个数据库?任何关于更好的方法或如何改善我的意见将不胜感激。
进入浏览器的网络面板,找出扩展结果后发送的请求,并复制它。没有涉及硒。 – Ryan
它似乎** http://results.nyrr.org/api/runners/finishers(POST)**正在使用**“pageSize”:51(在有效载荷中)**如果您只想验证结果数可以改变这个数字 – mahesh
@Ryan我可以做我在展开结果时发送的request.post。然而,在响应中使用BeautifulSoup后,似乎数据不存在,我无法找到它。 – Belisario