开发过程中,用Jsoup解析糯米团购网站页面的时候,发现取得的页面和浏览器查看到的页面不一样,而是手机页面。
程序代码如下:
1
|
|
经过跟踪代码执行,发现content取得的内容和用浏览器直接访问的内容不一样。
经过查询资料,发现是User-Agent 的问题,在Jsoup中默认没有指定User-Agent,网站的服务器则认为这个访问来自手机,返回的是手机的页面。
将User-Agent加入到Jsoup中,问题解决。
代码如下:
1
2
3
|
content = Jsoup.connect(url) .userAgent( "Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" )
.timeout( 6000 ).get(); //取得整个页面内容;
|
以上代码是模拟的IE9的User-Agent信息,下面是各个版本浏览器的User-Agent信息。
IE6:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
IE7:Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 6.0)
IE8:Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)
IE9:Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
Maxthon:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/535.12 (KHTML, like Gecko) Maxthon/3.0 Chrome/22.0.1229.79 Safari/535.12
Firefox:Mozilla/5.0 (Windows NT 5.1; zh-CN; rv:1.9.1.3) Gecko/20100101 Firefox/8.0
Chrome:Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Chrome/22.0.1229.79 Safari/535.12
Opera:Opera/9.99 (Windows NT 5.1; U; zh-CN) Presto/9.9.9
Safari:Mozilla/5.0 (Windows NT 5.1; zh-CN) AppleWebKit/535.12 (KHTML, like Gecko) Version/5.0.1 Safari/535.12
相关推荐
使用httpClient采集数据,jsoup解析页面
Jsoup解析html+xml
使用Jsoup解析html网页,包含jsoup.jar \ api.chm \ 代码
jsoup解析html网页的api
用Jsoup解析html的所有jar包!
使用JSoup实现解析URL或HTML的内容
jsoup解析HTML,获取htmlUrl
Jsoup库文件;Jsoup解析Java包
java解析xml,dom解析,jsoup解析,两种不同方式的解析,完整项目
jsoup获取网站资源,按照自己的思路写自己的APP。
java语言,jsoup解析html修改文件名的一个demo
一个简单地android解析html的例子
利用jsoup工具解析html的demo
使用jsoup解析hmtl,获取对应数据
这个只是一个java源文件,用于学习Jsoup
资源包含了一个利用jsoup解析html网页的代码简单易懂
这是使用Jsoup解析HTML得到数据的一个小例子,具体的使用方法请参见我的博客:http://blog.csdn.net/ProgramChangesWorld/article/details/47134255
该资源包含了一个利用jsoup解析xml文件的简单demo,简单易懂。
使用Jsoup库解析HTML、XML或URL链接中的DOM节点 Jsoup进行Html的Dom解析