很早就想寫個小爬蟲了,一直拖拖拖,真是應了一句話,人有多大膽就能拖多晚。這幾天終於開始搞了搞,現寫下一些須要用到的知識,用做本身儲備和但願能給一樣須要的oser們一點經驗。html
這個系列一共有5篇,分爲java
Jsoup使用獲取推薦列表.net
下面是第一篇的內容,《什麼是爬蟲,爬蟲原理》
htm
你讓我給你說什麼是爬蟲,我也不知道,我知道的是它能夠在互聯網上根據取得的url,順着url一個一個的去訪問頁面(頁面資源都訪問到了,你就能夠幹你想幹的事情了)
blog
關於原理下面這段話我以爲十分有用圖片
for each 連接 in 當前網頁全部的連接
{
if(若是本連接是咱們想要的 || 這個連接從未訪問過)
{
處理對本連接
把本連接設置爲已訪問
}
}
想使用爬蟲,
首先你要給它一個種子連接URL
在種子連接的頁面查找其餘的URL,重複1步驟
有連接有頁面,而後你能夠在頁面中查找須要的內容
這其中須要的知識點
http請求器
因爲不是用瀏覽器訪問,咱們須要在本地的文件中發起請求獲取資源,有兩種實現方法,第一種Java提供的java.net包中APIs,另外一種是選用第三方的工具,我選的是HttpClient這個資源,相對來講第三方工具會比Java自己提供的APIs的功能更增強大和靈活一些。
內容解析器
上面咱們經過請求獲取了資源,而後就是要去解析了,基本上獲取的都是頁面,一大串的HTML頁面代碼,那麼咱們也能夠經過來兩種方式來解析資源,一種是正則表達式,一種是第三方的解析器(好比,jsoup,htmlparse等),本系列會先使用正則表達式來解析,最後應該也會有第三方的解析文章。
主要的梗概大概就是這沒多,我再來梳理總結一下
取一個種子URL,好比www.oschina.net
經過httpclient請求獲取頁面資源(獲取的頁面資源其中確定包含了其餘的URL,能夠做爲下一個種子循環使用)
經過正則或者jsoup解析出想要的內容(解析出其餘的URL連接,同時獲取本頁面的全部圖片,這都是能夠的)
使用3獲取的下一個種子URL,重複1
若有錯誤,敬請指出,謝謝!