首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > CSS >

应用 HttpClient 和 HtmlParser 实现简易爬

2012-09-14 
使用 HttpClient 和 HtmlParser 实现简易爬?这里值得注意的几个地方是:设置连接超时和请求超时,这两个超时

使用 HttpClient 和 HtmlParser 实现简易爬

?

这里值得注意的几个地方是:

    设置连接超时和请求超时,这两个超时的意义不同,需要分别设置。 响应状态码的处理。 返回的结果可以为字节数组,也可以为 InputStream,而后者在网页内容数据量较大的时候推荐使用。

在处理返回结果的时候可以根据自己的需要,进行相应的处理。如笔者是需要保存网页

到本地,因此就可以写一个 saveToLocaleFile(byte[] data, String filePath) 的方法,将字节数组保存成本地文件。后续的简易爬虫部分会有相应的介绍。

?

简单强大的 StringBean

如果你想要网页中去掉所有的标签后剩下的文本,那就是用 StringBean 吧。以下简单的代码可以帮你解决这样的问题:

清单5

StringBean sb = new StringBean();

sb.setLinks(false);//设置结果中去点链接

sb.setURL(url);//设置你所需要滤掉网页标签的页面 url

System.out.println(sb.getStrings());//打印结果

HtmlParser 提供了强大的类库来处理网页,由于本文旨在简单的介绍,因此只是将与笔者后续爬虫部分有关的关键类库进行了示例说明。感兴趣的读者可以专门来研究一下 HtmlParser 更为强大的类库。

http://www.twt.edu.cn 开头的链接public boolean accept(String url) {if(url.startsWith("http://www.twt.edu.cn"))return true;elsereturn false;}});for(String link : links)System.out.println(link);}}清单11 LinkFilter.javapackage com.ie;public interface LinkFilter {public boolean accept(String url);}

?

这些代码中关键的部分都在 HttpClient 和 HtmlParser 介绍中说明过了,其他部分也比较容易,请感兴趣的读者自行理解。

总结

这篇文章主要是介绍与展示了如何使用开源的 HttpClinet 包和 HtmlParser 包,以及结合这两者来给出了一个简易网络爬虫程序的实现,当然这个爬虫与实际真正的爬虫还是有所差距。由于更多的目的是关注这两个开源包的运用,加上本文篇幅有限,因此,没有对这两个开源包做非常详尽的介绍。希望这篇文章能够引导读者对 HttpClient 包和 HtmlParser 产生兴趣,从而利用他们构建强大的 JAVA 网络应用程序。

参考资料

学习

Developworks 学习其他关于 HttpClien t和 HtmlParser 的技术文章。 Developworks 其它专区学习更多的最新技术。

热点排行