文章详情页
python - ulipad爬网页时中文为何是16进制?
问题描述
#! /usr/bin/env python#coding=utf-8import urlliburl = '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呀....
求各位大神解答...
问题解答
回答1:个人理解,应该是read()默认的编码无法解析网页内容,查下资料,尝试在read的括号内指定编码,应该没有必要用encode的
回答2:unicode.encode(content,’utf-8’);
相关文章:
1. 代码如下,java用BigDecimal四舍五入怎么还有问题呀?哪种方式是完全没有问题的?2. angular.js - 请教angularjs里html和js通信的问题3. node.js - 怎么在初始化的时候使得一个子组件不加载?4. javascript - 关于向java后台上传base64位字符串的图片数据,求助5. android自带时钟应用的这个效果是怎么做的6. mysql根据某个字段已存在的值排序7. 求解决方法:Parse error: syntax error, unexpected8. 新人做网站求帮助9. Help!求帮助10. 请问“由于 Cookie “PHPSESSID”的“SameSite”属性设置为“None”,但缺少“Secure”属性,此 Cookie 未来将被拒绝。”请问出现这个问题怎么办?
排行榜