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

用基于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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值