玩蛇网提供最新Python编程技术信息以及Python资源下载!

网页编码gb2312和gbk的pyquery中文乱码问题

生成的网页打卡乱码,但是url若换成www.baidu.com则正常,查看后发现贴吧编码是gbk,百度首页编码是gb2312。不知道是什么原因?

# -*- coding:utf-8 -*-
from pyquery import PyQuery as pq
import codecs

d = pq(url'http://tieba.baidu.com/f?kw=宋时行')
sep = d('body').html()
file = codecs.open('new.html', 'w', 'utf-8')
file.write(sep)
file.close()

第一,url里面汉字你使用urllib2.quote()转码下

d = pq(url'http://tieba.baidu.com/f?kw=' + urllib2.quote('宋时行'))

第二,load下来的页面要从gbk转到unicode码在转为utf-8

sep = d('body').html().decode('gbk').encode('utf-8')

你可以试试这,我用urllib2就是这样写的,没用过pyquery,所以具体不清楚

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20343.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月19日 - 11时25分25秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules