1、安装
- Linux
-
sudo pip3 install requests
- Windows
-
# 进入cmd命令行
python -m pip install requests
2、用法1:requests.get()
- 作用
-
# 向网站发起请求,并获取响应对象
res = requests.get(url,headers=headers)
- 参数
-
1、url :需要抓取的URL地址
2、headers : 请求头
3、timeout : 超时时间,超过时间会抛出异常
- 响应对象(res)属性
-
1、encoding :响应字符编码
res.encoding = 'utf-8'
2、text :字符串
3、content :字节流
4、status_code :HTTP响应码
5、url :实际数据的URL地址
- 示例
import requests
url = 'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1567090051520&di=77e8b97b3280f999cf51340af4315b4b&imgtype=jpg&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20171121%2F4e6759d153d04c6badbb0a5262ec103d.jpeg'
headers = {'User-Agent':'Mozilla/5.0'}
html = requests.get(url=url,headers=headers).content
with open('花千骨.jpg','wb') as f:
f.write(html)
3、用法2:requests.get() 参数:params
- 参数类型:
- 使用方法:
-
1、res = requests.get(url,params=params,headers=headers)
2、特点:
a) url为基准的url地址,不包含查询参数
b) 该方法会自动对params字典编码,然后和url拼接
- 示例:
-
import requests
baseurl = 'http://tieba.baidu.com/f?'
params = {
'kw' : '赵丽颖吧',
'pn' : '50'
}
headers = {'User-Agent' : 'Mozilla/4.0'}
# 自动对params进行编码,然后自动和url进行拼接,去发请求
res = requests.get(url=baseurl,params=params,headers=headers)
res.encoding = 'utf-8'
print(res.text)
4、用法4:requests.get() Web 客户端验证参数-auth
- 作用及类型
-
1、针对于需要web客户端用户名密码认证的网站
2、auth = ('username','password')
res = requests.get(
url=url,
params=params,
auth=auth,
headers=headers,
timeout=3
)
5、用法5:SSL证书认证参数-verify
- 适用网站及场景:
-
1、适用网站: https类型网站但是没有经过 证书认证机构 认证的网站
2、适用场景: 抛出 SSLError 异常则考虑使用此参数
- 参数类型:
-
1、verify=True(默认) : 检查证书认证
2、verify=False(常用): 忽略证书认证
# 示例
response = requests.get(
url=url,
params=params,
headers=headers,
verify=False
)
6、用法6:requests.post()
- 适用场景:
- 参数-data
-
response = requests.post(url,data=data,headers=headers)
# data :post数据(Form表单数据-字典格式)
- 请求方式的特点:
-
# 一般
GET请求 : 参数在URL地址中有显示
POST请求: Form表单提交数据