从非英语网站获取纯文本内容
我想获取一个非英语网站的纯文本内容。比如,我想获取http://www.bbc.co.uk/hindi/上的印地语内容。
对于英语网站的文本提取,我通常使用wget
这个工具来下载内容。然后再用一个HTML解析器来去掉网页中的HTML标签,最后得到干净的文本。
那么,对于非英语网站,有哪些类似的工具可以使用呢?
这只是我在探索的一个小项目,速度不是特别重要。我会在Linux环境下编程,最好使用Python、Java或者C/C++(按这个顺序)。
1 个回答
2
听起来你用来解析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']
我的终端无法打印这些字符,但你通常用来显示印地语文本的方法在这里也应该能用。