You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python网页爬取存文件遇Unicode编码及文件名问题求助

问题分析与解决

问题1:UnicodeEncodeError编码错误

原代码未指定文件编码,Windows系统默认使用charmap编码,无法处理像\u266a(音乐符号♪)这类特殊Unicode字符,导致报错。

解决方法:
打开文件时明确指定encoding='utf-8',确保所有Unicode字符都能正确编码:

with open(title+'.txt', 'w', encoding='utf-8') as file:
    file.write(plot)
    file.write(transcript)

问题2:用title命名的文件在记事本打开为空

这是因为从网页获取的title文本中包含Windows文件名不允许的特殊字符(比如冒号:、斜杠/等),虽然代码无报错,但实际文件未被正确创建,或文件名不符合系统规范,导致记事本无法正常读取。

解决方法:
清理title中的非法字符,替换为合法字符(如下划线_):

# 定义Windows文件名非法字符集合
invalid_chars = '<>:"/\\|?*'
# 替换非法字符为下划线
clean_title = ''.join(['_' if c in invalid_chars else c for c in title])
# 使用清理后的文件名写入
with open(clean_title+'.txt', 'w', encoding='utf-8') as file:
    file.write(plot)
    file.write(transcript)

若记事本打开仍有乱码,可通过「文件」→「打开」选择该txt文件,编码选择「UTF-8」即可正常显示内容。


内容的提问来源于stack exchange,提问作者ashtrobe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 20:32:38