最近呢,因为工作需求所以抓了很多网页内容。
一般是抓取内容之后存储到mysql的。
有时候会出现乱码问题。基本都是中文显示问题了。
一般情况下出现乱码情况和解决方案解决如下:
大前提: 一定要记得文章开头写上 #coding: utf-8
1.数据库可以显示中文,但是到网页上显示是错误的。
这种情况,开始我以为是网页编码问题,但是得知网页编码也是utf-8的时候。
我在代码加上了这两句:
import sys
reload(sys)
sys.setdefaultencoding("utf-8")
以及(红色部分):
db = MySQLdb.connect("localhost", "root", "wiwideapp", "wiapp", charset='utf8')
2.但是我还会遇到一种情况就是怎么价他就一直是乱码,插入数据库也是乱码
然后我查了下,直接把抓取的网页的格式编码改了就好了。
r = requests.get("http://www.xxxxxxxx.com")
r.encoding = "utf-8"
理论上来讲 用方法2或许可以解决方法一的问题。但是我没有试过。
后来看到文章说第一种方法不推荐使用 。原文忘记在哪了。。。