Requests庫入門

Requests庫

  • 7個主要方法

(1) requests.requests()python

(2) requests.get()json

(3) requests.head()服務器

(4) requests.post()cookie

(5) requests.put()app

(6) requests.patch()框架

(7) requests.delete()post

  • response對象的屬性
屬性 說明
r.status_code HTTP請求的返回狀態,200表示鏈接成功,404表示失敗
r.text HTTP響應內容的字符串形式,即,url對應的頁面內容
r.encoding 從HTTP header中猜想的響應內容編碼方式
r.apparent_encoding 從內容中分析出的響應內容編碼方式(備選編碼方式)
r.content HTTP響應內容的二進制形式
  • 爬取網頁通用代碼框架
import requests
def getHTMLText(url):
    try:
        r = requests.get(url,timeout = 30)
        r.raise_for_status()
        r.encoding = r.apparent_encoding
        return r.text
    except:
        return "Something Wrong!!!"

** requests訪問控制參數

(1) params : 字典或字節序列,做爲參數增長到url中編碼

kv = {'key1': 'value1', 'key2': 'value2'}
 r = requests.request('GET', 'http://python123.io/ws', params=kv)
 print(r.url)
http://python123.io/ws?key1=value1&key2=value2

(2) data : 字典、字節序列或文件對象,做爲Request的內容url

kv = {'key1': 'value1', 'key2': 'value2'}
 r = requests.request('POST', 'http://python123.io/ws', data=kv)
 body = '主體內容'
 r = requests.request('POST', http://python123.io/ws',data=body)

(3) json : JSON格式的數據,做爲Request的內容代理

kv = {'key1': 'value1'}
r = requests.request('POST', 'http://python123.io/ws', json=kv)

(4)headers : 字典,HTTP定製頭

hd = {'user‐agent': 'Chrome/10'}
r = requests.request('POST', 'http://python123.io/ws', headers=hd)

(5)files : 字典類型,傳輸文件

fs = {'file': open('data.xls', 'rb')}
r = requests.request('POST', 'http://python123.io/ws', files=fs)

(6)timeout : 設定超時時間,秒爲單位

r = requests.request('GET', 'http://www.baidu.com', timeout=10)

(7)proxies : 字典類型,設定訪問代理服務器,能夠增長登陸認證

pxs = { 'http': 'http://user:pass@10.10.10.1:1234'
'https': 'https://10.10.10.1:4321' }
r = requests.request('GET', 'http://www.baidu.com', proxies=pxs)

(8)allow_redirects : True/False,默認爲True,重定向開關
(9)stream : True/False,默認爲True,獲取內容當即下載開關
(10)verify : True/False,默認爲True,認證SSL證書開關
(11)cert : 本地SSL證書路徑
(12)cookies : 字典或CookieJar,Request中的cookie
(13)auth : 元組,支持HTTP認證功能

相關文章
相關標籤/搜索