gpt4 book ai didi

python - Scrapy 检索文本编码不正确,希伯来语为\u0d5 等

转载 作者:行者123 更新时间:2023-12-01 05:58:55 24 4
gpt4 key购买 nike

第一次使用这个东西。查看了有关内化/文本编码的所有其他 SOF 问题。

我正在做Scrapy教程,当我卡在这部分时:Extracting Data ,当我提取数据时,文本而不是希伯来语显示为一系列\uXXXX。

您可以通过抓取this page来查看它例如;

scrapy shell http://israblog.nana10.co.il/blogread.asp?blog=167524&blogcode=13348970
hxs.select('//h2[@class="title"]/text()').extract()[0]

这将检索

u'\u05de\u05d9 \u05d0\u05e0\u05e1 \u05e4\u05d5\u05d8\u05e0\u05e6\u05d9\u05d0\u05dc\u05d9?'

(无关:)如果您尝试在控制台中打印它,您会得到: Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeEncodeError: 'charmap' codec can't encode characters in position 0-1: cha
racter maps to <undefined>

尝试过通过设置设置编码,尝试过手动转换,基本上感觉什么都试过了。

(我已经花了大约 5 个番茄时间试图解决这个问题!)

我该怎么做才能获得应该存在的希伯来语文本:“מי אנס פוטנציאלי?

(免责声明:我刚刚进入了我在 http://Israblog.co.il 上注意到的第一个博客和帖子,我与该博客或博客所有者没有任何关系,我只是将其用作示例)

最佳答案

what can I do to get the hebrew text that should be there: "מי אנס פוטנציאלי?"

test.py:

# coding: utf-8

a = u'\u05de\u05d9 \u05d0\u05e0\u05e1 \u05e4\u05d5\u05d8\u05e0\u05e6\u05d9\u05d0\u05dc\u05d9?'
b = 'מי אנס פוטנציאלי?'

print a
print b

结果:

vic@wic:~/projects/snippets$ python test.py 
מי אנס פוטנציאלי?
מי אנס פוטנציאלי?
vic@wic:~/projects/snippets$

如您所见,它们是相同的。它只是同一个 unicode 字符串的不同表示形式。所以不用担心它没有被正确抓取。

如果您想将其保存到文件中:

Python 2.7.3 (default, Apr 20 2012, 22:39:59) 
[GCC 4.6.3] on linux2
>>> a = u'\u05de\u05d9 \u05d0\u05e0\u05e1 \u05e4\u05d5\u05d8\u05e0\u05e6\u05d9\u05d0\u05dc\u05d9'
>>> a
u'\u05de\u05d9 \u05d0\u05e0\u05e1 \u05e4\u05d5\u05d8\u05e0\u05e6\u05d9\u05d0\u05dc\u05d9'
>>> f = open('test.txt', 'w')
>>> f.write(a)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
>>> f.write(a.encode('utf-8'))
>>> f.close()

关于python - Scrapy 检索文本编码不正确,希伯来语为\u0d5 等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11374393/

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