3

Webページからコンテンツを抽出するためのRubyonRailsプロジェクトのRubyGemを探しています。ルビー可読性の宝石を見つけましたが、記事の複数のページをサポートしていません。複数ページの記事の抽出もサポートしているgemをお勧めできますか?

または、記事上の複数のサイトを認識する機能をコーディングするにはどうすればよいですか?

ありがとう

4

1 に答える 1

4

Pismoのような高レベルのgemをMechanizeと組み合わせて使用​​すると、各ページを繰り返し調べて、記事の本文を連結できます。そのためには、どのリンクから次のページに移動するかを知る必要があります。Googleは、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!

これは擬似コード/ワイルドな推測です(mechanizeのAPIはわかりません)が、一般的な考え方は理解できます。

于 2013-01-11T18:11:06.380 に答える