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

时间:2022-10-31 07:41:02

这里仅简单介绍一种我曾用到的网页数据的抓取和处理方案。

通过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");


相关文章