系列目錄:
搜狗詞庫爬蟲(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 或者通用的網路...