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
请高手帮我分析分析
应该如何解决
异常 多线程 Jsoup --------------------编程问答-------------------- 求各位大神帮们
回帖就送分! --------------------编程问答-------------------- .timeout(3000)去掉 --------------------编程问答--------------------
不行啊
去掉之后运行还是会报
java.net.SocketTimeoutException: Read timed out --------------------编程问答-------------------- 不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连 --------------------编程问答--------------------
估计应该是你多线程没写好!
先跑单线程试试! --------------------编程问答--------------------
如果在超时的时候 在catch里边让线程暂停几秒钟 之后再联接的话,超时的次数就能少点,但是当所有的线程运行的时间长点的情况,还是会一直报异常。
老板要求用多线程 因为数据量太大,如果用单线程的话 运行时间就有点太长了 --------------------编程问答--------------------
那怎么能看出来哪个网站让爬 哪个网站不让爬呢?
有些画面我在解析的时候报302 是不是就意味着不让爬呢? --------------------编程问答--------------------
302是重定向 --------------------编程问答--------------------
不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连
那怎么能看出来哪个网站让爬 哪个网站不让爬呢?
有些画面我在解析的时候报302 是不是就意味着不让爬呢?
你需要从重定向的header里去获取location的新地址 --------------------编程问答--------------------
不是什么网站你都能连接的 有些网站的反爬虫做得好 不让你用代码这么连
那怎么能看出来哪个网站让爬 哪个网站不让爬呢?
有些画面我在解析的时候报302 是不是就意味着不让爬呢?
你需要从重定向的header里去获取location的新地址
我调查了 这个在基类里已经处理过,如果出现302的问题 会获取location的新地址,但是还是会报302的问题。 --------------------编程问答-------------------- 11.避免URL重定向。URL redirects are made using HTTP status codes 301 and 302. They tell the browser to go to another location.
补充:Java , Java EE