Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 [Kindle]
- SBクリエイティブ (2014年8月22日発売)
- Amazon.co.jp ・電子書籍 (451ページ)
感想・レビュー・書評
-
1章 10分クローラーの作成
RubyではなくWgetでもクローラーをできることの紹介。あとRubyの簡単な解説。ローカルにRubyによるテストサーバーを構築する。
2章 クローラー作成の基礎
Rubyが使うHTMLパーサーであるNokogiri,クローラのフレームワークとしてAnemoneを使ってシステムを構築していく。Amazonのサイトなどをクローリングしていく。JavaScriptで書かれているサイトの対策としてヘッドレスブラウザであるSeleniumの利用方法
3章 収集したデータを分析する
取得したデータの利活用として、正規表現によるデータの抽出。NokogiriによるHTMLのパース
4章 高度な利用方法
長期的な運用のためデータの保存が必要でAnomoneによる保存。Sqlite3への保存。Mongoデータベースへの保存。MySQLへの保存
5章 目的別クローラーの作成
Googleの検索結果
ブログへのクローリング
Amazonのデータを取得する
Twitterのデータ収集
FaceBookへのクローリング
画像を収集する(Flickr)
動画の収集(You tubeがら動画のメタ情報)
iTunes Storeの順位を取得する
Google Playの順位
Wikipediaの利用
株価の収集
為替、金融指標の収集
郵便番号、緯度、経度の取得
6章 クローラーの運用
サーバーで運用する方法詳細をみるコメント0件をすべて表示 -
Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例
Rubyを使用したクローラーの開発についての解説本です。
【本書で学べること・考えること】
・クローラーを作成、運用するうえでの注意点
・Anemoneを用いた静的ページの取得
・Nokogiriを用いた構文解析
・Capybara、Selenium等を用いた動的ページの巡回
・データの保存方法
・APIの活用
・サーバーでの運用
読んでみての感想です。
2014年に発売された著書なので、2020年の現在では、Ruby、gem、Webページの構造、API等の状況が大きく変わっており、サンプルプログラム等で動かないものも多くありました。(Ruby2.6.6を使用)
ただ、メインで使われるAnemoneは開発は止まっているものの動作はするので、最低限の動作をさせることは可能です。
また、構文解析で使用するNokogiri、動的ページ巡回で使用するCapybara、Selenium等はRailsやテスト等でも使用するため、理解はしやすいと思います。
個人的には、クローラーを作成、運用するうえでの注意点を学べたのはよかったと思います。ネットの記事ではこうした注意点に触れているものは少ない印象です。
(岡崎図書館事件、Robot.txtの解説、サーバーへの配慮等)
調べたら、以下のようなgemも作成されているようです。
https://qiita.com/hibiheion/items/502b1a4091d54d05fb53
スクレイピングはPython的なイメージですが、Rubyでも十分できることがわかりました。 -
Rubyでクローラーを作る際にはぜひ読んでおきたい一冊と思える内容でした。
-
非常に実用的。
手順が仔細に記述されているが、くどくはなく、Rubyの経験有無にかかわらず、スムーズに読める。
内容は各 gem/サービス でできることにフォーカスしているため、紹介されている機能を組み合わせればシンプルなバックエンドシステムは開発できる。 -
良書すぎる