Я просканировал некоторые веб-страницы, используя Python. Я сорвал html-теги и только сохранил некоторое содержимое этих страниц в виде (-ов). Большинство этих страниц написаны не на английском языке. Теперь, как просмотреть просматриваемый контент на его языке?
Например, искатель написал только одну строку некоторого арабского текста в файл txt: и '\ u0639\u0644\u0649'
Но когда я открываю txt файл в текстовом редакторе или браузере, он выглядит точно так же, как и выше, поэтому он в основном не читается человеком.
Есть ли простой способ визуализации и отображения строки на арабском языке?
Спасибо,
>>> x= u'\u0639\u0644\u0649'
>>> open('x.html','w').write(x.encode('ascii','xmlcharrefreplace'))
Откройте x.html
в браузере, и он должен отображаться правильно. Фактический контент:
على
Вы не получаете человеко-читаемый код, потому что вы использовали репрезентаты для записи строки в файл - и то, что должен был генерировать репрезент, - читаемое программистом представление, которое не является полностью удобочитаемым для человека.
Если вы хотите сохранить текст в формате, который может быть прочитан любым текстовым редактором и браузером, поддерживающим unicode, вы должны сохранить его в кодировке UTF-8:
import codecs
s = u'\u0639\u0644\u0649'
f = codecs.open('output.txt', 'w', 'utf-8')
f.write(s)
f.close()
Убедитесь, что вы установите кодировку своего браузера или редактора в UTF-8, если она не обнаруживается автоматически.
Как говорили другие, неплохо было бы просмотреть файл в браузере.
open('x.html','w').write(x.encode('utf-8'))
), так как большинство браузеров хорошо оснащены для обработки utf-8.Записав это, любой файловый просмотрщик/редактор, способный декодировать utf-8 и имеющий доступ к шрифтам, может сделать это за вас (например, vim отлично работает на моей машине).
>>> print u'\u0639\u0644\u0649'
على
>>> print ast.literal_eval("u'\u0639\u0644\u0649'")
على
Ну, а не порядок, показанный в браузере, но что угодно.