Staging

開発BLOG

Anemone

Anemoneとは

Webクローラーフレームワーク

使い方

基本形

require 'anemone'

URL = "https://example.jp"
Anemone.crawl(URL) do |anemone|
  anemone.on_every_page do |page|

      # URLを取得
      puts page.url

  end
end

crawlのオプション

:depth_limit 階層の制限を指定
:delay  アクセス間隔を指定
:user_agent UAを指定
:skip_query_strings trueにするとURLのパラメーターを無視する

Anemone::Coreで使用するメソッド

on_every_page    取得したすべてのページごとに処理を実行
after_crawl クロール後に各ページのデータに処理を実行。
focus_crawl 各ページごとに巡回するリンク先を指定。
on_pages_like   指定された正規表現にマッチするURLを持つページに処理を実行。
skip_links_like 指定された正規表現にマッチするURLを持つページは取得しない。

Anemone::Pageで使用する主なメソッド

url  ページのURLを取得
headers header情報を取得
code    HTTPのレスポンスコード(e.g. 200, 301, 404)を取得
body    HTMLを取得
doc bodyをNokogiriで使用できる形式(Nokogiri::HTML::Document)で取得
links   ページ内の <a> タグのリンクリストを取得(URI::HTTPで取得)