1. 程式人生 > >JAVA jsoup 爬蟲 傻瓜入門實錄 (1) 將各式型態物件解析為Document型態

JAVA jsoup 爬蟲 傻瓜入門實錄 (1) 將各式型態物件解析為Document型態

jsoup可以從Html原始碼、URL網址、Input Html File做解析

將以上這些型態轉換為Document型態 才能進行後續jsoup的操作

配合到公司元件 元件可以直接丟URL 轉成符合公司需求的String型態Html原始碼 因此我自己最常運用的是直接從字串符來parse

Html原始碼(String型態)解析

Document doc = Jsoup.parse(source); 

這邊也稍微提一下上述提到的其他型態轉換

URL網址(String型態)解析

Document doc = Jsoup.connect("URL").get();

Iuput Html File解析

使用html file時有兩種做法

方法一.

Document doc = Jsoup.parse(inputFile,"Encoding type","URL");

方法二.

Document doc = Jsoup.parse(inputFile,"Encoding type");

這邊可以看到兩者差別就在於最後的URL

這邊要不要加入URL區別在於你input進的檔案寫法

html常常會用到一些相對路徑的寫法

拿我其中一個案子做範例

可以看到我現在位於這個網站的index(首頁)

但是在a標籤的寫法卻是/index.shtml

平常如果碰到這種情況 用上述第一種沒有含URL的方式

在跑程式時就會出現 IOException的error

我以前最無腦的解法是自己再把baseURL拼回去完整網址

但是這邊jsoup提供一個讓你自動補上baseURL的方法

就可以輕鬆把相對路徑的母網址加入變成原本的連結

再稍微提一下 建議在input file時都使用方法二

如果碰到不需要接baseURL情況也沒關係 直接傳入空字串就沒問題了