網頁獲取一般使用requests庫,
requests庫
1、定義:requests庫是個簡潔而且簡單的處理HTTP請求的第三方庫,
2、requests庫中的網頁請求函式:
| 函式 | 描述 |
|
get(url,[,timeout = n]) |
對應HTTP的GET方式,獲取網頁的最常用的方法,可增加timeout=n引數,設定每次請求超時時間為n秒 |
| post(url,data = https://www.cnblogs.com/deng11/p/{'key':'value'}) | 對應HTTP的POST方式,其中字典用于傳遞客戶資料 |
| delete(url) | 對應HTTP的DELETE方式 |
| head(url) | 對應HTTP的HEAD方式 |
| options(url) | 對應HTTP的OPTIONS方式 |
| put(url,data = https://www.cnblogs.com/deng11/p/{'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))
結果如下:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148133.html
標籤:Python
