Python爬取中文页面的时候出现的乱码问题

摘要:
如果在标头信息中指定了UTF-8,请响应。read()。解码('utf-8'

一、读取返回的页面数据

在浏览器打开的时候查看源代码,如果在头部信息中指定了UTF-8

那么再python代码中读取页面信息的时候,就需要指定读取的编码方式:

response.read().decode('utf-8')

二、把中文数据写入到文件的时候

python默认的是按照ACSII的编码往外写,所以中文数据往外写肯定会出现乱码

那么再往外写入文件的时候需要对中文数据进行编码:

fout.write('<td>%s</td>' %(data['title'].encode('utf-8')))

三、写入到HTML文件的时候

为了显示方便,把抓取下来的数据写入到HTML文件里面,在浏览中显示

在写入的时候,需要指定HTML文件的编码方式

如果没有指定默认的是UTF8无BOM编码,直接用浏览打开会产生乱码

所以需要在往外写的时候指定编码方式:

fout.write('<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/></head>')

四、设置了以上编码之后还可能会报错,在加入以下代码

import sys
reload(sys)
sys.setdefaultencoding("utf-8")

免责声明:文章转载自《Python爬取中文页面的时候出现的乱码问题》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇RabbitMQ 消息应答机制vmdk内部下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SCPI指令闲扯

  准备用SCPI控制我的汉泰DSO3254示波器,实现如下的功能。   一通道采集数据,二通道作为触发,每触发一次,传输一和二通道采集到数据到电脑。   我以为可以如下设计:电脑发出指令,示波器电脑进入挂起状态,示波器等待外部触发,电脑等待示波器的主动传输,外部触发之后,示波器采集数据,装满了设置的缓冲区之后,传输给电脑。   可是,我翻遍了示波器是的S...

使用U盘安装mint

系统坏了,重新装的时候,硬盘甚至都没法格式化。。。所以,狠狠心买了块固态硬盘,123G,威刚。 想自己装Linux系统,这样用起来更方便一点,不用装虚拟机,然后再跑linux什么的。最后选了mint。 好嘛,问题来了,怎么装上去? 其实,找张空盘,把系统刻上去,这可能是最省力的方法了。但是,问题是另一台笔记本没有光驱。so。。。只能考虑u盘。 最初,是想尝...

python--集合-set

1 1 # 集合-set 2 2 # 集合是高中的要给概念 3 3 # 一堆确定的无序的唯一的数据, 集合中的每一个数据成为一个元素 4 4 5 5 # 集合的定义 6 6 s = set() 7 7 print(type(s)) 8 8 print(s) 9 9 10 10 # 此时大括号中一定要有...

STM32程序中使用printf打印中文字符乱码

STM32程序printf打印中文字符到串口出现乱码解决方法 作者 : 李剀 出处 : https://blog.csdn.net/Kevin_8_Lee/ 或者 https://www.cnblogs.com/kevin-nancy/ 欢迎转载,但也请保留上面这段声明。 谢谢! (以上两个链接均是我个人的博客,只是在不同的平台上面) 前言: 相信...

Overleaf 平台的使用

Overleaf 是一个使用 LaTeX 进行多人协同编辑的平台,可以免费注册和使用,不用下载 LaTeX 软件,是最为著名的 LaTeX 在线协作系统。 科研工作者可以在各大期刊的网站上下载到其 Overleaf 模板,进行论文写作。 国内邮箱是无法注册的,一直会提示无法验证是否是机器人。可以选择"Register using ORCID",先注册一个...

用Delphi进行word开发

使用以CreateOleObjects方式调用Word 实际上还是Ole,但是这种方式能够真正做到完全控制Word文件,能够使用Word的所有属性,包括自己编写的VBA宏代码。----------------------------------------- Word宏编辑器Word能够真正地进行VBA代码的编辑,可以编写窗体、函数。进入Word宏编辑器的...