【发布时间】:2012-10-10 15:21:27
【问题描述】:
我正在尝试提取文档的文本以对其进行索引以供搜索。除了各种单词和标点符号一起运行之外,以下主要工作。当它删除标签时,我需要用空格替换它们,所以我不会遇到这个问题。我一直在试图找出最有效的方法来做到这一点,但到目前为止我还是一无所获。
doc = Nokogiri::HTML(html)
doc.xpath("//script").remove
doc.xpath("//style").remove
doc.xpath("//a").remove
text = doc.text.gsub(/\s+/,' ')
这是我从http://www.washingtontimes.com/blog/redskins-watch/2012/oct/18/redskins-linemen-respond-jason-pierre-paul-rg3-com/中提取的一些示例文本
赛季前是纽约巨人队的防守端奥西·乌梅尼奥拉 谁说他不会用“RG3”称呼罗伯特格里芬三世而引起轰动 直到他做了什么。在那之前,是“鲍勃·格里芬”。 格里芬在华盛顿红皮队的胜利中 76 码达阵 在明尼苏达维京人队,巨人队防守端杰森 皮埃尔-保罗是对格里芬有一些看法的人。“不要 把它带到我身边,”皮埃尔 - 保罗告诉纽约媒体。“去另一个 大大地。 ……“是的,这将是一场非常好的对决。不过,不在我这边。不是 在我这边。或者另一边。”格里芬周三开玩笑地问 竞选公职,说:“我还有很多其他人要竞选 离开现在,皮埃尔 - 保罗,奥西,所有这些人。”但根据 对几个红皮队的前锋来说,格里芬不应该有太多的担心 如果他进入空旷的场地,大约是星期天。“如果罗伯特进入那个 在这种情况下,我认为没有多少人可以击败他,” 右后卫克里斯切斯特说。 “我仍然会去那里 尝试阻止并确保根本没有人接触罗伯特。但他是一个 很多优秀的运动员能够在这方面超越很多人 联赛。”在皮埃尔-保罗的 cmets 提示下,左截锋特伦特 威廉姆斯回答说:“你想让我说什么?”“罗伯特的 我的家伙。我不认识皮埃尔-保罗。我不知道他为什么会说 类似的东西,”他说。 “也许他知道一些我不知道的事情。”
【问题讨论】:
-
不要包含指向示例文本的链接,而是包含 HTML 本身的示例。如果该链接断开,您的问题对于寻找相同问题的人的未来搜索将毫无价值。
标签: ruby html-parsing nokogiri