「Pythonによるスクレイピング&機械学習[開発テクニック]」という書籍を読んでみました。Pythonを使用して「スクレイピング」の理解を深めたいと思い、少し重みのある当書籍を手に取りました。
概要
当書籍のメインテーマは「機械学習」。筆者が理解を深めたいのは「スクレイピング」は、機械学習を行う前段階としての使用・紹介にとどまる。機械学習を行うための情報を、スクレイピングで効率的に入手しよう、といった印象を受けました。
内容
機械学習のためのデータ処理とは
クローリングとスクレイピング
- urllib
- BeautifulSoup
- find_all()
- Chromeのデベロッパーツール
高度なスクレイピング
- requestモジュールとCookie
- Selenium / PhantomJS
- WebAPI
データソースと書式・整形
- json / PyYAML / codecs / csv
- Python-Excel / pandas
- SQLite / MySQL / TinyDB
機械学習
深層学習
テキスト解析とチャットボットの作成
深層学習を実践してみよう
作業の準備と環境構築
- dockerを使用した環境構築
つまづきポイント
Dockerを使用した環境構築ができる前提で進んでいくので、Docker周辺の知識は必須。筆者はDockerの知識はゼロであったため、なかなか書籍の学習に辿り着けませんでした。
環境構築においても、2016年当時のバージョン情報なので、2023年現在のバージョンに自分で情報を置き換えて作業するのが大変でした。
まとめ
Dockerを使用した環境構築に多くの時間を費やすことになった。2016年-2017年当時の情報がベースになっているので仕方ないが、それにしても環境を構築するまでのエラー対応が非常に多かった。そのおかげで、小手先の知識やスキルは身についたように思う。
目標であったスクレイピングのさわりは体験できたが、ヘッドレスブラウザ「PhantomJS」の部分で代替の記述まで辿り着けず、実習がストップしてしまったのが残念。(PhantomJSはサポートが終了している)
スクレイピングについては、基本的なプログラムの流れは決まっており、目的のデータに合わせて解析し、加工することが流れであると捉えた。APIが提供されていればAPIを使用、ページ内から情報を取得したければ、CSSを解析して情報を取得する、など。
理解を深めるには、実際にやってみることが近道であるとは思ったので、今後も継続的に学習していきたい。
また、当書籍のメインコンテンツである「機械学習」については、今回はさらっと眺めるにとどめてスルーさせてもらった。プログラムの実行だけでもしたかったが、ボリュームが多すぎて消化しきれないと思ったので、今後機会があれば再度学習したいと思う。
コメント