为了账号安全,请及时绑定邮箱和手机立即绑定

保存文件时python得到unicode编码错误

保存文件时python得到unicode编码错误

跃然一笑 2022-05-24 16:04:04
我正在尝试从网页中获取文本,它使'Traceback(最近一次调用最后):文件“C:\用户\用户名\桌面\Python\parsing.py”,第21行,在textFile.write(str(结果))UnicodeEncodeError:'cp949'编解码器无法在位置37971编码字符'\xa9':非法多字节序列'我已经搜索并尝试了 textFile.write(str(results).decode('utf-8')) 并且它没有属性错误。import requestsimport osfrom bs4 import BeautifulSoupoutputFolderName = "output"currentPath = os.path.dirname(os.path.realpath(__file__))outputDir = currentPath + "/" +outputFolderNamer = requests.get('https://yahoo.com/')soup = BeautifulSoup(r.text, 'html.parser')results = soup.findAll(text=True)try :    os.mkdir(outputDir)    print("output directory generated")except :    print("using existing directory")textFile = open(outputDir + '/output.txt', 'w')textFile.write(str(results))textFile.close()有没有办法转换 str(results) 的编解码器并正确保存?python版本是3.7.3
查看完整描述

1 回答

?
紫衣仙女

TA贡献1839条经验 获得超15个赞

请指定此示例中的编码


#!/usr/bin/env python

# -*- coding: utf-8 -*-


import requests

import os

from bs4 import BeautifulSoup


outputFolderName = "output"


currentPath = os.path.dirname(os.path.realpath(__file__))

outputDir = currentPath + "/" +outputFolderName


r = requests.get('https://yahoo.com')

soup = BeautifulSoup(r.text, 'html.parser')

results = soup.findAll(text=True)


try :

    os.mkdir(outputDir)

    print("output directory generated")

except :

    print("using existing directory")


textFile = open(outputDir + '/output.txt', mode='w', encoding='utf8')

textFile.write(str(results))

textFile.close()


查看完整回答
反对 回复 2022-05-24
  • 1 回答
  • 0 关注
  • 195 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号