python - ulipad爬网页时中文为何是16进制?

 胖儿的小金子 发布于 2022-10-25 11:14
#! /usr/bin/env python
#coding=utf-8
import urllib

url = "http://www.tust.edu.cn"
content = urllib.urlopen(url).read()
print content

python初学者,也是编程初学者。
上面是代码,用python2.7编译的时候网页上的中文可以正常显示,但是用ulipad编译的时候,网页中的文字就是以16进制的方式显示的。请问这个是什么问题?

我搜索的时候,看到有的回答说是在代码后面加上encode

然而我在content后面接encode('utf-8')或者encode('gb2312')的时候都会提示报错

ascii codec can't decode byte 0Xef in position 0:ordinal not in range

我查了一下,找到了下面这个网址

http://blog.csdn.net/qian_f/a...

好像是说是字符编码不统一的问题。紧接着我查了一下read返回的好像就是byte string呀....

求各位大神解答...

2 个回答
  • unicode.encode(content,'utf-8');

    2022-10-26 23:25 回答
  • 个人理解,应该是read()默认的编码无法解析网页内容,查下资料,尝试在read的括号内指定编码,应该没有必要用encode的

    2022-10-26 23:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有