我使用Python抓取了一些网页。我扯掉了html标签,只将这些页面的一些内容存储为repr(s)。这些页面中的大部分都不是英文的。现在,我如何以原始语言查看已抓取的内容?
例如,抓取工具只将一行阿拉伯语文本写入txt文件: 的u '\ u0639 \ u0644 \ u0649'
但是当我在文本editer或浏览器中打开txt文件时,它看起来与上面完全一样,所以它基本上不是人类可读的......
是否有一些简单的方法来呈现和显示阿拉伯语中的字符串?
谢谢,
答案 0 :(得分:1)
>>> x= u'\u0639\u0644\u0649'
>>> open('x.html','w').write(x.encode('ascii','xmlcharrefreplace'))
在浏览器中打开x.html
,它应该正常显示。实际内容:
على
答案 1 :(得分:1)
你没有获得人类可读的代码,因为你已经使用了repr(s)将字符串写入文件 - 这就是repr应该生成的 - 一个程序员可读的表示,它不是完全人类可读的
如果要以任何(支持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。
答案 2 :(得分:0)
>>> print ast.literal_eval("u'\u0639\u0644\u0649'")
على
嗯,不是浏览器中显示的顺序,而是其他。
答案 3 :(得分:0)
>>> print u'\u0639\u0644\u0649'
على
答案 4 :(得分:0)
正如其他人所说,在浏览器中查看文件并不是一个坏主意。
open('x.html','w').write(x.encode('utf-8'))
)中,因为大多数浏览器都能很好地处理utf-8。编写本文后,任何能够解码utf-8并且可以访问字体的文件查看器/编辑器都可以为您完成此操作(例如,vim在我的机器上正常工作)。