持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第13天,点击查看活动详情
requests请求模块5
写在前面
一个学生,请多多关照,希望能在掘金记录自己的学习历程!❤️
这一篇是接着上一篇的基础写的,也就是Python爬虫基础-requests模块-4这一篇,没有看过的请先去康康
识别网络异常的分类
针对网络异常信息,requests模块同样提供了三种常见的网络异常类捕捉异常,示例代码如下:
import requests # 导入网络请求模块
# 导入requests.exceptions模块中的三种异常类
from requests.exceptions import ReadTimeout,HTTPError,RequestException
# 循环发送请求50次
for a in range(0, 50):
try: # 捕获异常
# 设置超时为0.1秒
response = requests.get('https://www.baidu.com/', timeout=0.1)
print(response.status_code) # 打印状态码
except ReadTimeout: # 超时异常
print('timeout')
except HTTPError: # HTTP异常
print('httperror')
except RequestException: # 请求异常
print('reqerror')
上传文件
使用requests模块实现向服务器上传文件也是非常简单的,只需要知道post()函数中的files参数即可。files参数可以指定一个BufferedReader对象,该对象可以使用内置的open()函数返回,使用requests模块上传文件的示例代码如下:
import requests # 导入网络请求模块
bd = open('百度logo.png','rb') # 读取指定文件
file = {'file':bd} # 定义需要上传的图片文件
# 发送上传文件的网络请求
response = requests.post('http://httpbin.org/post',files = file)
print(response.text) # 打印响应结果
程序运行结果如下:
从上面程序运行结果可以看出,提交的图片文件被指定在files中,红色框内files对应的数据中可以发现post()函数将上传的文件转换为Base64的编码格式。
写在后面
感谢观看啦✨
有什么不足,欢迎指出哦💖
掘金的运营同学审核辛苦了💗