python3 爬虫学习python爬虫库-requests使用
python3 爬虫库requests介绍
在python3的爬虫库中,requests是日常使用的非常多的第三方库之一。
# requests库安装命令
pip install requests
# 如果安装超时,可以更换国内源安装,以下为清华源
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
requests使用示例
#导入requests模块
import requests
requests.get()方法
import requests # 导入requests模块
url = 'http://www.baidu.com' # 目标url地址
re = requests.get(url) # 发起请求
print(re) #输出:<Response [200]>
在上面的示例中,我们使用requests.get()
方法发起请求,并把服务器的响应结果存到变量re
中,最后输出的结果表示<Response [200]>
。Response
表示响应对象,200
表示状态码,即请求成功的意思。
更多HTTP请求响应码详细解析点这里
Response 对象的常用属性
下方的re
为自定义变量
属性 | 描述 |
---|---|
re.status_code | 响应的HTTP状态码 |
re.text | 响应内容的字符串形式 |
re.content | 响应内容的二进制形式 |
re.encoding | 响应内容的编码格式 |
requests的常用函数
1. requests.request(method,url,**kwargs)
-
method:请求方式,对应get/put/post等七种
-
url:拟获取页面的url链接
-
**kwargs:控制访问参数,共13个
-
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)
-
**kwargs:控制访问参数,为可选项
-
params : 字典或字节序列,作为参数增加到url中
-
data : 字典、字节序列或文件对象,作为Request的内容
-
json : JSON格式的数据,作为Request的内容
-
headers : 字典,HTTP定制头
-
cookies : 字典或CookieJar,Request中的auth : 元组支持HTTP认证功能
-
files : 字典类型,传输文件
-
timeout : 设定超时时间,秒为单位
-
proxies : 字典类型,设定访问代理服务器,可以增加登录认证
-
allow_redirects : True/False,默认为True,重定向开关
-
stream : True/False,默认为True,获取内容立即下载开关
-
verify : True/False,默认为True,认证SSL证书开关
-
cert : 本地SSL证书
-
auth : 元组,支持HTTP认证功能
2. requests.get(url,params=None,**kwargs)
-
url : 拟获取页面的url链接
-
params : url中的额外参数,字典或字节流格式,可选
-
**kwargs: 12个控制访问的参数
3. requests.head(url,**kwargs)
-
url : 拟获取页面的url链接
-
**kwargs: 12个控制访问的参数(除params)
4. requests.post(url,data=None,json=None,**kwargs)
-
url : 拟更新页面的url链接
-
data : 字典、字节序列或文件,Request的内容
-
json : JSON格式的数据,Request的内容
-
**kwargs: 11个控制访问的参数(除data,json)
5. requests.put(url,data=None,**kwargs)
-
url : 拟更新页面的url链接
-
data : 字典、字节序列或文件,Request的内容
**kwargs: 12个控制访问的参数(除data)
6. requests.patch(url,data=None,**kwargs)
-
url : 拟更新页面的url链接
-
data : 字典、字节序列或文件,Request的内容
-
**kwargs: 12个控制访问的参数(除data)
7. requests.delete(url,**kwargs)
-
url : 拟删除页面的url链接
-
**kwargs: 13个控制访问的(同1)