什么ruby gem提供从网页中提取内容的功能?

时间:2013-01-11 17:58:56

标签: ruby-on-rails gem html-content-extraction

我正在为我的ruby on rails项目搜索ruby gem,用于从网页中提取内容。我找到了ruby-readability gem,但它不支持多篇文章。你能推荐一个也支持多页文章提取的宝石吗?

或者我如何编码识别文章上多个网站的能力?

由于

1 个答案:

答案 0 :(得分:4)

您可以将Pismo等高级宝石与Mechanize结合使用,迭代浏览每个页面并连接文章正文。为此,您需要知道哪些链接将您带到下一页。谷歌正在推动采用基于rel属性的约定

<a href="blog-post?page=2" rel='next'>next</a>

这是一篇非常粗略的红宝石代码草案:

agent = WWW::Mechanize.new
agent.get("http://www.awesomeblog.com/amazing-article")

scraper.text = MyScraper.new(:text => Pismo::Document.new(agent.url))

while agent.page.link_with("rel='next'").click do
  pismo_doc = Pismo::Document.new(agent.url)
  scraper.text << pismo_doc.lede
end

scraper.save!

这是伪代码/ wilde猜测(我不知道机械化的API),但你得到了一般的想法。