我正在为我的ruby on rails项目寻找红宝石宝石,用于从网页中提取内容。我找到了红宝石般的可读性宝石,但它不支持文章上的多个页面。你能推荐一个支持多页文章提取的gem吗?
或者我如何编码识别文章上的多个站点的能力?
谢谢
您可以使用像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!
这是伪代码/王尔德猜测(我不知道机械化的API),但你得到了大致的想法