我正在尝试获取非英语网站的纯文本内容。例如,我想获取 http://www.bbc.co.uk/hindi/ 的印地语内容
对于英文网站的文本转储,我使用wget
来获取内容。然后使用 HTML 解析器删除 HTML 标签并给我干净的文本。
在非英语网站上工作的等效工具是什么?
这只是我正在探索的一些宠物项目。速度不是什么大问题。我会在 Linux 环境中编写代码,最好使用 Python 或 Java 或 C/C++(按此顺序)。
最佳答案
这听起来像是您用来解析 HTML 的方法在遇到 unicode 时失败了。有一个名为 BeautifulSoup 的模块非常适合解析各种类型的网站,并且它可以很好地处理 unicode。交互式尝试:
>>> import urllib, BeautifulSoup
>>> html = urllib.urlopen( 'http://www.bbc.co.uk/hindi/' ).read()
>>> soup = BeautifulSoup.BeautifulSoup( html )
>>> print soup.find( 'title' ).contents
[u'BBC Hindi - \u092a\u0939\u0932\u093e \u092a\u0928\u094d\u0928\u093e']
我的终端无法打印这些字符,但是您通常显示印地语文本的方式也应该在这里工作。
关于java - 从非英语网站获取纯文本内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7943221/