如何用java抓取ajax页面的内容
1个回答
展开全部
ajax页面是动态生成了,直接抓不到。不过也不是没有途径的,通常找到该ajax通道地址还是能获取到里面的内容的。
从ajax所在页面可以找到蛛丝马迹,当然每个页面都不一样,所以你别问我要死方法。
我给你指个思路:用火狐浏览器,监控页面信息,当你点击请求时,会有通道地址信息出现。
当然你获得通道信息知识相对某一个请求的,你还得分析出它们的通式。
我拿sina新闻网举个例子你可能好理解一点:某国内新闻,标题,正文,日期我都从爬取的页面获得了,但我还想获得评论的信息(评论是动态生成的)。于是,我解析爬取页面的<meta name="sudameta"> 因为这个标签有改新闻评论通道的两个信息:channel和newsid。等等等等
就是这种思路,最后找到评论页面。比如title------------中纪委:部分干部不想抓不会抓不敢抓致问题拖炸|中纪委|问责_新浪新闻
拼出的评论通道是comment5.news.sina.com.cn/page/info?format=json&channel=gn&newsid=1-1-31456214&group=0&compress=1&ie=gbk&oe=gbk&page=1&page_size=10
然后你去解析这个页面内容,再转码就可以得到评论内容了。
我这么说不知道你明白怎么做了不?
这是我做网络爬虫的一点点心得,曾经尝试了各种方法,包括引入第三方jar也没很好的结局,最终才获得这么些心得,毫无保留的分享给你了。
从ajax所在页面可以找到蛛丝马迹,当然每个页面都不一样,所以你别问我要死方法。
我给你指个思路:用火狐浏览器,监控页面信息,当你点击请求时,会有通道地址信息出现。
当然你获得通道信息知识相对某一个请求的,你还得分析出它们的通式。
我拿sina新闻网举个例子你可能好理解一点:某国内新闻,标题,正文,日期我都从爬取的页面获得了,但我还想获得评论的信息(评论是动态生成的)。于是,我解析爬取页面的<meta name="sudameta"> 因为这个标签有改新闻评论通道的两个信息:channel和newsid。等等等等
就是这种思路,最后找到评论页面。比如title------------中纪委:部分干部不想抓不会抓不敢抓致问题拖炸|中纪委|问责_新浪新闻
拼出的评论通道是comment5.news.sina.com.cn/page/info?format=json&channel=gn&newsid=1-1-31456214&group=0&compress=1&ie=gbk&oe=gbk&page=1&page_size=10
然后你去解析这个页面内容,再转码就可以得到评论内容了。
我这么说不知道你明白怎么做了不?
这是我做网络爬虫的一点点心得,曾经尝试了各种方法,包括引入第三方jar也没很好的结局,最终才获得这么些心得,毫无保留的分享给你了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询