スクレイピングを個人又は案件でこなしている人向けにスクレイピングに関しての実情をまとめます。
Reactなどの影響で年々難易度が上がっている。
特に画像系は対策をしても取りこぼしが出るようになってきている。
解決するにsleepなどの待機時間を伸ばす必要がある。
そして出来れば一覧のところではなく、個別ページのURLに一覧取得後にアクセスしてスクレイピングをした方が良い。
EC系のrecaptureが増えつつある
これが今の1番の問題で以前と比べるとかなりrecaptureを導入するサイトが増えてきました。
案件の見積もりでも対策方はあるのかと聞かれたが今のところは一旦止めて手動で認証を行うしかない。
Beautiful Soupがほぼオワコン
1つ目のと共通するのですがこれからはBeautiful Soupはこのままだと活躍の場が限りなく少なくなります。
理由としてBeautiful SoupはHTMLファイルに記述されていないものは取れないと言うこと。
Reactなどのを使っているサイトではアニメーションも駆使して実際にアクセスしなければ要素が取得できないようになっています。
使ってみると分かると思いますが多くのサイトでメインのコンテンツの要素が取得出来ません。
これはrequestのライブラリでダウンロードするhtmlファイルにそれらの要素がロードされる前にダウンロードしてしまうからです。
現時点ではSeleniumのようなブラウザを使うライブラリ以外では対応策はありません。
スクレイピング系ライブラリもアップデートが必要
現在ではスクレイピング系のライブラリが新しい技術に追いついてない印象を受けます。
もしかしたらこれからはスクリーンショットからの画像解析で文字列などを取得することが主流になるかもしれませんね。