今天项目需要抓取车次信息,开始用jsoup访问制定的url,发现返回的只是静态页面,没有查询的数据。原来网站为了防止别人爬取数据,采用ajax异步加载数据。网上搜到的API接口要收费,后来发现可以页面分析找到数据真正的提交地址。这里以在某网站,查询济南到上海8月13号的火车信息为例说明。在某网站按F12,查询,可以抓取很多信息。点XHR看到很多get和post信息。
从第一个开始找(如果有更好的工具,可以直接找到post数据),点开发现response就是需要的数据,然后查看headers选项,找到提交的网址和值。
将网址和提交的值,用&value=连接就是访问的网址。放到浏览器效果如下,得到一坨很丑的json数据,解析出来即可。
本文通过实例讲述了如何在Java中分析网页并获取JSON数据。在遇到网站使用AJAX异步加载数据时,通过F12开发者工具定位请求,找到数据提交的URL和参数,构造请求并获取JSON响应,从而实现数据抓取。
707

被折叠的 条评论
为什么被折叠?



