黑馬程式設計師_網路爬蟲
阿新 • • 發佈:2019-02-08
發現一個好玩的東西,利用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());