Python爬蟲入門三

2021-07-23 12:17:13 字數 2357 閱讀 2704

1.設定請求頭

我們繼續以教務系統為例,下面來模擬一下,用python登入教務系統,在入門二中分析了from data 中的資料,樣子是這樣的

from data

- username:******

- password:******x

- login:%b5%c7%a1%a1%c2%bc

那我們就在請求的時候將資料值傳過去**如下

import urllib2

import urllib

loginurl = ''

values =

data = urllib.urlencode(values)

request = urllib2.request(loginurl, data )

response = urllib2.urlopen(request)

page = response.read()

print page

執行之後,我們發現並沒有登入進去那麼這是什麼原因呢,這是因為伺服器在接收請求的時候發現,傳送請求的不是瀏覽器,所以伺服器不會去響應這個請求。

那麼如何假裝我們的爬蟲發出的請求是瀏覽器發出的呢,在這裡就要設定請求頭,

**如下

import urllib2

import urllib

loginurl = ''

values =

user_agent = 'user-agent:mozilla/5.0 (windows nt 10.0; win64; x64)'

headers =

data = urllib.urlencode(values)

request = urllib2.request(loginurl, data,headers )

response = urllib2.urlopen(request)

page = response.read()

print page

可以看到多了user_agent,這個引數就可以假裝是瀏覽器發出的請求,在通過headers傳到請求中

2. proxy(**)的設定

urllib2 缺省會使用環境變數 http_proxy 來設定 http proxy。假如乙個**它會檢測某一段時間某個ip 的訪問次數,如果訪問次數過多,它會禁止你的訪問。所以你可以設定一些**伺服器來幫助你做工作,每隔一段時間換乙個**。

示例**如下:

import urllib2

enable_proxy = true

proxy_handler = urllib2.proxyhandler()

null_proxy_handler = urllib2.proxyhandler({})

if enable_proxy:

opener = urllib2.build_opener(proxy_handler)

else:

opener = urllib2.build_opener(null_proxy_handler)

urllib2.install_opener(opener)

3.使用debuglog

使用 urllib2 時,可以通過下面的方法把 debug log 開啟,這樣收發包的內容就會在螢幕上列印出來,方便除錯,有時可以省去抓包的工作

**如下:

response = urllib2.urlopen('')4.得到http響應碼

對於 200 ok 來說,只要使用 urlopen 返回的 response 物件的 getcode() 方法就可以得到 http 的返回碼。但對其它返回碼來說,urlopen 會丟擲異常。這時候,就要檢查異常物件的 code 屬性了:

Python爬蟲入門

今天看了菜鳥教程的python教程,準備做個小作業寫個爬蟲程式。其中主要涉及到基本語法 正規表示式 urllib和re兩個模組。import urllib 載入模組 import re defgethtml url page urllib.urlopen url html page.read ret...

python爬蟲入門

這幾天閒的無聊想做乙個爬蟲來爬取一些 正經 首先選擇用python作為爬蟲的語言。但是沒有接觸過python怎麼辦呢,只能從頭開始學了。python學習位址這個是廖大神寫的乙個python入門,個人感覺寫的非常不錯,在粗略的學習了一遍之後感覺可以開始我的爬蟲之旅了。目標 抓取中妹子的儲存在本地 接下...

python爬蟲入門

初學者要學會基本的爬蟲 先要安裝包requests requests的安裝 開啟這個 在這個 上面有很多 python 的第三方庫檔案,我們按 ctrl f 搜尋很容易找到 requests 如下圖,我們將第乙個資料夾,也就是 requests 資料夾複製到 python 的安裝目錄下的 lib 目...