爬蟲 獲取頁面 request庫的使用

2022-08-28 12:48:14 字數 1094 閱讀 4419

requests是乙個封裝了python自帶的urllib模組的乙個易用型模組,它使得程式設計師對傳送請求和獲取響應等http操作的**編寫更加簡單。

import requests
基本步驟如下:

設定請求頭資訊,一般是改變user-agent

通過get()方法獲取頁面資訊

判斷是否發生異常

如無異常返回頁面的文字或者二進位制資訊

以下是乙個獲取目標頁面的方法:

def gethtmltext(url):

'獲取目標頁面'

try:

kv = # 設定user-agent

r = requests.get(url, timeout=30) # 獲取頁面,設定超時時間為30s

r.raise_for_status() # 如果狀態碼不是200,引發httperror異常

return r.text # 如果需要二進位制資訊,應該使用r.content

except:

return '產生異常'

上面**實現了乙個獲取目標頁面的方法,我們可以使用這個方法進行一些測試,比如:

訪問京東的乙個商品頁面:

url = ""

text = gethtmltext(url)

print(text[:1000]) # 輸出前面1000個字元的資訊

訪問亞馬遜的乙個商品頁面:

url = ""

text = gethtmltext(url)

print(text[:1000]) # 輸出前面1000個字元的資訊

可以發現,上面兩個例子的**除了url外是相同的,不過這兩個**實際上又是有所不同的,就是京東不會限制python程式的訪問,而亞馬遜會。在這裡,**伺服器是通過判斷請求頭的user-agent欄位來判斷是否是瀏覽器訪問,如果不是,可能會被**禁止訪問。所有,最好在傳送請求之前先設定好user-agent。

user-agent的設定:r = requests.get(url, headers=)

檢視當前請求頭資訊:r.headers

python爬蟲利器 request庫

request庫比urllib2庫更為高階,因為其功能更強大,更易於使用。使用該庫可以十分方便我們的抓取。基本請求 r requests.get r requests.post r requests.put r requests.delete r requests.head r requests.o...

爬蟲request庫簡單使用

為什麼要學習requests,而不是urllib requests的底層實現就是urllib requests在python2和python3通用,法完全 樣 requests簡單易 requests能夠 動幫助我們解壓 gzip壓縮的 網頁內容 requests的作用 作 傳送 絡請求,返回相應資...

爬蟲request庫規則與例項

request庫的7個主要方法 requests.request method,url,kwargs r requests.request get url,kwargs r requests.request head url,kwargs params 字典或位元組序列,作為引數增加到url中 da...