AI-数据采集-requests模块的基本使用(二)

网友投稿 607 2022-05-30

对于Requests模块我准备分为四部分给大家简单的介绍一下

一.requests模块的基本使用

requests模块的作用是发送网络请求,返回响应数据、

给大家提供requests的中文文档供大家参考: https://requests.readthedocs.io/zh_CN/latest/user/quickstart.html

这里我来给大家举点例子方便大家更好的理解requests的一些用法以及作用。

1.需求:requests发送简单的get请求向百度首页发送请求,获取百度首页数据。

大家可以看到这样输出结果有很多乱码  ,这是因为编码使用的字符集不同造成的,requests.text是按照chardet模块推测出的编码字符集进行解码的,而网络传输的字符串都是bytes类型,所以需要修改代码为:

这里给大家介绍一下response.txt和response.content的区别

● response.text

○ 类型:str

○ 解码类型:requests模块自动根据HTTP头部对响应的编码做出有根据的推测,推测的文本编码

○ 如何修改编码方式:response.encoding="gbk"

● response.content

○ 类型:bytes

○ 解码类型:没有指定

AI-数据采集-requests模块的基本使用(二)

○ 如何修改编码方式:response.content.decode("utf-8")

response响应对象的其他的属性和方法也有很多,给大家举几个常用的例子。

● response.url 响应的url;有时候响应的url和请求的url并不一致

● response.status_code 响应状态码

● response.request.headers 响应对应的请求头

● response.headers 响应头

● response.request._cookies 响应对应请求的cookie;返回cookieJar类型

● response.json() 自动将json字符串类型的响应内容转换成python对象(dict or list)

另外还可以发送带参数的请求,请求参数的形式是字典,用法为:requests.get(url,params=参数)

下面给大家展示两种带参数的请求方式:

源码我会上传至附件,大家可以看看。

附件: requests.zip 5.55KB 下载次数:1次

AI

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:DevCloud新手课堂 之 两步通过构建任务发布软件包到私有依赖库
下一篇:【第五弹】云安全新品发布短评系列——安全也可以动手试一试
相关文章