搜狗詞庫爬蟲(2) 基礎爬蟲框架的執行流程

2021-08-08 16:48:58 字數 1108 閱讀 3838

系列目錄:

搜狗詞庫爬蟲(1):基礎爬蟲架構和爬取詞庫分類

各模組對應的內容如下:

getcategory.py,提取詞庫分類id和名字,以字典形式返回。

spiderman.py,爬蟲排程器。

urlmanager.py,url管理器。

htmlparser.py,網頁解析器。

dataoutput.py,資料儲存器。

sogoudictparser.py,搜狗詞庫解析器。

url管理器urlmanager.py管理待爬取url集合和已爬取url集合,防止鏈結重複爬取,因為鏈結重複時容易造成死迴圈,防止迴圈抓取(如兩個網頁相互引用造成死迴圈)。url管理器實現方式主要有三種:記憶體去重、關聯式資料庫去重、快取資料庫去重。大型爬蟲基本上採用快取資料庫的去重方案,搜狗詞庫爬蟲的爬取數量較小,因此採用python中set這個記憶體去重方式。

url管理器需要有如下基本功能。

url管理器除了具有兩個url集合,還提供如下介面:

has_new_url,判斷是否有待爬取的url。

add_new_url(url),add_new_urls(urls),新增新的url到未爬取集合中。

get_new_url,獲取乙個未爬取的url。

new_url_size,獲取未爬取的url集合的大小。

old_url_size,獲取已經爬取的url集合的大小。

解析出新的url鏈結交給資料儲存器,通過正規表示式分析當前訪問頁面的原始碼,獲取當前頁面可以跳轉到的其他頁面的url,將這些url交給url管理器。

基礎爬蟲框架

url管理器 class urlmanager object def init self self.new urls set 未爬取url集合 self.old urls set 已爬取url集合 def has new url self 判斷是否有未爬取的url return self.new u...

Python爬蟲入門(2) 爬蟲基礎了解

爬蟲,即網路爬蟲,大家可以理解為在網路上爬行的一直蜘蛛,網際網路就比作一張大網,而爬蟲便是在這張網上爬來爬去的蜘蛛咯,如果它遇到資源,那麼它就會抓取下來。想抓取什麼?這個由你來控制它咯。比如它在抓取乙個網頁,在這個網中他發現了一條道路,其實就是指向網頁的超連結,那麼它就可以爬到另一張網上來獲取資料。...

爬蟲基礎4 框架Scrapy

scrapy是乙個為了爬取 資料,提取結構性資料而編寫的應用框架。其可以應用在資料探勘,資訊處理或儲存歷史資料等一系列的程式中。其最初是為了頁面抓取 更確切來說,網路抓取 所設計的,也可以應用在獲取api所返回的資料 例如 amazon associates web services 或者通用的網路...