Webページからコンテンツを抽出するためのRubyonRailsプロジェクトのRubyGemを探しています。ルビー可読性の宝石を見つけましたが、記事の複数のページをサポートしていません。複数ページの記事の抽出もサポートしているgemをお勧めできますか?
または、記事上の複数のサイトを認識する機能をコーディングするにはどうすればよいですか?
ありがとう
Webページからコンテンツを抽出するためのRubyonRailsプロジェクトのRubyGemを探しています。ルビー可読性の宝石を見つけましたが、記事の複数のページをサポートしていません。複数ページの記事の抽出もサポートしているgemをお勧めできますか?
または、記事上の複数のサイトを認識する機能をコーディングするにはどうすればよいですか?
ありがとう
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はわかりません)が、一般的な考え方は理解できます。