python 爬虫学习小问题

如下代码所示:#-*-coding:utf-8-*-importrequestshtml=requests.get('http://cn.bing.com/')print... 如下代码所示:
#-*-coding:utf-8-*-
import requests
html=requests.get('http://cn.bing.com/')
print(html.encoding)
print(html.text)

输出结果为:
Traceback (most recent call last):
File "C:/Users/雷/PycharmProjects/untitled1/py spider test.py", line 6, in <module>
print(html.text)
UnicodeEncodeError: 'gbk' codec can't encode character '\xa9' in position 59058: illegal multibyte sequence
utf-8

print(html.encoding)正确显示为utf-8,说明html应该是utf-8编写的,为什么还会显示编码错误啊。
弄了一晚上,小白python用户苦逼啊,还请大神解答。
展开
 我来答
bdwisyou7d
推荐于2016-12-02 · TA获得超过1.3万个赞
知道大有可为答主
回答量:3774
采纳率:81%
帮助的人:1081万
展开全部
那个网站用的是utf-8的编码。你现在的问题显示,python根据操作系统编码自作主张,认为它是GBK编码。

你把encoding那句话去掉。直接使用text就可以。text是unicode编码的。

不过我怀疑还是bing自己网站的特殊问题。你换个网站,比如baidu试一下。

另外requests的用法,我建议用Request对象。这样可以在发出之前修改头,也可以拿到response后直接用BeautifulSoup进行解析。

顺便说一下,python脚本存放目录里不要有“中文”名和空格
一姐韩梅
推荐于2018-03-15 · TA获得超过895个赞
知道小有建树答主
回答量:764
采纳率:58%
帮助的人:226万
展开全部
我这里没有出现问题,你试着做替换 print(html.text.replace(u'\xa9', u''))
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式