1. 程式人生 > >Python爬蟲筆記(一)

Python爬蟲筆記(一)

目錄

Python爬蟲筆記

一、爬蟲簡介

1、爬蟲是什麼?

2、爬蟲的技術價值

二、簡單的爬蟲架構

1、簡單爬蟲架構

2、簡單爬蟲的執行流程

三、爬蟲架構分析

1、URL管理器

2、網頁下載器

3、網頁解析器


Python爬蟲筆記

一、爬蟲簡介

1、爬蟲是什麼?

爬蟲:一段自動抓取網際網路資訊的程式。

如圖:

如圖所示,爬蟲就是從網際網路中的一個URL出發,訪問它所能達到的所有URL,並且獲取到需要的價值資料;

2、爬蟲的技術價值

價值:網際網路資料,為我所用;

例如:

二、簡單的爬蟲架構

1、簡單爬蟲架構

如圖:

在這個簡單的爬蟲框架中,我們可以看到三個主要的組成部分,其中URL管理器負責管理需要去訪問的URL;網頁下載器負責下載正在訪問的頁面的html資料;網頁解析器負責解析html中的資料資訊,同時將需要用到的URL傳送給URL管理器;這樣一來,三者形成了一個迴圈,這個迴圈可以幫助我們訪問網際網路。

2、簡單爬蟲的執行流程

三、爬蟲架構分析

1、URL管理器

URL管理器:管理待抓取URL的集合和已抓取URL的集合;

這樣做的目的是:

  • 防止重複抓取、防止迴圈抓取

URL管理器的主要流程為:

  1. 在新增新的URL到待爬取集合中之前,判斷待新增的URL是否在容器中;
  2. 在獲取帶爬取URL之前,判斷是否還有待爬取URL;
  3. 在爬取到該URL之後,將該URL從待爬取移動到已爬取;

具體實現方式目前有三種方式:

這三種方式都是為了防止在儲存URL時出現URL重複的錯誤;

2、網頁下載器

網頁下載器:將網際網路上的URL對應的網頁下載到本地的工具;(可以說網頁下載器是爬蟲的核心)

python支援的網頁下載器有urllib2;

使用urllib2下載網頁有三種方法:

第一種最為簡潔:

第二種方法相比第一種,多了兩個引數,分別是data和http header:

第三種方法相比於前兩種方法,可以新增特殊場景的處理器;

3、網頁解析器

網頁解析器:從網頁中提取出有價值資料的一種工具;

python中的網頁解析器有以下幾種:

  1. 模糊匹配:正則表示式
  2. 結構化解析:html.parser,Beautifer soup,lxml等