用Python寫爬蟲(1)
阿新 • • 發佈:2018-12-16
一、網路爬蟲與搜尋引擎的關係
爬蟲相當於眼睛和耳朵,是收集資料的。
引擎相當於大腦,是理解和處理資料的。
搜尋引擎大致可分為四個子系統:下載系統、分析系統、索引系統、查詢系統。而爬蟲只是下載系統
上圖是搜尋引擎的一個簡單抽象模型。
從中可以看出爬蟲是搜尋引擎的一部分,用於蒐集資訊(下載網頁內容),蒐集來的資訊形成網頁的備份,需要搜尋引擎的其他部分經過一系列的分析整理後才能使用。
上圖是爬蟲的基本構架。
一般大型的商業化搜尋引擎使用的爬蟲為“通用網路爬蟲”。
這種爬蟲需要爬取的是整個網際網路的網頁資源,所以對其效能的要求極高。需要投入較大的人力物力來優化爬蟲的爬取演算法。
現在是“大資料時代”,我們需要的資源存在於網際網路海量的資料之中,有時候我們從搜尋引擎中搜索到的資料不能很好的為我們所用。那我們怎樣才能從資料的海洋中提取出真正我們需要的寶藏呢?
我們需要自己的得手利器,打造一款適合自己需求的個性化爬蟲程式,這就是“聚焦網路爬蟲”。
聚焦網路爬蟲(簡稱聚焦爬蟲)也叫主題網路爬蟲,可以按照對應的主題有目的地爬取,節約了大量的伺服器和寬頻資源,具有很強的實用性。
聚焦爬蟲的工作流程:
1.給爬蟲一個初始URL;
2.將初始URL傳遞到URL佇列;
3.頁面爬行模組從URL佇列中讀取URL列表;
4.頁面爬行模組根據URL進行頁面爬取;
5.將爬取的內容儲存在頁面資料庫中;
6.將爬取到的新URL使用連結過濾模組;
7.剩下的URL用連結評價模組或內容評價模組 優先順序排序;
8.新的URL地址傳遞到URL佇列;
9.在頁面資料庫中使用頁面分析模組;
我們可以使用網路資料採集程式來練習,例如metaseeker程式。
通過使用這個程式,可以加深我們對於爬蟲工作原理的理解。