Python中requests函数的content和text方法的区别

这里写自定义目录标题


requests对象的get和post方法都会返回一个Response对象,这个对象里面存的是服务器返回的所有信息,包括响应头,响应状态码等。其中返回的网页部分会存在.content和.text两个对象中。

两者区别在于,content中间存的是字节码,而text中存的是Beautifulsoup根据猜测的编码方式将content内容编码成字符串。

直接输出content,会发现前面存在b’这样的标志,这是字节字符串的标志,而text是,没有前面的b,对于纯ascii码,这两个可以说一模一样,对于其他的文字,需要正确编码才能正常显示。大部分情况建议使用.text,因为显示的是汉字,但有时会显示乱码,这时需要用.content.decode(‘utf-8’),中文常用utf-8和GBK,GB2312等。这样可以手工选择文字编码方式。

所以简而言之,.text是现成的字符串,.content还要编码,但是.text不是所有时候显示都正常,这是就需要用.content进行手动编码。

eg:text在这里插入图片描述
输出的结果为:

遇到中文时就会显示乱码
在这里插入图片描述
这样不是我们想要的结果了

那么这个时候就只能用content的方法来实现解码了

eg:content
在这里插入图片描述
结果是:
在这里插入图片描述
这个时候不过都是16进制的东西,这个没有关系再进行encode(‘utf-8’)对应的解码就可以了

解决方案:进行encode(‘utf-8’)对应的解码就可以了

在这里插入图片描述
结果:

在这里插入图片描述

这样就可以显示你想要的结果了

### Python `requests` 库常用函数及其用法 #### GET 请求 GET 方法用于获取资源。可以通过指定 URL 来发送 GET 请求并接收响应。 ```python import requests url = "http://example.com" response = requests.get(url) print(response.status_code) # 输出状态码 print(response.content) # 获取返回的内容 ``` #### POST 请求 POST 方法常用于提交数据给服务器处理,比如提交表单或上传文件。 ```python import requests url = 'http://httpbin.org/post' payload = {'key': 'value'} r = requests.post(url, data=payload) print(r.text) ``` 当需要传递多个具有相同键名的数据项时,可以使用元组列表作为参数[^2]: ```python import requests url = 'http://httpbin.org/post' payload = (('course', 'Python'), ('course', 'Java')) r = requests.post(url=url, data=payload) print(r.text) ``` #### PUT 请求 PUT 方法通常用来更新现有资源。 ```python import requests url = 'http://httpbin.org/put' payload = {'some': 'data'} r = requests.put(url, data=payload) print(r.text) ``` #### DELETE 请求 DELETE 方法用于删除指定位置上的资源。 ```python import requests url = 'http://httpbin.org/delete' r = requests.delete(url) print(r.text) ``` #### HEAD 请求 HEAD 类似于 GET 请求,但是不会下载页面内容,只获取头部信息。 ```python import requests url = 'http://example.com' r = requests.head(url) print(r.headers) ``` #### OPTIONS 请求 OPTIONS 可以查询目标URL支持哪些HTTP方法。 ```python import requests url = 'http://example.com' r = requests.options(url) print(r.text) ``` 除了上述基本请求方式外,还提供了其他功能来增强 HTTP 请求的能力,如设置超时时间、添加自定义头信息等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大数据学习僧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值