聊聊4種型別的爬蟲技術

2021-10-22 16:51:18 字數 1430 閱讀 4660

聚焦爬蟲(focused crawler)也就是主題網路爬蟲。聚焦爬蟲技術增加了鏈結評價和內容評價模組,其爬行策略實現要點就是評價頁面內容以及鏈結的重要性。

基於鏈結評價的爬行策略,主要是以web頁面作為便結構化的文件,其中擁有很多結構資訊可用於評價鏈結重要性。還有乙個是利用web結構來評價鏈結價值的方法,也就是hits法,其通過計算每個訪問頁面的authority權重和hub權重來決定鏈結訪問順序。

基於內容評價的爬行策略,主要是將文字相似的計算法加以應用,提出fish-search演算法,把使用者輸入查詢詞當作主題,在演算法的進一步改進下,通過shark-search演算法就能利用空間向量模型來計算頁面和主題相關度大小。

面向主題爬蟲、面向需求爬蟲:會針對某種特定的內容去爬取資訊,而且會保證資訊和需求盡可能相關。

通用爬蟲技術(general purpose web crawler)也就是全網爬蟲

某些**會定時在原有網頁資料的基礎上更新一批資料,如某電影**會實時更新一批最近熱門的電影,****會根據作者創作的進度實時更新最新的章節資料等。在遇到類似的場景時,我們便可以採用增量式爬蟲。

增量式爬蟲技術(incremental web crawler)就是通過爬蟲程式監測某**資料更新的情況,以便可以爬取到該**更新後的新資料。

關於如何進行增量式的爬取工作,以下給出三種檢測重複資料的思路:

1、在傳送請求之前判斷這個url是否曾爬過;

2、在解析內容後判斷這部分內容是否曾爬取過;

3、寫入儲存介質時判斷內容是否已存入介質中。

不難發現,實現增量爬取的核心是去重。目前存在兩種去重方法。

第一,對爬取過程中產生的url進行儲存,儲存在redis的set中。當下次進行資料爬取時,首先在儲存的url的set中對即將發起的請求所對應的url進行判斷,如果存在則不進行親求,否則才進行請求。

第二,對爬取到的網頁內容進行唯一標示的制定(資料指紋),然後將該唯一標識儲存至redis的set中。當下次爬取到網頁資料的時候,在進行持久化儲存之前,可以先判斷該資料的唯一標示在redis的set中是否存在,從而決定是否進行持久化儲存。

在網際網路中,網頁按存在方式可以分為表層網頁和深層網頁兩類。

在網際網路中,深層網頁的數量往往要比表層網頁的數量多很多,故而,我們需要想辦法爬取深層網頁。

深層網路爬蟲的基本構成:url列表、lvs列表(lvs指的是標籤/數值集合,即填充表單的資料來源)、爬行控制器、解析器、lvs控制器、表單分析器、表單處理器、響應分析器。

深層網路爬蟲的表單填寫有兩種型別:

NIO Channel的4種型別

filechannel datagramchannel socketchannel serversocketchannel filechannel 從檔案中讀寫資料。datagramchannel 能通過udp讀寫網路中的資料。socketchannel 能通過tcp讀寫網路中的資料。servers...

Jquery Ajax type的4種型別

ajax type這個裡面填什麼呢?通常大家都會說get和post。那麼還有2個是什麼呢 ajax 預設 get 請求方式 post 或 get 預設為 get 注意 其它 http 請求方法,如 put 和 delete 也可以使用,但僅部分瀏覽器支援。此處是網上找來的解釋 1 get請求會向資料...

a 標籤 跳轉4種型別

中的target有4種引數 self parent top 和 blank 在沒有使用框架布局時。前3個引數的效果是一樣的,和預設一樣在相同頁面開啟鏈結。而 blank 則是在新的視窗開啟鏈結。而有框架布局時。ahref target self self 鏈結的畫面內容顯示在當前視窗,同視窗開啟 a...