谁能推荐一个 Ruby 库来创建给定 URL 的摘要?我想到的是在搜索引擎结果中看到的那种一两句话的摘要。
2 回答
您可以只从网页中抓取描述元标记,或者如果<p>
页面上第一个元素中的前几句话不可用。描述元标记如下所示:
<meta name="description" content="Nokogiri (鋸) is an HTML, XML, SAX, and Reader parser with XPath and CSS selector support." />
有几个用于解析 HTML 的 Ruby 库。我听说Nokogiri很适合这种东西,但我个人没有这方面的经验。
爬取网站和抓取页面很容易。总结一个页面是困难的。
元标记可以提供一点帮助,因为摘要和内容之间应该存在直接关联。
不幸的是,并非所有页面都有它们,而且许多页面都是不准确的。这让我们不得不对文本进行转义,希望它与内容和上下文相关。页面布局各不相同,并且没有标准说明主要内容在页面上的实际位置,并且由于 CSS 和 Ajax,它可能不是我们所期望的,在文本的前几行中。可能没有<p>
标签,因为一个<div>
或<span>
用适当的 CSS 可以替换外观。
我写了许多蜘蛛,对页面进行上下文分析,试图总结,它很丑而且不是防弹的,尤其是在处理英语时,因为同音异义词、同义词和其他妨碍方式的“昵称” .
如果您可以找到要总结的文本,那么有一些不错的工具可以将几段或一篇论文缩减为一个短句。Mac OS 带有一个摘要器,并且已经使用了多年。“ Summarize Text Using Mac OSX Summarize or Microsoft Word AutoSummarize ” 谈到如果您想尝试启用它。“ Mac 101:使用 Summarize Service 缩短文本”是关于在 Mac 上使用它。有一个可以从 CLI 调用的驱动程序或应用程序。有关更多信息,请参阅“如何在命令行上使用 Mac OS X 的摘要服务? ”。
而且,作为一个演示,这是林肯在葛底斯堡的地址总结为一行:
更确切地说,我们要在这里献身于摆在我们面前的伟大任务——从这些光荣的死者身上,我们将更加致力于他们为之付出最后全部奉献的事业——我们在此下定决心,这些死者不会已经徒劳地死去——这个国家在上帝的统治下将获得自由的新生——人民的政府、民治的政府、民享的政府不会从地球上消失。