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用户苦逼啊,还请大神解答。 展开
#-*-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用户苦逼啊,还请大神解答。 展开
展开全部
那个网站用的是utf-8的编码。你现在的问题显示,python根据操作系统编码自作主张,认为它是GBK编码。
你把encoding那句话去掉。直接使用text就可以。text是unicode编码的。
不过我怀疑还是bing自己网站的特殊问题。你换个网站,比如baidu试一下。
另外requests的用法,我建议用Request对象。这样可以在发出之前修改头,也可以拿到response后直接用BeautifulSoup进行解析。
顺便说一下,python脚本存放目录里不要有“中文”名和空格
你把encoding那句话去掉。直接使用text就可以。text是unicode编码的。
不过我怀疑还是bing自己网站的特殊问题。你换个网站,比如baidu试一下。
另外requests的用法,我建议用Request对象。这样可以在发出之前修改头,也可以拿到response后直接用BeautifulSoup进行解析。
顺便说一下,python脚本存放目录里不要有“中文”名和空格
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询