Java簡單爬蟲系列(1)---什麼是爬蟲,爬蟲原理,怎麼來實現爬蟲

很早就想寫個小爬蟲了,一直拖拖拖,真是應了一句話,人有多大膽就能拖多晚。這幾天終於開始搞了搞,現寫下一些須要用到的知識,用做本身儲備和但願能給一樣須要的oser們一點經驗。html

這個系列一共有5篇,分爲java

下面是第一篇的內容,《什麼是爬蟲,爬蟲原理》
htm

你讓我給你說什麼是爬蟲,我也不知道,我知道的是它能夠在互聯網上根據取得的url,順着url一個一個的去訪問頁面(頁面資源都訪問到了,你就能夠幹你想幹的事情了)
blog

關於原理下面這段話我以爲十分有用圖片

for each 連接 in 當前網頁全部的連接

{

        if(若是本連接是咱們想要的 || 這個連接從未訪問過)

        {

                處理對本連接

                把本連接設置爲已訪問

        }

}

想使用爬蟲,

  1. 首先你要給它一個種子連接URL

  2. 在種子連接的頁面查找其餘的URL,重複1步驟

  3. 有連接有頁面,而後你能夠在頁面中查找須要的內容

這其中須要的知識點

  • http請求器

    • 因爲不是用瀏覽器訪問,咱們須要在本地的文件中發起請求獲取資源,有兩種實現方法,第一種Java提供的java.net包中APIs,另外一種是選用第三方的工具,我選的是HttpClient這個資源,相對來講第三方工具會比Java自己提供的APIs的功能更增強大和靈活一些。

  • 內容解析器

    • 上面咱們經過請求獲取了資源,而後就是要去解析了,基本上獲取的都是頁面,一大串的HTML頁面代碼,那麼咱們也能夠經過來兩種方式來解析資源,一種是正則表達式,一種是第三方的解析器(好比,jsoup,htmlparse等),本系列會先使用正則表達式來解析,最後應該也會有第三方的解析文章。

主要的梗概大概就是這沒多,我再來梳理總結一下

  1. 取一個種子URL,好比www.oschina.net

  2. 經過httpclient請求獲取頁面資源(獲取的頁面資源其中確定包含了其餘的URL,能夠做爲下一個種子循環使用)

  3. 經過正則或者jsoup解析出想要的內容(解析出其餘的URL連接,同時獲取本頁面的全部圖片,這都是能夠的)

  4. 使用3獲取的下一個種子URL,重複1


若有錯誤,敬請指出,謝謝!

相關文章
相關標籤/搜索