Ruby on Rails safari 阅读器,例如文本提取和样板化

问题描述 投票:0回答:2

我有一个类似于 digg 的网络服务,它简要解释了一个页面解析器,当人们提交故事时,解析器根据 hpricot 和我编写的其他一些小提取原则返回标题和摘要。

我想将其提升到一个新的水平,尝试从人们提交给解析器的页面中发现和提取内容。例如我想提取一篇文章的内容。

当然,我真的不想从头开始编写自己的样板和提取算法。

是否有一个 gem 或其他东西可以连接到我的 Rails 应用程序,在某种程度上与我想要实现的目标相关?

我真的很困惑,非常感谢任何帮助。

致以诚挚的问候。

ruby-on-rails ruby ruby-on-rails-3 web-scraping
2个回答
0
投票

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

0
投票

尝试一下可读性宝石。效果非常好:

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
© www.soinside.com 2019 - 2024. All rights reserved.