orangain flavor

じっくりコトコト煮込んだみかん2。知らないことを知りたい。

Pythonクローリング&スクレイピングの初版の詰まりどころ

Pythonクローリング&スクレイピングの初版(表紙の文字が青い本)は2017年に出版され、現在では動かなくなってしまったコードもあります。

f:id:mi_kattun:20190921161334j:plain

そこで初版を手にしてくださった方のために、主な詰まりどころと対策をまとめておきます。初版のサポートページには細かな変更点も記載されているので、合わせてご確認ください。

2章(2.4以降) urllibで403 Forbiddenになる

問題

Webサイト側の変更により、2.4以降のコードを実行すると403 Forbiddenとなってしまいます。

対策

注釈やサポートページに記載があるように、 https://gihyo.jp/dphttp://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の注文履歴を取得する方法を解説しているので、参考にしてください。

orangain.hatenablog.com

Headless Chromeの使い方については、次項目の対策を参照してください。

5.6 PhantomJSの開発が終了した

問題

PhantomJSは開発が終了したため、現在ではHeadless Chromeなどを使うことが推奨されています。macOSでは書籍に記載通りのコマンドでインストールできなくなっています。

対策

次の記事でPhantomJSの代わりにHeadless Chromeを使う方法を解説しているので、参考にしてください。

qiita.com

また、増補改訂版のサンプルコード5-6 も参照してください。

6章全般 Spiderで意図した通りにデータを抜き出せない

問題

Webサイト側の変更で、動かなくなっているコードがちらほらあります。

対策

増補改訂版のサンプルコード6-* を参照してください。

最後に

増補改訂版ではこれらの問題に対応済みで、解説も新しくなっています。初版にはなかった新しいトピックも追加されているので、よろしければ是非お買い求めください!

scraping-book.com