スクレイピングからデータサイエンスの入り口まで学べる本。
「2年生」の名は伊達じゃない!
「Python2年生 スクレイピングのしくみ」(森 巧尚 (著)2019/10/4発刊)を紹介します。
Pythonの基礎知識の次に、スクレイピングをやってみたい。でもWEBの知識がない。そんな方へオススメの本です。
この本では、「スクレイピング」=「WEB上のデータ収集」の基礎と全体像が学べます。
さらに、データサイエンスや機械学習で必要になる知識の一端も同時に学べます。
オススメする方
・Pythonの基礎の書き方をおえて、何か次に進みたい方
・別の教材でスクレイピングやAPIをやったけど、いまいち掴みきれなかった方
・「HTML」の知識はないけど、スクレイピングをやってみたい方
オススメしない方
・Pythonどころかプログラミングそのものに触れた事ない方
・プログラミングってどうやって始めるの?な方
(オススメしないとしましたが、基礎学習と並行するのは大いにアリだと思います)
もしかしたらオススメできるかもしれない方
・他の言語を学んでいて、Pythonは初めてという方
(この辺りは正直分かりません。前提知識は「for文」「if」くらいなので出来るかもしれません)
では、詳しく紹介していきます。
1.外観・分量
だいたい縦22.5cm × 横18.5cmです。
文庫本2冊並べたくらいのサイズ感ですね。
厚みは大体1.5cm、ページ数は約190ページ、本文だけなら180ページくらいです。
あと、なんか表紙の手触りが良いのでページをペラペラめくるのにストレスフリーな感じがします。
(かなり個人的な感想ですが・・・・)
私の場合、いったん他でスクレイピングを勉強した後だったので、全ページコードを写経したりはしていません。
ページ数がそこまで多くない割には凝縮された内容なので、もし全ページ細かくやればおそらく2週間はかかりそうです(私の場合ですが。)
2.内容
本のタイトル通り、「2年生」つまり基礎を終わらした後の2冊目として書かれている本です。
といっても、使用するのは、「変数の書き方」「for文」「if文」+αくらいです。
基礎の内容でもややこしめの「関数の定義」や「Class」は出てきません。
そのため、基礎編の理解があやふやでも、本書に進んで大丈夫だと思います。
一方で、「2冊目」という意味では、Pythonの基礎知識以外は無くてもスクレイピングできるように書かれており、非常に丁寧に解説されています。
スクレイピングに必要となる「HTML」の知識を抜粋して説明がされていますので、本書を読み始める時点では、「HTML」の知識がなくても大丈夫です。
この本は、全編オールカラーで書かれており、また可愛らしいキャラクターが説明してくれるので、とても親しみやすく書かれています。
一方で、親しみやすいがためにパッと見た感じ絵本っぽいので、子供向けで内容が薄いようなイメージを持たれるかもしれません。
しかし、実際には非常に濃縮されていて無駄がなく、決して子供向けの内容ではありません。
本書では、ざっくりと大別して
①:WEBスクレイピング
②:スクレイピングしたデータの分析
③:WEB APIの使い方
が学べます。
①と③は、WEB上のデータを収集する内容で、本書のタイトル通りの内容です。
とくに、実際に存在する(練習用のページではない)WEBページやオープンデータ、WEB APIを使って勉強する項目もあるので、非常に実用的です。
②は、データ分析としてPandasライブラリやmatplotlibライブラリの使い方が解説されています。
Pandasライブラリは、データを表形式でまとめて分析できるライブラリです。
matplotlibライブラリは、グラフを書くためのライブラリです。
どちらもデータサイエンスや機械学習等で必須で使う事になるライブラリです。
そのため、この本で学習した後に他の分野に進む場合にもためになる内容です。
(※Python初学者の方へ)
本書では、冒頭でPytonのインストール方法から紹介されています。
しかし、基礎的なコードの書き方が分かっている前提で話が進みますので、本当のゼロからではシンドイと思います。
同じ著者のシリーズで「1年生」と銘打たれた基礎編の本もあります。(私は未読ですので内容紹介はできませんが。。。下にリンクは貼っておきます。)
「ゼロから始める」という方は「Python1年生」や、私がオススメの「Pythonスタートブック」で基礎をザっと学んでから、「Python2年生」に進まれた方が良いです。
(私の書評:【書籍紹介】Pythonスタートブック [増補改訂版] )
3.ブックレビュー
私が本書を手に取ったのは、スクレイピングやAPIが他の教材であまり理解できなかったからです。結果として本書で非常に理解が深まり、スクレイピングやAPIはとりあえずは他の教材はいらないなと感じています。
特にAPIについては、本当に良く分かっていなかったのが、本書を学習することで実際に扱ってみるレベルまでにはなりました。
私のGoogle Books APIをいろいろと試すシリーズは、この本なしではやらなかったと思います。
(ちなみに、本書ではGoogle Books APIそのものは扱っていません。)
特によかったのは、実際にWEB上に存在する実例をもとに解説がなされている点です。
これ、個人的には非常に重要な点です。テストページと実際のページでは違うし、何よりできたときの感動が段違いです。
データの分析のパートは、(他でも学習したので)私は詳しくやりませんでしたが、非常に練られていると感じます。
「Pandas→matplotlib→データの出力」という後々絶対に役立つパターンを必要最小限のページで書かれており、「この本の次」まで考えて書かれているのでしょう。
これは全体を通して言えますが、冗長になりすぎず、かつ不足にならないような過不足のない情報、説明、構成が貫かれています。
著者の森さんが、とてもよく考えて書かれているのだと思います。
という事で、Python基礎をおえて次の1冊を探している方や、スクレイピングをやってみたい方にオススメできる本になっています。
コメント