最近学习了一下如何用java写客户端程序做网络爬虫,Jsoup提供对网页的解析。
处理如下异常秒招:一般情况下访问多次服务器就会报如下异常,而我们只需无限循环,获取到数据就break,否则开启线程暂停一会,直到获取数据为止
ConnectException : 指的是服务器请求超时
SocketTimeoutException:指的是服务器响应超时
private void parse(String url) {// 通过url解析网页 即获取网页数据或者超链接等。
Document doc = null;
Elements fl = new Elements(); //某种类型节点的集合 类似于ArrayList的集合
while (true) {
try {
doc = Jsoup.connect(url).timeout(60000).get();//链接网络 将网页转化为Document对象
fl = doc.select("div.fl"); //获取class属性为fl的节点
break;
} catch (IOException e) {
e.printStackTrace();
System.out.println("开始休息五分钟 " + new Date());
try {
Thread.sleep(300000);
} catch (InterruptedException e1) {
e1.printStackTrace();
}
System.out.println("结束休息 " + new Date());
// System.exit(0);
}
}
}
Jsoup解析详解:http://www.cnblogs.com/xinye/archive/2013/08/07/3243181.html
这篇文章最重要的是处理从服务器获取数据遇到异常。