您的位置:首页 > 其它

关于抓取网页数据超时问题

2016-07-22 09:41 316 查看
用基于httpclient的爬虫框架例如jsoup 会出现超时的问题 ,虽然超时可以用timeout设置 但是超时的时间长了也会被请求的服务器干掉。而后续没有操作 就会出现数据没查完,非常的蛋疼!!我的解决办法是用捕捉异常的方法 ,捕捉超时异常,然后再调用它本身的方法 代码如下:

public Document getDocument (String url,Map map){

try {

Connection conn = Jsoup.connect(url);

conn.timeout(5000);

conn.data(map);

return conn.get();

} catch (SocketTimeoutException e) {

return getDocument(url, map); //递归调用 直到请求成功

} catch (IOException e) {

e.printStackTrace();

}

return null;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  爬虫