rubyでクロールしてみたいので数分でやってみた
スポンサーリンク
Anemoneつかうと簡単にできるそう。
インストール。
gem install anemone
使ってみます。このブロクのアーカイブをみてみるテスト… (参考ページとほとんどコード変えてませんが。)
# -*- coding: utf-8 -*- require 'anemone' URL = 'http://konbu13.hatenablog.com/' REGEXP = /archive/ Anemone.crawl(URL) do |anemone| # クロールするごとに呼び出される anemone.focus_crawl do |page| # 条件に一致するリンクだけ残す # この `links` はanemoneが次にクロールする候補リスト page.links.keep_if { |link| link.to_s.match(REGEXP) } end # ここがメインの部分 anemone.on_every_page do |page| # クロールした場所のタイトルを出力 p page.doc.at('title').inner_html end end
こんな簡単にクロール出来てしまうとは! 5分で遊べますね(^^♪
関係ない話
emacsのeshellでrubyの出力を出そうとすると、文字化けします。pで出力すると\u***の形式で、putsだと文字化け。どうやったらいいのだろうか…rubyは文字化けでしょっちゅう悩まされます。