通过BeautifulSoup或其他基于python的提取器识别大量文本

Luc*_*ang 8 python beautifulsoup web-crawler

鉴于一些随机新闻文章,我想编写一个网络爬虫来查找最大的文本正文,然后将其解压缩.目的是提取页面上的实体新闻文章.

最初的计划是使用a BeautifulSoup findAll(True)并按其.getText()值对每个标记进行排序.编辑:不要将它用于html工作,使用lxml库,它是基于python的,比BeautifulSoup快得多.命令(表示提取所有html标签)

但这对大多数页面都不起作用,例如我列举的那个页面,因为大量的文本被分成许多较小的标签,例如段落分隔符.

有人对这个有经验么?任何有关此类事情的帮助都会令人惊叹.

目前我正在使用BeautifulSoup和python,但愿意探索其他可能性.


编辑:几个月后回到这个问题(哇我听起来像个白痴^),并用图书馆和自己的代码组合解决了这个问题.

这里有一些致命的有用的python库,按照它对我帮助程度的排序顺序完成任务:

1 goose library快速,强大,一致

2 可读性库内容可通过,平均速度比鹅慢,但比samppipe快

3 python-boilerpipe较慢且难以安装,对于boilerpipe库(最初在java中)没有错误,但是这个库是在java中的另一个库之上构建的,这个库属于IO时间和错误等.

如果有兴趣,我会发布基准测试.


间接相关的库,你应该安装它们并阅读他们的文档:

  • NLTK文本处理库这个太好了不能安装.它们提供文本分析工具以及html工具(如清理等).
  • lxml html/xml解析器上面提到过.这在各个方面都击败了BeautifulSoup,但可用性.这有点难以学习,但结果是值得的.HTML解析花费的时间少得多,非常明显.
  • python webscrapper库 我认为这段代码的价值不是lib本身,而是使用lib作为参考手册来构建自己的抓取器/提取器.它的编码/记录非常好!

使用python(一种相当慢的语言)的许多价值和力量来自它的开源库.当它们结合使用时,它们特别棒,每个人都应该利用它们来解决它们可能遇到的任何问题!

鹅图书馆得到了很多可靠的维护,他们只是添加了阿拉伯语支持,这太棒了!

Kyl*_*ell 5

您可以查看python-readability包,它可以为您完成此操作.