从非英语网站获取纯文本内容

时间:2011-10-30 03:55:04

标签: java python web-scraping web-crawler non-english

我正在尝试获取非英语网站的纯文本内容。例如,我想获得http://www.bbc.co.uk/hindi/

的印地文内容

对于英文网站的文本转储,我使用wget来获取内容。然后使用HTML解析器删除HTML标记并给我干净的文本。

在非英语网站上工作的等效工具是什么?

这只是我正在探索的一些宠物项目。速度并不是一个值得关注的问题。我会在Linux环境中编写代码,最好使用Python或Java或C / C ++(按此顺序)。

1 个答案:

答案 0 :(得分:2)

听起来,当您遇到unicode时,您用于解析HTML的方法会失败。有一个名为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']

我的终端无法打印这些字符,但是您通常也会显示印地语文本。