多语言展示
当前在线:1628今日阅读:126今日分享:42

Python爬取gb2312编码的网页,并存储中文字符

使用python爬取gb2312编码的网页的时候,经常会出现乱码问题,将网页中获取的信息存入json文件中的时候,json文件默认会保存中文的Unicode编码,如果不进行转码,那么存入json文件中的中文会出现乱码问题。
工具/原料

python

方法/步骤
1

这是第一次写的代码,没有做任何的编码转化,最后得到的json文件中所有的中文都以Unicode编码的方式呈现,这样很不直观。

2

代码运行后的json文件中的内容如图片中所示,可以看到box_title后面的是Unicode,并且该编码转化为中文后还是一个乱码,所以就需要下面的处理了。

3

在python中,当遇到中文的时候就需要进行转码,中文的编码有多种,所以需要指明一种编码方式,这里使用sys.setdefaultencoding进行指明(当我们没有指明解码方式,python 就会使用 sys.defaultencoding 指明的方式来解码。很多情况下 sys.defaultencoding为ANSCII,如果 s 不是这个类型就会出错)

4

指明解码方式之后,需要将gb2312编码的网页进行转码,将编码转化为utf-8编码。

5

最后将josn.dump的参数中设置 ensure_ascii=False(设置之后就能正常的将中文存储在json文件中),完成之后,最终的代码如下

推荐信息