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...