網頁獲取一般使用requests庫。 requests庫 1、定義:requests庫是個簡潔而且簡單的處理HTTP請求的第三方庫。 2、requests庫中的網頁請求函數: 函數 描述 get(url,[,timeout = n]) 對應HTTP的GET方式,獲取網頁的最常用的方法,可增加time ...
網頁獲取一般使用requests庫。
requests庫
1、定義:requests庫是個簡潔而且簡單的處理HTTP請求的第三方庫。
2、requests庫中的網頁請求函數:
函數 | 描述 |
get(url,[,timeout = n]) |
對應HTTP的GET方式,獲取網頁的最常用的方法,可增加timeout=n參數,設定每次請求超時時間為n秒 |
post(url,data = {'key':'value'}) | 對應HTTP的POST方式,其中字典用於傳遞客戶數據 |
delete(url) | 對應HTTP的DELETE方式 |
head(url) | 對應HTTP的HEAD方式 |
options(url) | 對應HTTP的OPTIONS方式 |
put(url,data = {'key':'value'}) | 對應HTTP的PUT方式,其中字典用於傳遞客戶數據 |
註:get()是獲取網頁的最常用的方法,在調用requests.get()函數後,返回的網頁內容會保存為一個Response對象,其中,get()函數的參數url必須鏈接採用HTTP或HTTPS方式訪問。
3、Response對象的屬性:
屬性 | 描述 |
status_code | HTTP請求的返回狀態,整數,200表連接成功,404表失敗 |
text | HTTP響應內容的字元串形式,即,也是url對應的頁面內容 |
encoding | HTTP響應內容的編碼形式 |
content | HTTP響應內容的二進位形式 |
例1:
4、Response對象的方法:
方法 | 描述 |
json() | 如果HTTP響應內容包含json格式數據,該方法解析JSON數據 |
raise_for_status() | 如果不是200,該方法就會產生異常 |
5、網頁獲取
import requests def gethtml(url): try: r = requests.get(url,timeout = 30) r.raise_for_status() r.encoding = 'utf-8' return r.text except: return "" url = "http://www.baidu.com" print(gethtml(url))
結果如下: