-
ID:uUmNby さんの質問

NokogiriとAnemoneをつかってクローリング、スクレイピングしております。
下記は、URLが/page/がつくものだけをクローリングしてそのページのurlとh2タグのものを表示させるつもりで書きましたが、上手くできません。
urlの表示はできますが、h2の表示ができません。スクレイピングの部分ですよね。
どのようにすれば良いでしょうか?
参考になるページはありますか?
またなにかクローリングでよいツール等あれば教えてください。

#!/usr/bin/ruby

require ’open-uri’
require ’nokogiri’
require ’rubygems’
require ’anemone’

opts = {
:user_agent => "TestRobot/0.00",
:skip_query_strings => true,
:storage => Anemone::Storage.MongoDB,
}

url = "https://www.example.com/"
ANY_PAGE = %r[page\/+]

Anemone.crawl(url, opts) do |anemone|

anemone.on_pages_like(ANY_PAGE) do |page|
puts page.url
doc = Nokogiri::XML(open(page.url))
p doc.css(’h1’).text()

end
end

みんなの回答 2 件

ID:OY0FE1 さんの回答

h2ではなくh1になってます

ID:uUmNby

あ、すいません、h2として読んでください。タイプミスです。これでもできないんですよね。。。

ID:NGlRfD さんの回答

h2タグが複数ある場合があるので、出力している部分は
doc.css("h2").each do |elm|
p elm.text
end
になるのでは?

あとXMLで良いの??

最終更新日:2013-10-31 (3,551 views)

関連するトピックス

ページ上部に戻る