python - pyquery中文乱码的问题
PHP中文网
PHP中文网 2017-04-17 11:13:16
[Python讨论组]

生成的网页打卡乱码,但是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()
PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(1)
伊谢尔伦

第一,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,所以具体不清楚

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号