python中requests爬去网页内容出现乱码问题解决方法介绍

作者:Winterto1990 时间:2023-09-14 01:00:11 

最近在学习python爬虫,使用requests的时候遇到了不少的问题,比如说在requests中如何使用cookies进行登录验证,这可以查看这篇文章。这篇博客要解决的问题是如何避免在使用requests的时候出现乱码。


import requests  
res=requests.get("https://www.baidu.com")  
print res.content

我们可以通过在网页上右击查看源代码中查看编码方式:content="text/html;charset=utf-8"->

我们便可以知道网页的编码方式是utf8.由于中文的编码方式为gbk,所以我们需要将编码方式改变为gbk。

我查看了一些资料,说requests可以自动获取网页的编码方式的,并且通过res.encode输出一看是utf8,是的 没错。但是输出来的内容中文存在乱码。 有说可以直接指定获取到内容的encode属性即可,"res.encode='gbk'",但我尝试了不可以的。

python内部的编码方式为utf8,也就是说python在处理其他字符串内容的时候首先要先将内容转化为utf8的编码方式,然后在解码为你想要的编码方式输出。

例如s=”中文” 为str类型的字符串 编码方式为gb2312

需要 s.decode("gb2312")将gb2312编码方式的内容解码为Unicode编码

然后输出的时候要将s的编码方式规定为gbk->s.encode("gbk")

言归正传,我们获取到网页内容res后, 通过res.content.decode("utf8","ignore").encode("gbk","ignore")就不会有乱码了。

这里所使用的ignore属性意思是忽略其中有一场的编码,仅显示有效的编码。

来源:http://blog.csdn.net/winterto1990/article/details/51217363

标签:python,requests
0
投稿

猜你喜欢

  • Python实现将目录中TXT合并成一个大TXT文件的方法

    2023-02-11 18:38:12
  • Python ttkbootstrap 制作账户注册信息界面的案例代码

    2021-02-10 04:05:11
  • sqlserver 禁用触发器和启用触发器的语句

    2024-01-19 21:38:17
  • python的scipy实现插值的示例代码

    2022-11-22 15:30:53
  • 终结IE6下背景图片闪烁问题

    2009-03-04 10:11:00
  • asp如何做一个检索结果带链接的检索?

    2010-07-11 21:15:00
  • Burpsuite模块之Burpsuite Intruder模块详解

    2023-11-24 05:31:24
  • C++中的string类的用法小结

    2024-04-10 16:09:24
  • Mysql获取当前日期的前几天日期的方法

    2024-01-16 01:22:31
  • SQL SERVER 2000通讯管道后复用劫持

    2024-01-26 20:13:38
  • python中subprocess实例用法及知识点详解

    2022-12-03 00:27:39
  • python数字图像处理之基本图形的绘制

    2021-10-21 05:29:42
  • python导出chrome书签到markdown文件的实例代码

    2022-08-26 00:49:36
  • MySql循环插入数据

    2010-10-14 13:50:00
  • springboot配置数据库密码特殊字符报错的解决

    2024-01-17 18:55:07
  • 关于pycharm找不到MySQLdb模块的解决方法

    2024-01-13 01:51:20
  • Python微服务开发之使用FastAPI构建高效API

    2022-04-20 21:51:13
  • 利用Python通过获取剪切板数据实现百度划词搜索功能

    2023-07-14 06:59:06
  • 查看Django和flask版本的方法

    2021-01-29 02:50:11
  • git中cherry-pick命令的使用教程

    2023-02-11 00:33:57
  • asp之家 网络编程 m.aspxhome.com