【发布时间】:2012-12-26 09:04:35
【问题描述】:
我正在为我的 ruby on rails 项目寻找一个 ruby gem,用于从网页中提取内容。我找到了ruby-readability gem,但它不支持多页文章。你能推荐一个也支持多页文章提取的gem吗?
或者我如何编写识别文章中多个网站的功能?
谢谢
【问题讨论】:
标签: ruby-on-rails gem html-content-extraction
我正在为我的 ruby on rails 项目寻找一个 ruby gem,用于从网页中提取内容。我找到了ruby-readability gem,但它不支持多页文章。你能推荐一个也支持多页文章提取的gem吗?
或者我如何编写识别文章中多个网站的功能?
谢谢
【问题讨论】:
标签: ruby-on-rails gem html-content-extraction
您可以使用像Pismo 这样的高级gem 结合Mechanize 来迭代地遍历每个页面并连接文章的正文。为此,您需要知道哪个链接将您带到下一页。 Google 正在推动采用基于 rel 属性的约定
<a href="blog-post?page=2" rel='next'>next</a>
这是一个非常粗略的 ruby 代码草稿:
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!
这是伪代码/胡乱猜测(我不知道 mechanize 的 API),但你明白了。
【讨论】: