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

2 投票
1 回答
1306 浏览
提问于 2025-04-17 05:16

我想获取一个非英语网站的纯文本内容。比如,我想获取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']

我的终端无法打印这些字符,但你通常用来显示印地语文本的方法在这里也应该能用。

撰写回答