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

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

我正在尝试获取非英语网站的纯文本内容。例如,我想获取 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/

相关文章:

python - 将迭代器返回函数转换为 "proper iterable"返回函数的标准方法?

python - 如何将文本放入输入行 : how to ask for user input on the command line while providing a 'default' answer that the user can edit or delete?

java - 制作 MacOS 守护程序时我可以选择哪些语言?

java - Spring Boot 应用程序中的 BIRT

java - 比较器和 BST

python - Batch Norm - 在 TensorFlow 中提取运行均值和运行方差

python - 无法从网页获取表格内的所有 pdf 链接

python - 在 python 中使用 bs4 从多个链接中获取律师详细信息

python - 如何将网站的多个部分中的多个属性映射为 scrapy 项目?

java - 无法在 Java 应用程序中加载 JDBC 驱动程序类 [oracle.jdbc.driver.OracleDriver]