1. 程式人生 > >黑馬程式設計師_網路爬蟲

黑馬程式設計師_網路爬蟲

發現一個好玩的東西,利用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());