ajax页面是动态生成了,直接抓不到。不过也不是没有途径的,通常找到该ajax通道地址还是能获取到里面的内容的。
从ajax所在页面可以找到蛛丝马迹,当然每个页面都不一样,所以你别问我要死方法。
我给你指个思路:用火狐浏览器,监控页面信息,当你点击请求时,会有通道地址信息出现。
当然你获得通道信息知识相对某一个请求的,你还得分析出它们的通式。
我拿sina新闻网举个例子你可能好理解一点:某国内新闻,标题,正文,日期我都从爬取的页面获得了,但我还想获得评论的信息(评论是动态生成的)。于是,我解析爬取页面的<meta name="sudameta"> 因为这个标签有改新闻评论通道的两个信息:channel和newsid。等等等等
就是这种思路,最后找到评论页面。比如title------------中纪委:部分干部不想抓不会抓不敢抓致问题拖炸|中纪委|问责_新浪新闻
拼出的评论通道是comment5newssinacomcn/page/infoformat=json&channel=gn&newsid=1-1-31456214&group=0&compress=1&ie=gbk&oe=gbk&page=1&page_size=10
然后你去解析这个页面内容,再转码就可以得到评论内容了。
我这么说不知道你明白怎么做了不?
这是我做网络爬虫的一点点心得,曾经尝试了各种方法,包括引入第三方jar也没很好的结局,最终才获得这么些心得,毫无保留的分享给你了。
谢谢
ajax获取页面的返回值是可以当作独立的html文档 *** 作的,支持jq的选择器 *** 作,所以可以通过以下方式获取copy块中的源码:
success: function(responseText) {
var result=$(responseText)find(“copy”)first()html() ;
//result即为copy中的源码,当然也可以通过val(),text()获取相关值
1、首先需要创建一个HTML,html是网页的基础与骨架。
2、在html中增加测试数据,用来测试checkbox是否选中。
3、编写javascript,按钮点击时,触发事件,将选中的checkbox值获取。
4、美化页面,增加样式文件,和引入jquery文件。
5、打开浏览器,打开测试页面。
6、进行测试显示渲染到页面成功。
这个真的就说来话长了,首先你先得理解ajax的概念,它是干什么用的。
ajax就是动态加载数据的,并不是像你这样直接在页面中输出$listdb[]这样的。
我大概你看一段代码,
<script
type="text/javascript">
$(function(){
$("boxs
div")each(function(index){
$(this)load("path_"+index+"php");
})
});
</script>
<div
class="boxs">
<div>版块1php</div>
<div>版块2php</div>
<div>版块3php</div>
</div>
也就是把path_0php,path_1php,path_2php,这三个页面的内容,分别放到boxs里面的三个div当中去!
以上就是关于如何用java抓取ajax页面的内容全部的内容,包括:如何用java抓取ajax页面的内容、ajax请求a.html页面,返回指定的div中内容、ajax获取数据后怎么去渲染到页面等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)