1. 程式人生 > >用Python寫爬蟲(1)

用Python寫爬蟲(1)

一、網路爬蟲與搜尋引擎的關係

 

爬蟲相當於眼睛和耳朵,是收集資料的。

引擎相當於大腦,是理解和處理資料的。

 

搜尋引擎大致可分為四個子系統:下載系統、分析系統、索引系統、查詢系統。而爬蟲只是下載系統

  

上圖是搜尋引擎的一個簡單抽象模型。

從中可以看出爬蟲是搜尋引擎的一部分,用於蒐集資訊(下載網頁內容),蒐集來的資訊形成網頁的備份,需要搜尋引擎的其他部分經過一系列的分析整理後才能使用。


上圖是爬蟲的基本構架。

一般大型的商業化搜尋引擎使用的爬蟲為“通用網路爬蟲”。

這種爬蟲需要爬取的是整個網際網路的網頁資源,所以對其效能的要求極高。需要投入較大的人力物力來優化爬蟲的爬取演算法。

 

現在是“大資料時代”,我們需要的資源存在於網際網路海量的資料之中,有時候我們從搜尋引擎中搜索到的資料不能很好的為我們所用。那我們怎樣才能從資料的海洋中提取出真正我們需要的寶藏呢?

 

我們需要自己的得手利器,打造一款適合自己需求的個性化爬蟲程式,這就是“聚焦網路爬蟲”。

 

聚焦網路爬蟲(簡稱聚焦爬蟲)也叫主題網路爬蟲,可以按照對應的主題有目的地爬取,節約了大量的伺服器和寬頻資源,具有很強的實用性。

聚焦爬蟲的工作流程:

1.給爬蟲一個初始URL;

2.將初始URL傳遞到URL佇列;

3.頁面爬行模組從URL佇列中讀取URL列表;

4.頁面爬行模組根據URL進行頁面爬取;

5.將爬取的內容儲存在頁面資料庫中;

6.將爬取到的新URL使用連結過濾模組;

7.剩下的URL用連結評價模組或內容評價模組 優先順序排序;

8.新的URL地址傳遞到URL佇列;

9.在頁面資料庫中使用頁面分析模組;


我們可以使用網路資料採集程式來練習,例如metaseeker程式。

通過使用這個程式,可以加深我們對於爬蟲工作原理的理解。