Web スクレイパー必携の一冊、ふたたび - 『増補改訂版 Python クローリング & スクレイピング』

Takahiro Ikeuchi
Aug 8, 2019 · 6 min read

この度縁あって『増補改訂版 Python クローリング & スクレイピング, 加藤耕太 著, 2019年, 技術評論社』(以下、本書)を技術評論社よりご恵贈賜りました。

1万部を超える人気書籍となった『Python クローリング & スクレイピング』

本書「増補改訂版に寄せて」によると、”短い期間で6回の増刷を重ね、累計発行部数は1万部を超え” たとのことで、今回の改訂版刊行はその実績をうけての刊行であることがうかがい知れます。

本書が扱うのは、Web スクレイピング・クローリングと呼ばれる技術です。本書はまず技術そのものの解説を行ってから、「Webスクレイピングを Python で実現するには」という手法の解説に取り組みます。全体の流れや各章ごとのトピックについては、拙著で恐縮ですが上述の第一版のレビュー記事をご覧下さい。

気になる増補トピック

Pyppeteer

Pyppeteer は Puppeteer の Python版で、操作対象ブラウザを Chrome に限定し、非同期処理を前提としたつくりになっているそうです。

第一版から本書まで、PhantomJS の開発が終了したりGoogle Chrome のヘッドレスモードが stable になったり と色々ありましたね…。本書では最新のツール動向にあわせた内容に調整されています。

Elasticsearch

増補版では、全文検索システム Elasticsearch の紹介が追加されています。

Webスクレイピングのためのフレームワーク Scrapy を使って収集・蓄積したデータの活用例として、Elasticsearch を使った文書検索の例が紹介されています。本書で扱う範囲は限定的ですが、興味を惹かれた読者は Elasticsearch や全文検索エンジン、自然言語処理といった分野を深掘りすると良いでしょう。

PyQS (メッセージキューの利用)

本書 第7章「クローラーの継続的な運用・管理」では、クローリングとスクレイピングの工程を疎結合にするためにメッセージキューの導入が提案されます。増補版では、Amazon Web Service の Amazon Simple Queue Service (SQS) を利用することを前提として、PyQS を活用するという解説にブラッシュアップされました。

asyncio の活用(3.7版)

本書 第7章 では、asyncio を利用して非同期I/O を容易に実現し、クローリング効率を高める方法が解説されます。

asyncio のトピック自体は第一版でも取り扱われていました。第一版は Python 3.5 を対象としたコードが、本書では Python 3.7 対象に更新されています。具体的には、Python 3.7 で追加された asyncio.run() を利用しています。細かい点ですが、よりシンプルに書ける方法を採用するという Pythonic (?) な思想が垣間見えました。

こんな方におすすめ

  • Webスクレイピングやクローラーについて基礎から応用までしっかり学びたい方
  • Python + Beautiful Soup を使ったWebスクレイピングを身につけ、次に何を学べばよいか知りたい方
  • 趣味でクローラーを開発したことがあるけど、仕事でも必要になった・なるかも知れない方

以上です。増補改訂版の刊行を謹んでお慶び申しあげます!

Image for post
Image for post

Takahiro Ikeuchi

Written by

株式会社Hakali 取締役CTO。株式会社ALBERT 執行役員を経て2015年8月に起業。2019年6月より現職。 Go や React による アプリケーション開発のほか、Webデザインなどを広く手がける。著書に「PythonユーザのためのJupyter[実践]入門」などがある。

Takahiro Ikeuchi

Written by

株式会社Hakali 取締役CTO。株式会社ALBERT 執行役員を経て2015年8月に起業。2019年6月より現職。 Go や React による アプリケーション開発のほか、Webデザインなどを広く手がける。著書に「PythonユーザのためのJupyter[実践]入門」などがある。

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store