黑马程序员_网络爬虫

  ——- android培训、java培训、期待与您交流! ———

发现一个好玩的东西,利用HtmlUnit开源项目写简单爬虫

HtmlUnit其实就是一个后台运行的JAVA浏览器,便捷,高效。
HtmlUnit请自行GOOGLE下载
参考代码

public class test{
    WebClient webClient=new WebClient();
    webClient.getOptions().setCssEnabled(false);//关闭css
    webClient.getOptions().setJavaScriptEnabled(false);//关闭JavaScript 如需运行脚本可设置为true
    final HtmlPage page=webClient.getPage("http://www.163.com");//设置需抓取的网站地址
    System.out.println(page.asText());//输入打印
    webClient.closeAllWindows();
}

模拟特定浏览器,也可以指定浏览器的相应版本(HtmlUnit最新版2.13现在可以模拟的浏览器有Chrome/FireFox/IE)

//模拟chorme浏览器,其他浏览器请修改BrowserVersion.后面
WebClient  webClient=new WebClient(BrowserVersion.CHROME);

查找特定元素,通过get或者XPath可以从HtmlPage中获得特定的Html元素,如下例子

方法一,通过get方法获取
HtmlPage page=webClient.getPage("http://www.163.com");
HtmlDivision div=(HtmlDivision)page.getElementById("hed");


方法二,通过XPath获取,XPath通常用于无法通过Id搜索,或者需要更为复杂的搜索时,XPath的相关教程自行GOOGLE
//同样可以打印出hed的内容,//div中//表示搜索整个文档中的div,并将这些div
//放入list中,然后获取第一个div
final HtmlDivision div = (HtmlDivision) page.getByXPath("//div").get(0);
System.out.println(div.asXml());

你可能感兴趣的:(java)