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:pass@10.10.10.1: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个控制访问的参数。