您的位置:首页 > 理论基础 > 计算机网络

HttpClient+jsoup实现网页数据抓取和处理

2016-06-18 10:48 573 查看
这里仅简单介绍一种我曾用到的网页数据的抓取和处理方案。

通过HttpClient可以很方便的抓取静态网页数据,过程很简单,步骤如下:

//构造client
HttpClient client = new HttpClient();

//构建GetMethod对象
GetMethod temp_get = new GetMethod(URL);
client.executeMethod(temp_get);

//获取返回的网页信息
String webResult=temp_get.getResponseBodyAsString();

抓取后的网页分析也有很多开源的工具包,这里推荐使用jsoup,因为其语法和jquery类似,有网页开发经验的人使用起来很方便
Document doc = Jsoup.parse(htmlString);
Elements dls = doc.select("#queryform .listinfo").select("dl");
Elements xhdds=dls.get(0).select("dd");//序号
Elements grbmdds=dls.get(1).select("dd");//个人编码

最后,如果我们需要获取的网页数据是通过ajax获取后生成的,那么使用HttpClient则不能解决,推荐使用HtmlUnithttp://htmlunit.sourceforge.net/),使用起来也很简单
WebClient webClient = new WebClient()
HtmlPage page = webClient.getPage("http://some_url");
final HtmlDivision div = page.getHtmlElementById("some_div_id");
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  httpclient jsoup htmlunit