如何爬取需要动态加载的网页导航网站
我想要抓取一个有多个页面的网站,但当我点击页面号码时,内容是动态加载的。我该怎么做呢?
也就是说,网址并没有像普通链接那样显示出来,我该如何抓取其他页面呢?
如果有人能帮我就太好了。
附注:点击不同页面时,网址是保持不变的。
6 个回答
0
你可以在javascript代码里找你想要的数据,而不是在HTML里面。虽然这通常比较麻烦,但你可以用正则表达式做一些有趣的事情。
另外,一些浏览器测试库,比如splinter,是通过在真正的浏览器(像火狐或谷歌浏览器)中加载页面来抓取数据的。如果你在一个安装了浏览器的机器上运行,这些工具就能派上用场。
1
如果你在使用谷歌浏览器,可以在开发者工具的 网络->请求头
中查看动态调用的链接。
根据这个链接,你可以判断它是 GET
请求还是 POST
请求。
如果是 GET
请求,你可以直接从链接中找到参数。
如果是 POST
请求,你可以在开发者工具的 网络->请求头
中找到 表单数据
来查看参数。
2
你也可以考虑一下 Ghost.py,因为它可以让你快速运行任意的JavaScript命令、填写表单和截图。