- 1、requests库的安装:
windows平台以管理员身份运行cmd,执行pip install requests

测试安装结果:
import requests
>>> r=requests.get("http://www.baidu.com")
>>> r.status_code
200
>>> r.encoding="utf-8"
>>> r.text

- 2、requests库的七个主要方法及说明:
| 方法 | 说明 |
|---|---|
| requests.request() | 构造一个请求,支持以下各个方法的基础方法 |
| requests.get() | 获取HTML网页的主要方法,对应与HTTP的GET |
| requests.head() | 获取HTML网页的头部信息,对应于HTTP的HEAD |
| requests.post() | 向HTML网页提交的POST请求的方法,对应于HTTP的POST |
| requests.put() | 向HTML网页提交的PUT请求的方法,对应于HTTP的PUT |
| requests.patch() | 向HTML网页提交的局部修改请求,对应于HTTP的PATCH |
| requests.delete() | 想HTML网页提交的删除请求,对应于HTTP中的DELETE |
(1) get()方法:
requests.get(url,params=None, kwargs)
∙ url: 拟获取页面的url链接
∙ params: url中的额外参数,字典或字节流格式,可选
∙kwargs: 12个控制访问的参数
构造一个向服务器请求资源的Request对象
返回一个包含服务器资源的Response对象
Response对象返回包含爬虫返回的内容
使得url带有参数,使得服务器利用参数筛选
requests.get(url,params=None, kwargs)
∙ url: 拟获取页面的url链接
∙ params: url中的额外参数,字典或字节流格式,可选
∙kwargs: 12个控制访问的参数
get方法:
>>> import requests
>>> kv={'key1':'value1','key2':'value2'}
>>> r=requests.request('GET','http://python123.io/ws',params=kv)
>>> print(r.url)
https://python123.io/ws?key1=value1&key2=value2
>>>
(2)Requests库的head()方法
requests.head(url,kwargs)
∙ url: 拟获取页面的url链接
∙kwargs: 12个控制访问的参数
>>> r.requests. head(‘http : //httpbin. org/get’)
>>> r. headers
{'Content-Length': '238'. ‘Access-Control-Allow-Origin':'*','Access-
Control-Allow-Credentials':'true','Content-Type':
'appllcation/json','Server':'nginx','Connection’:'Keep-alive’,
'Date':'Sat,18 Feb 2017 1207:44 GMT'}
> > > r. text

(3)Requests库的post()方法
requests.post(url,data=None, json=None, **kwargs)
∙ url: 拟更新页面的url链接
∙ data : 字典、字节序列或文件,Request的内容
∙ json: JSON格式的数据,Request的内容
∙****kwargs: 12个控制访问的参数
>>> payload={'key1':'vaıue1','key2':'value2'}
>>> r = requests. post(‘http : //httpbin. org/post’, data=payload)
>>> print(r.text)
{…
"form”:{ #向URL POST一个字典
" key2":”value2", # 自动编码为form(表单)
" key1":"value1"
},
}
*(4)Requests库的put()方法
requests.put(url,data=None, **kwargs)
∙ url: 拟更新页面的url链接
∙ data : 字典、字节序列或文件,Request的内容
∙ *kwargs: 12个控制访问的参数
>>> payload={'key1':'vaıue1','key2':'value2'}
>>> r = requests. put(‘http : //httpbin. org/post’, data=payload)
>>> print(r.text)
{…
"form”:{
" key2":”value2",
" key1":"value1"
},
}
(5)requests.patch(url,data=None, **kwargs)
∙ url: 拟更新页面的url链接
∙ data : 字典、字节序列或文件,Request的内容
∙ **kwargs: 12个控制访问的参数
(6)requests.delete(url,kwargs)
∙ url: 拟删除页面的url链接
∙kwargs: 12个控制访问的参数
(5)Requests库的request()方法
Requests.request(method,url,**kwargs)
Method:请求方式,对应get/put/post等7种
url:拟获取页面的url链接
**kwargs:控制访问的参数,共13个
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,获取内容立即下载开关
- verify : True/False,默认为True,认证SSL证书开关
- cert : 本地SSL证书路径
Method: 请求方式
R=requests.request(‘GET’.url,**kwargs)
R=requests.request(‘HEAD’.url,**kwargs)
R=requests.request(‘POST’.url,**kwargs)
R=requests.request(‘PUT’.url,**kwargs)
R=requests.request(‘PATCH’.url,**kwargs)
R=requests.request(‘delete’.url,**kwargs)
R=requests.request(‘OPTIONS’.url,**kwargs)
本文介绍了Python爬虫中requests库的安装过程,并详细解析了get、head、post、put、patch、delete以及request这七个主要方法的用法,包括各方法的参数及其在HTTP请求中的作用。
4万+

被折叠的 条评论
为什么被折叠?



