密林の図書室

人生は短く、経験からのみ得られることは限られます。読書から多くのことを学び、アウトプット化も本との対話の一部として大切なものだと考えてきたので、このブログを立ち上げて日々読んできた本の備忘録として活用しています。

詳しく、広範囲で、サンプルも多く、なかなか良い本です。「Pythonクローリング&スクレイピング -データ収集・解析のための実践開発ガイド-」

著:加藤 耕太

 

 タイトル通りの本なのだが、予想より幅広い内容の本だった。URLの基礎知識や各種のスクレーピングの方法はもちろんある。XPathCSSセレクター、lxmlによるスクレーピング、BeautifulSoupの利用、Javascriptを使ったページに対するスクレーピングといったような盛沢山の方法が実際のコードのサンプルとともに紹介されている。特に、フレームワークであるScrapyの利用方法についてはSpiderの作成方法から詳しく書かれている。

 しかし、この本はそれだけではない。MySQLへのデータ保存法、NoSQLであるMongoDBへのデータ保存、GoogleのBigQueryの利用、地図データの可視化、メッセージキューであるRQでの利用、asyncioでの非同期IO、Flickerからの画像収集、OpenCVによる顔画像の抽出、AWSでの利用と、とにかくクローリングとスクレーピングに関連する処理の説明がいろいろ盛り込まれているのが素晴らしい。

 著作権上の注意、robots.txtによるクローラーへの指示、クローリングとスクレーピングは処理を分けるべき、というような説明もある。また、FREST APIについても載っている。Vagrantの導入と基本操作についても紹介されている。掲載されているサンプルプログラムは記載されたWebサイトからダウンロードできる。

 個人的に、Amazonにログインして購買履歴をダウンロードできるプログラムは役に立った。Amazonのログインは簡単なスクレーピングだと突破できずにあきらめていたので。

 すべて白黒印刷だし、実際はWindowsPython環境でもそのまま動くコードも多いとはいえUbuntuでの利用が前提になっている。まったくの初心者にはとっつきにくいかもしれないが、実用性が高く、中身は良い。とても勉強になる。

 

目次

第1章 クローリング・スクレイピングとは何か
第2章 Pythonではじめるクローリング・スクレイピング
第3章 強力なライブラリの活用
第4章 実用のためのメソッド
第5章 クローリング・スクレイピングの実践とデータの活用
第6章 フレームワーク Scrapy
第7章 クローラーの継続的な運用・管理

 

大型本、400ページ、技術評論社、2016/12/16