python—網絡爬蟲(Requests庫主要方法解析)
Requests庫主要方法解析
requests.request() 構造一個請求,支撐以下各方法的基礎方法
requests.request(method, url, **kwargs)
method: 請求方式,對應get/put/post等七種
url:擬獲取頁面的url鏈接
**kwargs: 控制訪問的參數共13個。
requests.request(‘GET‘, url, **kwargs)
requests.request(‘HEAD‘, url, **kwargs)
requests.request(‘POST‘, url, **kwargs)
requests.request(‘PUT‘, url, **kwargs)
requests.request(‘PATCH‘, url, **kwargs)
requests.request(‘DELETE‘, url, **kwargs)
requests.request(‘OPTIONS‘, url, **kwargs)
其中,OPTIONS只是一種與http通信的一個參數,與http協議無關,通常很少用到
requests.request(method, url, **kwargs)
**kwargs: 控制訪問的參數,均為可選項
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
data:字典、字節序列或文件對象,作為Request的內容
>>> 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)
json:JSON格式的數據,作為Request的內容
>>> kv={‘key1‘:‘value1‘}
>>> r=requests.request(‘POST‘,‘http://python123.io/ws‘,json=kv)
headers:字典,HTTP定制頭
>>>hd={‘user-agent‘:‘Chrome/10‘}
>>>r=requests.request(‘POST‘,‘http://python123.io/ws‘,headers=hd)
cookies:字典或CookieJar, Request中的cookie
auth:元組,支持HTTP認證功能
files:字典類型,傳輸文件
>>>fs={‘file‘:open(‘data.xls‘,‘rb‘)
>>>r=requests.request(‘POST‘,‘http://python123.io/ws‘, files=fs)
timeout:設定超時間,秒為單位
>>>r=requests.request(‘GET‘,‘http://www.baidu.com‘,timeout=10)
proxies:字典類型,設定訪問代理服務器,可以增加登錄認證
>>>pxs={‘http‘:‘http://user:[email protected]:1234‘, ‘https‘:‘https://10.10.10.1:4321‘ }
>>>r=requests.request(‘GET‘,‘http://www.baidu.com‘,proxies=pxs)
allow_redirects: True/False, 默認為True, 重定向開關
stream: True/False,默認為True,獲取內容立即下載開關
varify: True/False,默認為True,認證SSL證書開關
cert:本地SSL證書路徑
requests.request(method,url,**kwargs)
**kwargs:控制訪問的參數(13個),均為可選項
params
data
json
headers
cookies
auth
files
timeout
proxies
allow_redirects
stream
verify
cert
requests.get(url, params=None,**kwargs)
url:擬獲取頁面的url鏈接
params:url中的額外參數,字典或字節流格式,可選。
**kwargs: 12個控制訪問參數(就是request裏面對應的除了params參數之外的對應參數)
requests.head(url,**kwargs)
url:擬獲取頁面的url鏈接
**kwargs:13個控制訪問的參數(與request完全一樣)
requests.post(url,data=None, json=None,**kwargs)
url:擬獲取頁面的url鏈接
data:字典、字節序列或文件,Request的內容
json:JSON格式的數據,Request的內容
**kwargs:11個控制訪問的參數
requests.put(url,data=None,**kwargs)
url:擬獲取頁面的url鏈接
data:字典、字節序列或文件,Request的內容
**kwargs: 12個控制訪問參數。
requests.patch(url,data=None,**kwargs)
url:擬獲取頁面的url鏈接
data:字典、字節序列或文件,Request的內容
**kwargs:12個控制訪問參數。
requests.delete(url,**kwargs)
url:擬獲取頁面的url鏈接
**kwargs:13個控制訪問的參數。
python—網絡爬蟲(Requests庫主要方法解析)