我采用的是多线程解析网页信息,当解析一定时间之后
就会报
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)去掉
------解决方案--------------------
不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连
------解决方案--------------------
估计应该是你多线程没写好!
先跑单线程试试!
------解决方案--------------------
302是重定向
------解决方案--------------------
不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连
那怎么能看出来哪个网站让爬 哪个网站不让爬呢?
有些画面我在解析的时候报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解析吧