`

Jsoup解析网址与浏览器查看内容不一致

 
阅读更多

开发过程中,用Jsoup解析糯米团购网站页面的时候,发现取得的页面和浏览器查看到的页面不一样,而是手机页面。

程序代码如下:

1
content = Jsoup.connect("http://www.nuomi.com").timeout(6000).get();//取得整个页面内容;

经过跟踪代码执行,发现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

分享到:
评论

相关推荐

    Jsoup操作解析Html文件

    例如,可以先发送一个GET请求获取HTML,然后用Jsoup解析其中的JavaScript动态加载的数据源,再发送额外的请求来获取这些资源。 此外,Jsoup的兼容性极佳,它能很好地处理各种不规范的HTML,尽可能地恢复其结构,这...

    jsoup网页内容分析

    - **内容过滤与清洗**:在处理用户提交的HTML内容时,JSoup可以用来清除恶意代码或不合规的HTML结构,保障网站安全。 综上所述,JSoup作为一款强大的HTML处理工具,无论是解析、提取还是操作HTML内容,都展现出了其...

    基于Java的源码-HTML解析器 jsoup.zip

    2. **容错机制**:在实际的网页中,HTML代码可能存在各种不规范的情况,jsoup具有良好的容错能力,能正确解析不完整的标签、缺失的闭合标签等,保持与浏览器解析结果的一致性。 **二、CSS选择器** 1. **选择器API*...

    jsoup 取html信息校验xml数据

    JSoup的核心在于它能够理解和模拟浏览器对HTML的解析方式,使得开发者可以方便地获取网页上的特定元素,进行数据提取和分析。 在“覆盖率检测工具”的场景下,JSoup被用来从HTML文档中提取所需的数据。这个工具可能...

    jsoup_2.9.2-0.9.1.jar.zip

    它使用了近似于浏览器解析HTML的方式,可以正确处理不规范的HTML代码,确保解析结果的准确性和一致性。 2. **选择器API**:jsoup支持CSS选择器,这意味着你可以像操作DOM一样,通过CSS选择器来选取HTML元素。例如,...

    org.jsoup.zip

    在网页解析领域,`jsoup` 是一个非常重要的工具,因为它的设计目标是与实际的浏览器行为保持一致,这使得它在处理网页内容时更加可靠。 首先,我们来深入了解`jsoup`的主要功能: 1. **HTML解析**:`jsoup` 可以将...

    jsoup-1.8.1

    1. **HTML解析**:jsoup能够解析整个HTML文档,包括处理不标准的HTML标签和属性,确保解析结果与浏览器解析一致。这使得开发者能够对任何网页进行分析,即使网页代码存在错误或不规范的情况。 2. **DOM操作**:...

    jsoup1.10_jsoupjar包网页_

    **jsoup:网页爬虫与HTML解析库** jsoup是一个非常强大的Java库,它使得处理HTML变得简单且直观。在标题“jsoup1.10_jsoup.jar包网页”中,"jsoup1.10"指的是jsoup库的一个特定版本,即1.10版。这个版本的jsoup提供...

    jsoup的jar包

    它遵循浏览器的解析规则,能正确处理不规范的HTML标记,确保解析结果与浏览器渲染的结果一致。 2. **DOM操作**:解析后的HTML被转换为一个`org.jsoup.nodes.Document`对象,你可以像操作DOM一样遍历、查询和修改...

    jsoup-1.6.2.jar

    1. **HTML解析**:jsoup能够准确地解析HTML,处理各种不规范的标记,保持与浏览器解析行为的一致性。它支持DOM、CSS选择器以及直接的元素和属性访问。 2. **数据提取**:通过CSS选择器,开发者可以快速定位到HTML中...

    Java中使用开源库JSoup解析HTML文件实例

    此外,JSoup也遵循了HTML5规范,意味着它解析HTML生成的DOM结构与现代浏览器如Chrome和Firefox生成的是一致的。 使用JSoup,你可以从不同的源获取HTML内容,包括直接从URL下载、读取本地文件或使用字符串形式的HTML...

    jsoup网页分析jar包

    4. **HTML清理**:Jsoup还提供HTML清理功能,可以将不规范的HTML转换为标准格式,确保解析的一致性和安全性。 5. **连接管理**:Jsoup内置了基本的HTTP连接管理,可以设置请求头、超时时间等参数,发送GET或POST...

    jsoup-1.11.2.jar 下载

    1. **HTML解析**:jsoup能够解析HTML文档,并生成一个与原始文档结构一致的DOM树。这使得开发者可以像操作DOM节点一样轻松地遍历和修改HTML内容。 2. **选择器API**:jsoup支持CSS选择器,允许开发者使用类似于...

    1.11.2jsoupjar包.zip

    jsoup还提供HTML清理功能,它可以将不规范的HTML代码规范化,确保解析结果的准确性和一致性。此外,它还支持HTML5标准,对于处理不同浏览器产生的不一致的HTML输出非常有帮助。 ### Xpath支持 尽管jsoup的主要选择...

    java课程设计-网页浏览器

    - **DOM解析**:HTML文档可以通过Java的DOM解析器(如Jsoup库)转换为一个可操作的树形结构,从而能够查找、修改或提取HTML元素。 - **HTML内容呈现**:解析后的HTML内容需要转化为用户可见的形式,这可能涉及到...

    java爬虫 jsoup爬取 斗图啦

    最后,确保项目结构清晰,图片下载后的存储位置应与代码中的路径一致。在提供的压缩包文件“doutu”中,可能包含了项目的源代码、配置文件或其他辅助资源。解压后,按照上述步骤运行Java程序,即可实现对斗图啦网站...

    用于Html文件解析的jar包

    - HTML的不一致性:由于HTML标准的演变以及各种浏览器的差异,实际遇到的HTML可能会有许多非标准的写法,因此选择一个能良好处理这种情况的解析库非常重要。 - 安全性:如果从不可信的源解析HTML,要警惕XSS(跨站...

Global site tag (gtag.js) - Google Analytics