解决方法有两种:
第一种:
apparent_encoding方法是requests库利用chardet对字节流编码进行了猜测。一般来说使用这种方法,大部分网页的中文乱码都会恢复。如果还是不行,那就试试第二种方法。
第二种:
从网页格式中获得网页内容的编码方式(一般content-type字段会出现在HTML的header的头几行)。
如果直接拿来用,会报错
所以需要给decode加上第二个参数,decode([encoding], [errors='strict']), 第二个参数设置为ignore,则会忽略非法字符。
这样就能获得正确的中文内容了。
练习网址 https://news.mydrivers.com/1/628/628585.htm
可以查看一下你的脚本的编码格式是否和你cmd环境的编码格式一致.windows环境下使用gb2312
python脚本中如果使用utf-8的话,则增加
#
-*-
coding:
utf-8
-*-
在脚本中可以修改你的编码格式,
方法如下:
sys.getdefaultencoding()
reload(sys)
sys.setdefaultencoding('UTF-8')
sys.getdefaultencoding()
这里的'utf-8'就是你设置的默认格式.
你可以进行修改为与系统一致的格式.例如:GB2312