1. 程式人生 > >python—網絡爬蟲(Requests庫主要方法解析)

python—網絡爬蟲(Requests庫主要方法解析)

代理 coo put color 服務器 爬蟲 ont s參數 協議

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庫主要方法解析)