爬取网站时,得到get请求结果后,要print看一下结果
response = get(url)
response.encoding = 'utf-8'
print(respose.text)
然后报错了: 'gbk' codec can't encode character '\xa5'
好像只要一print就会报错,目标网页源代码编码也是‘utf-8’,我做了处理但是还是报了'gbk'的错误
正常显示网页源代码
测试题主的代码正常。。
记事本打开py文件,然后另存为检查下文件编码是不是utf-8的?
用response.content获取字节类型的数据,然后再转码
你的程序第一行有
指定程序编码吗?
# encoding: utf-8
def main():
url = 'https://beijing.zbj.com/search/f/?kw=saas%27
response = requests.get(url=url)
response.encoding = 'utf-8'
page_text = response.text
response.close()
print(page_text)
tree = etree.HTML(page_text)
div_list = tree.xpath('/html/body/div[6]/div/div/div[2]/div[5]/div[1]/div')
for div in div_list:
price = div.xpath('./div/div/a[2]/div[2]/div[1]/span[1]/text()')[0]
print(price)
问题解决了,我用的Pycharm。可能是之前设置过其他的程序,没想到影响到其他文件了,需要在setting->Editor->File Encodings设置下编码就好了。谢谢各位大佬解答。