关于抓取网页数据超时问题
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;
}
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;
}
相关文章推荐
- Python3写爬虫(四)多线程实现数据爬取
- Scrapy的架构介绍
- 爬虫笔记
- 基于C#实现网页爬虫
- Nodejs爬虫进阶教程之异步并发控制
- Node.js环境下编写爬虫爬取维基百科内容的实例分享
- PHP+HTML+JavaScript+Css实现简单爬虫开发
- 如何优雅地使用c语言编写爬虫
- PHP实现简单爬虫的方法
- NodeJS制作爬虫全过程(续)
- php实现简单爬虫的开发
- node.js基础模块http、网页分析工具cherrio实现爬虫
- PHP爬虫之百万级别知乎用户数据爬取与分析
- 一个PHP实现的轻量级简单爬虫
- nodejs爬虫抓取数据乱码问题总结
- 基于Node.js的强大爬虫 能直接发布抓取的文章哦
- nodeJs爬虫获取数据简单实现代码
- nodejs爬虫抓取数据之编码问题
- Node.js编写爬虫的基本思路及抓取百度图片的实例分享
- python实现爬虫统计学校BBS男女比例(一)