如何在python中提取unicode字符的实际值?

2024-09-29 23:23:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用一个“我正在尝试建立一个破烂的网站”。我当前的目标是在下面的页面提取列表的所有标题:https://www.avito.ru/leningradskaya_oblast_kirovsk/kvartiry/prodam/1-komnatnye(语言:俄语)。在

但是,使用

response.xpath('here_comes_the_path_to_a_title').extract()

我得到了这样的结论:

[u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,56\u043c\xb2,4/5\u044d\u0442', u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,32\u043c\xb2,3/3\u044d\u0442', u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,48\u043c\xb2,11/16\u044d\u0442', u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,42\u043c\xb2,1/4\u044d\u0442', u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,37\u043c\xb2,1/9\u044d\u0442', u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,42\u043c\xb2,3/4\u044d\u0442', u'\n 1-\u043a\u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430,45\u043c\xb2,3/3\u044d\u0442',]

这显然是一个用unicode编码的所有标题的列表。在

现在,问题来了。我想要这些项目(以上列表的值)的原始形式(就像在互联网页面上用原始语言写的一样)。 例如,我想要一本字典:

^{pr2}$

然后将这些字典的列表存储在JSON或CSV文件中。在

可以解码这些unicode字符串并获得它们的原始值吗?在

*p.s.我还注意到我使用python shell中的print函数获得原始值:

>>> str = u'\n 1-\u043a  \u043a\u0432\u0430\u0440\u0442\u0438\u0440\u0430, 56 \u043c\xb2, 4/5 \u044d\u0442.'
>>> print str 

但我不知道如何提取这个值并将其写入文件*


Tags: 语言标题列表字典unicode页面u0430u0438
1条回答
网友
1楼 · 发布于 2024-09-29 23:23:17

... which is obviously a list of all titles encoded in unicode.

不正确。它表示字符串中包含的字符。字符串本身包含您期望的字符,正如您使用REPL发现的那样。在

如果需要将这些字符写入文件,则需要为文件选择一种编码,并在打开时使用它。在

with io.open('output.txt', 'w', encoding='utf-8') as fp:

相关问题 更多 >

    热门问题