1.Jsoup簡述
Java中支持的爬蟲框架有很多,比如WebMagic、Spider、Jsoup等。今天我們使用Jsoup來實現一個簡單的爬蟲程序。
Jsoup擁有十分方便的api來處理html文檔,比如參考了DOM對象的文檔遍歷方法,參考了CSS選擇器的用法等等,因此我們可以使用Jsoup快速地掌握爬取頁面數據的技巧。
2.快速開始
1)編寫HTML頁面
頁面中表格的商品信息是我們要爬取的數據。其中屬性pname類的商品名稱,以及屬於pimg類的商品圖片。
2)使用HttpClient讀取HTML頁面
HttpClient是一個處理Http協議數據的工具,使用它可以將HTML頁面作爲輸入流讀進java程序中。可以從http://hc.apache.org/下載HttpClient的jar包。
3)使用Jsoup解析html字符串
通過引入Jsoup工具,直接調用parse方法來解析一個描述html頁面內容的字符串來獲得一個Document對象。該Document對象以操作DOM樹的方式來獲得html頁面上指定的內容。相關API可以參考Jsoup官方文檔:https://jsoup.org/cookbook/
下面我們使用Jsoup來獲取上述html中指定的商品名稱和價格的信息。
至此,我們已經實現使用HttpClient+Jsoup爬取HTML頁面數據的功能。接下來,我們讓效果更直觀一些,比如將爬取的數據存到數據庫中,將圖片存到服務器上。
3.保存爬取的頁面數據
1)保存普通數據到數據庫中
將爬取的數據封裝進實體Bean中,並存到數據庫內。
2)保存圖片到服務器上
直接通過下載圖片的方式將圖片保存到服務器本地。
4.總結
本案簡單實現了使用HttpClient+Jsoup爬取網絡數據,對於爬蟲技術本身,還有很多值得深挖的地方,以後再爲大家講解。