JAVA jsoup 爬蟲 傻瓜入門實錄 (1) 將各式型態物件解析為Document型態
阿新 • • 發佈:2018-12-23
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情況也沒關係 直接傳入空字串就沒問題了