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 件
h2ではなくh1になってます
h2タグが複数ある場合があるので、出力している部分は
doc.css("h2").each do |elm|
p elm.text
end
になるのでは?
あとXMLで良いの??
関連するトピックス