gpt4 book ai didi

python - 使用 python 创建一个中文文件夹

转载 作者:行者123 更新时间:2023-11-28 16:48:27 27 4
gpt4 key购买 nike

我现在遇到一个关于中文字符的问题。我使用 beautifulsoup 来提取数据,并想创建一个使用提取数据名称的文件夹。数据喜欢:

<A href="love">星座(1824)</A>

我想提取'星座(1824)',所以我喜欢

soup.find('a',href='love')

但是在控制台中,它出来了:

ÐÇ×ù(1824)

我在源代码的开头使用了“# -- coding:utf-8 --”。这一定是一些编码问题,任何人都可以提供一些关于 python 使用非英语的好资料?

我想创建一个名为“星座(1824)”的文件夹我愿意:

if not os.path.exists(dir_name):
os.mkdir('./pic/'+dir_name)

当我发现一个名为“Ç×ù(1824)”的文件夹存在时,为什么它仍然出现:

OSError: [Errno 17] File exists: './vguagua_pic/\xc3\x90\xc3\x87\xc3\x97\xc3\xb9(1824)'

谢谢

最佳答案

即使您的 .py 脚本是用 UTF-8 编写的,如果网页不是,解析的文本也可能不正确。

网页的编码实际上是GB-2312(或GB-18030),但BeautifulSoup将网页的编码错误地猜测为ISO-8859-1,并根据错误的假设,转换为UTF-8并导致mojibake。我们可以验证:

>>> b'\xc3\x90\xc3\x87\xc3\x97\xc3\xb9'.decode('utf8').encode('latin1').decode('gb2312')
'星座'

您可以将 from_encoding="gb2312"(在 bs4 中)或 fromEncoding="gb2312"(在 3.x 中)添加到 BeautifulSoup 构造函数以强制编码,如 Beautiful Soup Documentation 中所述(and also in Chinese 中文文档) .

关于python - 使用 python 创建一个中文文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11184048/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com