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

黑马程序员_网络爬虫

2015-10-10 14:45 369 查看
  ——- 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