python爬取内容乱码_Python爬取中文页面的时候出现的乱码问题(续)

我在上一篇博客中说明了在爬取数据的时候,把数据写入到文件的乱码问题

在这一篇里面我做一个总结:

1、首先应该看一个案例

我把数据写在.py文件中:

#coding:utf-8

s = 'hehe测试中文字符'

ss = u'hehe测试中文字符'

uu = s.decode('utf-8')

print s  #输出乱码

print uu  #正常

print ss  #正常

这里需要对中文数据进行编码,输出正常

2、我们针对爬取回来的数据

在读取页面数据的时候已经对其编码 response.read().decode('utf-8')

在把数据写入到数据库的时候,只需要把数据库的连接指定为 utf-8 就可以

MySQLdb.Connect(host=v_host,port=int(v_port),user=v_user,passwd=v_passwd,db=v_db,charset='utf8')

3、可以直接把读取来的数据直接写入到数据库中,不会出现乱码

py文件的其他地方不需要在进行其他的编码,仅仅是在读取response里面的数据的时候进行编码一次

4、在设置Mysql编码的时候切记是:utf8,中间没有横杠

不然会报错:_mysql_exceptions.OperationalError: (2019, “Can’t initialize character set utf-8

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值