読者です 読者をやめる 読者になる 読者になる

プログラマでありたい

おっさんになっても、プログラマでありつづけたい

Pythonクローラー本の決定版か!? 『Pythonクローリング&スクレイピング』

 Pythonクローリング&スクレイピングを頂きました。ありがとうございます。まだざっとしか読んでいませんが、Pythonのクローラー本で一番バランスが良いのではないでしょうか?

Pythonクローリング&スクレイピング ―データ収集・解析のための実践開発ガイド―

Pythonクローリング&スクレイピング ―データ収集・解析のための実践開発ガイド―

本書の内容



 PythonでスクレイピングするのであればBeautiful Soup、クローラーフレームワークとしてはScrapyが定番です。この2つをしっかり抑えながら、ブラウザを操作するためのRoboBrowser、ブラウザ+JavaScriptに対処もできるSelenium+PhantomJS、PDFからのテキストの抽出など多岐に渡るテーマを扱っています。またデータ収集術だけではなく、分析を助けるためのElasticSearchやBigQueryとの連携、処理の並列化のためのキューの扱いかたなど、クローラー&スクレイピング制作を通じて色々な技術要素を学べるようになっています。終章の方には、運用の為にサーバーサイドでの扱いやAWSまで取り扱っています。
 またこのPythonクローラー本のお勧めの理由として、Python3に対応したScrapyの解説している点です。ScrapyはPythonのクローラーフレームワークの標準ですが、長らくPython2にのみ対応されていませんでした。それが2016年5月にPython3に対応されました。本書ではいち早くPython3版のScrapyに対応しており、非常に良いタイミングで出たのではないでしょうか?

Rubyクローラー本とExcelクローラー本との対比



 せっかくの機会なので、僭越ながら拙著の「Rubyによるクローラー開発技法」とExcelのクローラー本である「データを集める技術」と対比させて頂きます。Rubyのクローラー本とPython本は構成や対象としているターゲット層としては恐らく非常に似ています。説明の仕方や順番など、こういう紹介の仕方が良いなぁと思える部分が多く、結構、思考パターンが似ているなぁと思いながら読んでいました。違いとしては、クローラー本が具体例が多いのに対して、Python本は技術要素を中心にしています。本としての寿命を考えると、Python本のような構成が良かったのかと思います。
 またExcel/Googleスプレッドシートのクローラー本と較べると、想定の読者とは全く違ってきています。Excelのクローラー本は、一応技術書と銘打っておりますがノンプログラマも読者層として想定しております。その為、どちらかというと入門書となっており、スクレイピングの技巧も少ないです。Python本を読みこなせる人は、Excelクローラー本は不要だと思います。

その他



 Pythonクローリング&スクレイピングを読んだ後にググって調べると、著者の加藤さんによる下記のサイトを見つけました。こんな方法で書籍紹介するのは素敵ですね。自分でもやってみようかなと思います。いずれにせよ、クローラー愛が伝わる非常に良い本だと思います。是非、一度手にとって見てください。

scraping-book.com


See Also:
「データを集める技術」という本を執筆しました
『Rubyによるクローラー開発技法』を書きました
非エンジニアでも何とか出来るクローラー/Webスクレイピング術