在Java中使用Jsoup實(shí)現(xiàn)一個(gè)爬蟲功能?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
Java 爬蟲工具Jsoup詳解
Jsoup是一款 Java 的 HTML 解析器,可直接解析某個(gè) URL 地址、HTML 文本內(nèi)容。它提供了一套非常省力的 API,可通過 DOM,CSS 以及類似于 jQuery 的操作方法來取出和操作數(shù)據(jù)。
jsoup 的主要功能如下:
1. 從一個(gè) URL,文件或字符串中解析 HTML;
2. 使用 DOM 或 CSS 選擇器來查找、取出數(shù)據(jù);
3. 可操作 HTML 元素、屬性、文本;
jsoup 是基于 MIT 協(xié)議發(fā)布的,可放心使用于商業(yè)項(xiàng)目。
jsoup 可以從包括字符串、URL 地址以及本地文件來加載 HTML 文檔,并生成 Document 對(duì)象實(shí)例。
簡單而言,Jsoup就是先取html頁面代碼然后解析這些頁面通過Jsoup攜帶的滿足我們絕大多數(shù)需求的各種選擇器從這個(gè)頁面中獲取我們所需要的重要數(shù)據(jù)的一款功能強(qiáng)大的html解析器,但也只是相對(duì)而言,這里的頁面這是死的靜態(tài)頁面,如果你想獲取動(dòng)態(tài)生成的頁面數(shù)據(jù)那么你得用到其他的java 爬蟲技術(shù),我會(huì)不定時(shí)更新這些技術(shù)一起探討。下面我們來具體談?wù)勅绾芜\(yùn)用Jsoup
一、如何取頁面
Jsoup提供了用來解析html頁面的方法 parse(),我們通過解析它可以獲取整個(gè)頁面的dom對(duì)象,通過這個(gè)對(duì)象來獲取你所需要的頁面所須有的參數(shù)。獲取頁面的方法有很多,這里就簡單的列舉幾個(gè):
① 通過Jsoup攜帶的connect()方法
String htmlPage = Jsoup.connect("https://www.baidu.com").get().toString();