上次我們從對爬蟲進行簡單的介紹,今天我們引入一個簡單爬蟲的技術架構,解釋爬蟲技術架構中的幾個模塊,對爬蟲先有一個整體的認知,方便對爬蟲的理解和後面的編程。
簡單的爬蟲架構:URL管理、網頁下載、網頁解析、輸出部分,如下圖:
1、URL管理器:防止重複抓取、防止循環抓取;URL是爬蟲爬取的入口和橋樑,除了入口URL外,剩下的URL我們需要在網頁上獲取並統一管理,防止重複抓取和防止循環抓取。
2、網頁下載器:將互聯網上URL對應的網頁下載到本地的工具,這是一個爬蟲的核心部分之一。
Python網頁下載器的種類:urllib2(python 官方基礎模塊)、requests(第三方包更強大)
urllib2下載網頁的方法
1).url ——> urllib2.urlopen(url)
2).url data header ——>urllib2.Request ——> urllib2.urlopen(request)
3).特殊情景處理
3、網頁解析器:從網頁中提取有價值的數據的工具,這是爬蟲的另一個核心部分。
Html網頁字符串——>網頁解析器——>價值數據/新URL列表
Python解析器的種類:正則表達式、html.parser、Beautiful Soup、lxml(Xpath)
4、輸出部分:把爬取的內容輸出到指定的文件或文件夾,如text文件、csv文件、mongodb中等等,方便後續數據處理。
好了,本篇主要是講了一個簡單的爬蟲架構,讓打家對Python爬蟲有個大觀的印象,後面我們繼續探討!