1. 程式人生 > >python網路爬蟲入門簡介

python網路爬蟲入門簡介

python爬蟲的一些理解

(整理的有點亂,請多多關照)

1 . 爬蟲簡介

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

2. 爬蟲價值

資訊資料

3. 爬蟲架構

爬蟲架構過程

4. 執行流程

(解:執行從上到下流程)
排程器 **** URL管理器 **** 下載器 **** 解析器 ***** 應用
-----有待爬URL—→
←-----是/否--------
-----獲取1個帶爬URL→
←----- URL --------
----------------下載URL內容-------- →
----------------URL的內容----------- →
------------------------解析URL內容------------- -→
--------------------價值資料,新URL列表----------- →
------------------------------收集價值資料------------------------→
-----新增到待爬URL—→

URL管理器

URL管理器:管理待抓取URL集合和已抓取URL集合
防止重複抓取、防止迴圈抓取

URL過程

URL管理器 : 實現方式

URL管理器實現

網頁下載器

網頁下載器

網頁下載器 - urllib2

  1. urllib2下載網頁的方法1:
    網頁下載器

直接請求

response = urllib2.urlopen(‘http://www.baidu.com’)

獲取狀態碼,如果是200表示獲取成功

print response.getcode()

讀取內容

cont = response.read()

第二種方法

  1. urllib2下載網頁方法2: 新增data、http header

         url       data      header
         ↘          ↓         ↙
              urllib2.Request
                      ↓
            urllib2.urlopen(request)
    

操作程式碼

import urllib2

#建立Request物件
request = urllib2.Request(url)

#新增資料
request.add_header(‘User-Agent’, ‘Mozilla/S.0’)

傳送請求獲取結果

response = urllib2.urlopen(request)

第三種辦法(登陸才能訪問)

urllib2下載網頁方法3: 新增特殊場景的處理器
登陸

操作程式碼

import urllib2, cookielib

建立cookie容器

cj = cookielib.CookieJar()

建立1個opener

opener = urllib2.build_opener(urllib2.HTTPCookiePRocessor(cj))

給urllib2安裝opener

urllib2.install_opener(opener)

使用帶有cookie的urllib2訪問網頁

response = urllib2.urlopen(“http://www.baidu.com/”)