レビュー
概要
『PythonによるWebスクレイピング 第2版』は、Webスクレイピングを単なるHTML取得の小技としてではなく、データ収集の実務として体系的に学ぶ本です。requests と BeautifulSoup の基礎だけで終わらず、クローラの設計、Scrapy、データ格納、クリーニング、自然言語処理、Selenium、API、OCR、並列処理、リモート実行、法的・倫理的論点まで広く扱います。入門書に見えて、現場で起きる問題にかなり深く踏み込んだ1冊です。
本書の価値は、技術スタックがバラバラに紹介されていないことです。つなげる、パースする、クローリングする、格納する、整える、さらに難しいサイトへ対応する。その流れが章立てに沿って積み上がります。だから、個別のライブラリの使い方だけでなく、「現実のWebサイトを相手に、どんな順序で考えるべきか」が身につきます。
読みどころ
第一の読みどころは、第I部の素直な積み上げ方です。1章で最初のスクレイパーを作り、2章で BeautifulSoup の find や find_all、木構造のナビゲーション、正規表現、属性アクセスまで広げ、3章と4章で単一ドメイン、サイト全体、インターネット全体のクローリングへ進みます。ここで終わらず、4章で「Webクローリングのモデル」を考えさせるので、コード断片の寄せ集めになりません。
第二の読みどころは、5章から8章にかけての実務感です。5章では Scrapy を導入し、規則ベースのスパイダー、Item、パイプライン、ロギングまで扱います。6章では CSV、MySQL、メールによる通知など、収集したデータをどう保つかに踏み込みます。さらに7章では文書エンコーディング、CSV、PDF、Word、8章では OpenRefine を含むデータクリーニングが出てきます。スクレイピングは取って終わりではないとよくわかります。
第三の読みどころは、第II部後半の広さです。9章では NLTK を使った統計分析や字句解析、10章ではフォーム送信とログイン、11章では JavaScript と Ajax と Selenium、12章では API とドキュメントのない API の調査を扱います。さらに、13章では Pillow、Tesseract、pytesseract による OCR、16章ではマルチスレッドとマルチプロセス、17章では Tor やクラウドを使ったリモート実行、18章では著作権、robots.txt、利用規約、動産不法侵入、コンピュータ犯罪取締法まで踏み込みます。範囲が広いのに、全部が「現場で困ること」につながっています。
本の具体的な内容
本書は、スクレイピングを学ぶ人が途中でつまずきやすいポイントをかなり先回りしています。たとえば、単純なHTMLパースの段階ではうまくいっても、実際のサイトでは構造が揺れる、リンクが例外的、ページ種別が混在する、といった問題が出ます。4章のクローラ設計は、そうしたばらつきにどう対応するかを考える章です。ここがあるため、本書は単なる Python ライブラリ解説書ではなくなっています。
また、11章と12章の並びもよくできています。JavaScript を実行しないと取れないデータがあるなら Selenium を使う。だが、API が見つかるならそちらの方が安定することもある。さらに、ドキュメントのない API なら調べてドキュメントを作るところまでやる。この流れは、現場での判断そのものです。無理にブラウザ自動化へ進まない感覚が学べるのは大きいです。
加えて、18章の適法性と倫理の章が重要です。スクレイピング本の中には、技術だけを教えて責任の線引きが曖昧な本もあります。しかし本書は、著作権、robots.txt、利用規約、判例、そして「人間らしく見せる」技術まで含めて扱います。強引に取れるかどうかではなく、どこまでが許容されるかを考える姿勢が最後に置かれているのは、オライリーらしい堅さだと感じました。
類書との比較
初心者向けのスクレイピング本は、requests と BeautifulSoup を使って表や記事を抜き出すところまでで終わることが多いです。本書はそこから大きく先へ進みます。Scrapy、Selenium、OCR、並列処理まで入っているので、守備範囲が広いです。一方で、ただ難しいだけではなく、章立てが順番通りなので読み進めやすい。入門から実務の入口までをつなぐ本としてかなり優秀です。
こんな人におすすめ
業務で継続的にデータ収集をしたい人に向いています。データ分析の前段でWebデータを整えたい人、社内ツールや調査プロトタイプを作るエンジニア、スクレイピングの倫理や法的論点も含めて学びたい人にも相性がよいです。逆に、Python 文法の超入門から始めたい人には少し速いですが、基礎文法がわかれば十分読めます。
感想
この本を読むと、スクレイピングは「サイトから情報を抜く技術」ではなく、「壊れやすい現実のデータ取得工程をどう設計するか」という仕事だとわかります。HTML を読むだけなら短い記事でも学べます。しかし、ログイン、動的ページ、PDF、OCR、並列実行、法的リスクまで含めると、話はずっと複雑です。本書はその複雑さを、怖がらせすぎずに見せてくれます。
特に良かったのは、ツールの選び方を押しつけないところです。BeautifulSoup で済む場面もあれば、Scrapy が向く場面もある。Selenium を使うべきときもあれば、API を探した方がよいこともある。そうした判断の分岐が章構成そのものに埋め込まれているので、読後には単なる知識ではなく、考え方が残ります。長く使える技術書です。