我有一个类似于 digg 的网络服务,它简要解释了一个页面解析器,当人们提交故事时,解析器根据 hpricot 和我编写的其他一些小提取原则返回标题和摘要。
我想将其提升到一个新的水平,尝试从人们提交给解析器的页面中发现和提取内容。例如我想提取一篇文章的内容。
当然,我真的不想从头开始编写自己的样板和提取算法。
是否有一个 gem 或其他东西可以连接到我的 Rails 应用程序,在某种程度上与我想要实现的目标相关?
我真的很困惑,非常感谢任何帮助。
致以诚挚的问候。
Hpricot 在 ruby 中已被弃用,取而代之的是 nokogiri。 例如,您可以将任何 xpath 表达式与 nokogiri 一起使用
require 'rubygems'
require 'nokogiri'
require 'open-uri'
doc = Nokogiri::HTML(open('http://www.google.com/').read)
puts doc.xpath('//title')[0].text
尝试一下可读性宝石。效果非常好:
https://github.com/cantino/ruby-readability
require 'rubygems'
require 'readability'
require 'open-uri'
source = open('http://lab.arc90.com/experiments/readability/').read
puts Readability::Document.new(source).content