转载自: http://blog.csdn.net/arvon2012/article/details/7979139
最近做的项目需要利用JSOUP进行网页获取和解析,但是遇到了拒绝访问的问题,返回的结果是:
java.io.IOException: 403 error loading URL http://www.xxx.com/xxx
连接代码是这样的:
Document doc = Jsoup.connect(urlString).get();
原本这种方式在大部分时间都可以正确的获取网页代码。
403错误是权限问题拒绝访问,大家都知道的。
我搜了下原因,原来是请求内容不完全,然后我写了如下代码就OK了。
Document doc = Jsoup.connect(urlString).header("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2").get();
原因分析:
有些网站的服务器在响应http请求的时候,需要客户端提交的信息比较完善,而在Jsoup的Connection类中这个Header就是完善请求信息用的。
我们的浏览器在请求网页的时候会在请求的头部head中发送一些数据,比如浏览器类型,版本,语言等等。当我们用Jsoup去完成请求网页的工作时,最好也要完善请求包头信息,完成这个工作的就是header方法。
header
Connection header(String name, String value)
name
- header namevalue
- header valueConnection.Base.headers()
在上面的纠正代码中可以看到我在header里name设置的是User-Agent(表示我要设置的header中的字段,后面的第二个参数value就是对这个字段赋的值)。header value中设置的是操作系统,浏览器,语言类型等等信息(惭愧,我也没完全知道每个值的意思)。这样提交的请求有了比较完善的头信息后,一般的网站server就更乐意服务了。
相关推荐
通过`Jsoup.connect(url)`可以建立到指定URL的连接,然后调用`get()`方法获取网页内容。例如: ```java String url = "http://example.com"; Document doc = Jsoup.connect(url).get(); ``` `doc`是一个`Document`...
以下是关于如何使用Java+Jsoup抓取网页数据的详细讲解。 首先,你需要了解HTML的基础结构,因为Jsoup的工作原理是解析HTML文档并提供类似于DOM的API来操作这些文档。HTML是由标签组成的树形结构,每个标签都有属性...
在IT领域,网络数据抓取是一项重要的技能,它允许我们从网页中提取所需的信息,用于数据分析、内容聚合或自动化任务。HttpClient和Jsoup是两个Java库,分别专注于HTTP通信和HTML解析,它们常被组合使用来高效地抓取...
**Jsoup:网页数据抓取与JSON转换** Jsoup是一个非常强大的Java库,它使得解析HTML和抓取网页数据变得简单易行。本教程将深入探讨如何使用Jsoup有效地从网页中提取信息,并最终将其转化为JSON格式,为数据分析或...
本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...
在IT行业中,网络数据抓取是一项重要的技能,它允许开发者获取并分析网页上的信息,以进行各种用途,如数据分析、网站监控或者构建自己的应用程序。在这个主题中,我们将深入探讨两个关键概念:Http协议和Jsoup库,...
**jsoup库详解及其在获取网页正文中的应用** 在网页数据抓取和处理领域,`jsoup`是一个非常实用的Java库,它提供了强大的HTML解析和操作功能。jsoup能够帮助开发者有效地解析网页内容,提取关键信息,尤其是网页...
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 1. 从一个URL,文件或字符串中解析HTML; 2. 使用...
文件名"Jsoup获取网页内容实例"暗示了示例代码可能包含如何使用Jsoup进行网页解析的片段。 总结起来,这个项目涵盖了使用Jsoup进行网页抓取、Java处理HTML数据以及使用JDBC连接MySQL并执行SQL操作的基础知识。在...
例如,`element.text()`返回元素的纯文本内容,而`element.attr("href")`则获取链接的URL。 **四、HTML清理** Jsoup还具备HTML清理功能,能确保输入的HTML代码符合标准。这在处理用户输入或者从不规范的源获取HTML...
7. **错误处理**:在爬取过程中,可能会遇到各种问题,如网络延迟、服务器返回错误、请求被拒绝等。因此,良好的错误处理机制是必要的,包括重试策略、异常捕获和日志记录。 8. **存储与清洗数据**:提取到的数据...
在新浪高尔夫频道的新闻抓取中,我们可以先通过jsoup连接到目标URL,然后使用CSS选择器找到新闻列表的元素。例如,如果新闻标题在class为"news-item-title"的元素中,我们可以这样获取: ```java Document doc = ...
使用jsoup技术连接网站地址,通过改变参数获取网站div...项目中包括dbutil链接数据库的工具类,执行sql的helper工具类,获取网站div图片保存到本地的工具类信息,包括了jsoup1.10.1的jar包和commom-dbutils1.5的jar包;
在IT领域,网络爬虫是获取网页数据的重要手段,而HttpClient和Jsoup是两种常用的Java库,用于实现这一目的。HttpClient提供了低级别的HTTP通信能力,而Jsoup则是一个解析和操作HTML文档的强大工具。本教程将详细介绍...
**JSoup:网页内容分析利器** JSoup是一个Java库,设计用于处理真实世界的HTML,它提供了非常方便的API,用于抓取和解析网页内容。在HTMLParser不再更新的情况下,JSoup是一个理想的选择,因为它能够有效地处理HTML...
这是一个使用jsoup抓取网页内容的例子,适合从事手机开发的初学者学习
"jsoup爬取某宝购物车数据返回json串,放入eclipse即可运行" 这个标题揭示了本次项目的核心技术是使用jsoup这个Java库来抓取淘宝网站上的购物车数据,并将获取到的数据转换为JSON格式。JSON(JavaScript Object ...
本文将详细介绍如何在Android应用中简单地获取网页数据,以及涉及到的关键技术。 首先,Android应用进行网络操作时,必须在主线程之外执行,否则会触发"NetworkOnMainThreadException"异常。因此,我们通常采用...
很实用的jsoup抓取网页教程,通过查看此文档,您可以解决你在抓取网页过程中出现的问题
- **动态加载内容**:如果网页内容是通过JavaScript动态加载的,可能需要使用如Selenium这样的工具配合Jsoup来获取完整数据。 - **请求间隔**:为了避免被网站封禁,合理设置请求间隔和限制并发量。 - **数据存储**...