好诡异试了很多次才弄好!!!!!!!!!!!!!
import javaioBufferedReader;
import javaioIOException;
import javaioInputStreamReader;
import javanet>
1使用windowslocation的方式跳转属于get请求,post一般是form提交请求
2在b页面使用requestgetRequestURI(),可以获得请求页面地址
3所有的post请求都可以通过requestgetRequestURI()获得请求页面的地址
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也没很好的结局,最终才获得这么些心得,毫无保留的分享给你了。
谢谢
以上就是关于为什么用JAVA获取不了这个网页的源代码全部的内容,包括:为什么用JAVA获取不了这个网页的源代码、java怎么获取jsp页面的值、windows.location的请求怎样获得请求来源页面的地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)