当前位置: 代码迷 >> J2EE >> Jsoup 解析网页报错误
  详细解决方案

Jsoup 解析网页报错误

热度:664   发布时间:2016-04-17 23:52:59.0
Jsoup 解析网页报异常
我采用的是多线程解析网页信息,当解析一定时间之后
就会报
Connection reset或者read time out错误,
我的代码是
Document doc = Jsoup.connect(url).timeout(3000).userAgent("Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0")).get();

异常是
java.net.SocketException: Connection reset
请高手帮我分析分析
应该如何解决

------解决方案--------------------
.timeout(3000)去掉
------解决方案--------------------
不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连
------解决方案--------------------

估计应该是你多线程没写好!
先跑单线程试试!
------解决方案--------------------
引用:
Quote: 引用:

不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连

那怎么能看出来哪个网站让爬 哪个网站不让爬呢?
有些画面我在解析的时候报302 是不是就意味着不让爬呢?

302是重定向
------解决方案--------------------
引用:
Quote: 引用:

不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连

那怎么能看出来哪个网站让爬 哪个网站不让爬呢?
有些画面我在解析的时候报302 是不是就意味着不让爬呢?

你需要从重定向的header里去获取location的新地址
------解决方案--------------------
11.避免URL重定向。URL redirects are made using HTTP status codes 301 and 302. They tell the browser to go to another location.

------解决方案--------------------
setTimeOut时间长一点
------解决方案--------------------
还是用httpclient 然后在用jsoup解析吧