转载自: 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就更乐意服务了。
相关推荐
使用java+jsoup进行网页数据的抓取,提取自己想要的数据
通过使用jsoup库,获取网页的内容,解析修改网页,并且能够显示出修改的结果。
jsoup获取网页正文
利用httpClient+jsoup技术进行网页数据的获取,以网易贵金属为例~
jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。 1. 从一个URL,文件或字符串中解析HTML; 2. 使用...
主要介绍了Java爬虫Jsoup+httpclient获取动态生成的数据的相关资料,需要的朋友可以参考下
抓取网页上想要的内容~最后转化成json格式
使用jsoup技术连接网站地址,通过改变参数获取网站div...项目中包括dbutil链接数据库的工具类,执行sql的helper工具类,获取网站div图片保存到本地的工具类信息,包括了jsoup1.10.1的jar包和commom-dbutils1.5的jar包;
httpClient+jsoup抓取网页数据实例和jar包
Http,Jsoup-网页数据抓取,demo里介绍了对于广石化教务系统课程和成绩信息的抓取以及对茂名公交信息的抓取
jsoup分页爬取网页,jsoup分页爬取网页jsoup分页爬取网页内置jsoup所需要的jar包
这是一个使用jsoup抓取网页内容的例子,适合从事手机开发的初学者学习
jsoup.jar用于java网页解析的工具类,版本最新,小巧并且强大
使用jsoup抓取网页列表信息,并入库,使用了PreparedStatement防止sql注入小demo。
很实用的jsoup抓取网页教程,通过查看此文档,您可以解决你在抓取网页过程中出现的问题
此抓取是抓取新浪高尔夫频道的新闻,采用的是jsoup 选择器抓取,比起httpparse 更好,更高效的抓取。
完整项目!!jsoup爬取某宝购物车数据返回json串,放入eclipse即可运行
使用jsoup解析hmtl,获取对应数据
jsoup采集网上数据,可以实现网络数据采集下来,到别的网站爬取数据
Android App使用Jsoup抓取网页数据显示-附件资源