Python爬虫基础-requests模块-5

120 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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)               # 打印响应结果

程序运行结果如下: image.png 从上面程序运行结果可以看出,提交的图片文件被指定在files中,红色框内files对应的数据中可以发现post()函数将上传的文件转换为Base64的编码格式。

写在后面

感谢观看啦✨
有什么不足,欢迎指出哦💖
掘金的运营同学审核辛苦了💗