Pythonクローリング&スクレイピングの初版の詰まりどころ
Pythonクローリング&スクレイピングの初版(表紙の文字が青い本)は2017年に出版され、現在では動かなくなってしまったコードもあります。
そこで初版を手にしてくださった方のために、主な詰まりどころと対策をまとめておきます。初版のサポートページには細かな変更点も記載されているので、合わせてご確認ください。
2章(2.4以降) urllibで403 Forbiddenになる
問題
Webサイト側の変更により、2.4以降のコードを実行すると403 Forbiddenとなってしまいます。
対策
注釈やサポートページに記載があるように、 https://gihyo.jp/dp
を http://sample.scraping-book.com/dp
に置き換えて実行してください。
5.3 Excelファイルなどのデータ構造が変わっている&新しいpandasだと動かない
問題
公開されているExcelファイルなどの構造が当時から変更されており、そのままのコードでは意図した通りの結果が得られないところがあります。また、pandas 0.24以降では一部挙動が変わっており、途中で動かない部分があります。
対策
増補改訂版のサンプルコード の 5-3
を参照してください。
5.5.2 Amazon.co.jpへのログインができなくなっている
問題
Webサイト側の仕様が変わり、RoboBrowserでログインしようとするとCAPTCHAが表示されてしまいます。
対策
次の記事で、SeleniumとHeadless Chromeを使ってAmazon.co.jpの注文履歴を取得する方法を解説しているので、参考にしてください。
Headless Chromeの使い方については、次項目の対策を参照してください。
5.6 PhantomJSの開発が終了した
問題
PhantomJSは開発が終了したため、現在ではHeadless Chromeなどを使うことが推奨されています。macOSでは書籍に記載通りのコマンドでインストールできなくなっています。
対策
次の記事でPhantomJSの代わりにHeadless Chromeを使う方法を解説しているので、参考にしてください。
また、増補改訂版のサンプルコード の 5-6
も参照してください。
6章全般 Spiderで意図した通りにデータを抜き出せない
問題
Webサイト側の変更で、動かなくなっているコードがちらほらあります。
対策
増補改訂版のサンプルコード の 6-*
を参照してください。
最後に
増補改訂版ではこれらの問題に対応済みで、解説も新しくなっています。初版にはなかった新しいトピックも追加されているので、よろしければ是非お買い求めください!