こんにちは、はやたす(@hayatasuuu )です。
この記事を書いている僕は、現役のフリーランスエンジニア。
現在は、スクレイピングと自然言語処理を扱う分析案件に参画しています。
今回はそんな僕が「Pythonを使ったWebスクレイピングを学べるおすすめ本3冊」を紹介していきます。
難易度や目的別で紹介しているので、
この記事を読めば自分にあったスクレイピングの本が見つかりますよ!
本格的にWebスクレイピングを学びたい人へ
Udemyで「Python Webスクレイピング完全パック」を公開しました。
このコースを受講すれば、Webスクレイピングの基礎を学ぶだけでなく、副業案件レベルのスキルを習得できますよ!
↓↓↓画像をクリックして「期間限定30%オフ」で購入する↓↓↓
※講座の詳細は「【星4.7コ/ベストセラー】UdemyでWebスクレイピング講座をリリースしました」をどうぞ!
【厳選3冊】Webスクレイピング(Python)でおすすめの本【実務OK】
Pythonを使ったWebスクレイピングを学ぶための本を紹介していきます。
上から下に読んでいくと、難易度が上がっていくので初心者なら「おすすめ①」から取り組むのが良いです。
おすすめ① : Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる!
Webスクレイピングの技術書で、一番やさしく書かれている書籍です。
「Progateを使ってPythonの基礎を身につけたけど、次にどうしたら良いのか分からない…」
そんな場合は、この本で入門するのがおすすめ。
挫折することなくWebスクレイピングの基礎を学習できます。
絵本の形式で書かれている本なので、技術書を使った学習に慣れていないプログラミング初心者でも安心です。
デメリットは実務で使うには物足りないこと。
こちらの書籍で入門した場合には、他の教材で知識を補っていく必要があります。
おすすめ② : Pythonクローリング&スクレイピング[増補改訂版]
少し分厚くなりますが、Webスクレイピングをしっかりと学べる書籍です。
そもそもWebスクレイピングは、PythonやRubyのようなプログラミング言語を使わなくても、UNIXコマンドで実装できます。
ではなぜプログラミング、なかでもPythonを使うのかといえば、それはデータ加工やデータベースへの保存が容易だからです。
この本ではUNIXコマンドを使った実装と、Pythonを使って便利にスクレイピングする方法を学べます。
歴史から知っていると、「必要性を理解できる」ので入ってくるものが違ってきます。
おすすめ③ : PythonによるWebスクレイピング 第2版
※こちらの書籍は1版も存在します。古い書籍を買わないように注意しましょう。上のリンクは2版になっています。
安心と信頼のオライリーです。
ユニットテスト、並列化、トラップ回避方法など、発展した内容を学べる書籍になっています。
こちらの書籍は「”おすすめ②”を勉強したけど物足りない」と感じたら取り組むのがおすすめです。
おすすめ②より優先度が下がるのは、英日翻訳が少し読みづらいのと、個人的にコーディングスタイルが好きではないからです。
Pythonではcreate_transaction
のようにアンダースコアで繋ぎます。
でもこの書籍ではcreateTransaction
とGO言語みたいな書き方をしています。
その点、おすすめ②は元から日本語だし、コーディングスタイルもしっかりしています。
ぜひ以下の書籍(=おすすめ②)から学習してみてください。
Webスクレイピング学習でPython以外に学ぶべきこと3つ
Webスクレイピングを学ぶなら、Python以外に以下の知識をおさえておきましょう。
- HTML, CSS
- JavaScript
- Web周辺の基礎
順番に紹介していきますね。
学ぶべきこと① : HTML, CSS
Webスクレイピングは「Webページから情報を抽出する技術」です。
そしてWebページは、HTMLやCSSで書かれています。
ということはHTMLやCSSが分かっていないと、必要な情報を抽出できるようになりません。
すでに勉強していれば良いですが、
もしHTML, CSSの知識に不安があればProgateで学びましょう。
すべてのコースを学習する必要はなく、以下の3つだけやれば大丈夫です。
- HTML & CSS 初級編
- HTML & CSS 中級編
- HTML & CSS 上級編
HTML, CSSはPythonを使ったWebアプリ開発にも使えます。
今のうちに習得しておきましょう。
学ぶべきこと② : JavaScript
基本的には、HTMLとCSSを理解するだけスクレイピングできます。
でもあなたがスクレイピングするサイトによっては、以下の問題が発生します。
- アプリにログインしないと、欲しいデータを取得できない
- 「もっと見る」を押さないと、取得したい一覧を表示できない
- 下にスクロールしないと、取得したいデータが表示されない
たとえば「Yahoo!画像検索を使って、浜辺美波さんの画像を自動で取得したい」と思ったら、画面を下にスクロールしないと画像が表示されません。
もしYahoo!画像検索で浜辺美波さんの画像を大量に取得したいと思ったら、JavaScriptを使う必要があります。
ブラウザの自動スクロールは、僕がYouTube動画で紹介しています。
以下を見ていただけると、なぜJavaScriptが必要なのかイメージが膨らむはずです。
もしJavaScriptの知識も怪しいようだったら、こちらもProgateを使って勉強していきましょう。
HTML, CSSと同じく、最初の3つだけ取り組めば大丈夫です。
- JavaScript I
- JavaScript II
- JavaScript III
Webアプリの開発でも、見た目に動きをつけたいと思ったらJavaScriptの知識が必須になります。
このタイミングで基礎だけでもおさえておきましょう。
学ぶべきこと③ : Web周辺の知識
「そもそもWeb周辺の知識とはなにか」を説明しておきますね。
Pythonを使ったスクレイピングは、以下の手順でおこないます。
- STEP① : Pythonプログラム上で、URLにアクセスする
- STEP② : アクセスした結果から、HTMLの情報を取得する
- STEP③ : 取得したHTMLを解析して、欲しいデータを取得する
まずはじめに、PythonでURLにアクセスする必要があるわけです。
ブラウザを使っていると意識しないですが、このときに”GET”や”POST”という概念が出てきます。
この”GET”や”POST”が、Web周辺の知識です。
実はURLにアクセスするとき、”GET”や”POST”を使うことでアクセス方法を変更しています。
Google Chromeであれば気にする必要はないですが、プログラムではそういうわけにはいきません。
だからスクレイピングを学びたいと思ったら、Web周辺の知識はおさえておきましょう。
Web周辺の知識を体系的に学ぶなら、以下の書籍がおすすめです。
図解が多めなので、初心者でも読みやすいです。
内容もしっかりしているので、とりあえずこれ一冊あれば問題ありません!
まとめ : まずは無料でPythonとスクレイピングを学ぼう【本より分かりやすい】
今回は、Pythonを使ったWebスクレイピングを学ぶための本を紹介してきました。
ただ個人的には、初心者が本を使って学習するのはあまりオススメできません。
ではどうすれば良いのかというと、本の代わりに動画を使った学習をおすすめします。
その理由が以下です。
- 本だと学習が退屈になってしまう
- 動画なら同じ動きをすればコードを実行できる
- 動画だと”耳”でもインプットできるから理解しやすい
要するに本を使った学習は、あまり初心者向きではないんです。
どちらかというと、本や書籍はプログラミングに慣れてきた段階で使うアイテムだと言えます。
もしまだプログラミングに慣れていないなら、ぜひ動画を使って勉強していきましょう。
僕のYouTubeチャンネルでは、無料でスクレイピングを学べるコースを準備しています。
参考 : Python×スクレイピング入門
また、本格的にスクレイピングを学びたかったら、Udemy講座「Python Webスクレイピング完全パック」もおすすめです。
このコースを受講すれば、Webスクレイピングの基礎を学ぶだけでなく、副業案件レベルのスキルを習得できますよ!
↓↓↓画像をクリックして「期間限定30%オフ」で購入する↓↓↓
※講座の詳細は「【星4.7コ/ベストセラー】UdemyでWebスクレイピング講座をリリースしました」をどうぞ!