yamamuratkr
@yamamuratkr

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

クラウド環境におけるスクレイピングでcloudflareが突破できない

概要

OCI環境でcloudflareを突破するスクレイピングの処理を実現したいのですがうまくいきません。
以下に示すように、複数の方法でローカルでは成功するのにクラウド環境で成功しないのですが、これはOCIのIPアドレスがcloudflareのブラックリストに載っていると理解した方が良いのでしょうか?

知見をお持ちの方いらっしゃいましたらご教授いただけますと幸いです。

試したこと

pythonでのスクレイピング

  • nodriver:モジュール
  • drissionpage:モジュール
  • flaresolverr:dockerのプロキシ

環境

ローカル

  • マシン:Mac mini M2チップ
  • macOS:Sonoma14.6.1

クラウド環境

  • OKE(oracle linux(arm基盤))
  • OCI instance(oracle linux(arm基盤), Ubuntu)

成否

nodriver

  • ローカル:Mac上で実行しcloudflareを突破
  • クラウド環境:OCI instanse上で実行しcloudflareの突破失敗(処理自体は正常に終了)

drissionpage

  • ローカル:Mac上で実行しcloudflareを突破
  • クラウド環境:OCI instanse上で実行しcloudflareの突破失敗(処理自体は正常に終了)

flaresolverr

  • ローカル:Mac上でdocker composeを実行しプロキシコンテナを立てた上で、pythonからプロキシを通してcloudflareを突破
  • クラウド環境(OKE):プロキシのPODを起動しpythonからプロキシを通してcloudflareの突破失敗(処理自体は正常に終了)
  • クラウド環境(OCI instanse):instanse上でdocker composeを実行しプロキシコンテナを立てた上で、pythonからプロキシを通してcloudflareの突破失敗(処理自体は正常に終了)
0

3Answer

余計なお世話かもしれませんが・・・

スクレイピングは、サイトの管理者に許可を得ているとか、規約に従って専用の API にアクセスしているとかでなければ、迷惑行為になるかもしれないということは認識してますか?

クローラーを作って某図書館サイトにアクセスしたら業務妨害とかで逮捕された事例もありますので、甘く見ない方がいいと思います。

逮捕までいかなくても、被害が深刻な場合は損害賠償の訴訟を受けるかもしれません。

訴訟までいかなくても、アクセス遮断なら Web サーバーの設定で管理者だけの判断で容易に可能なので、多分に可能性はあると思います。帯域ごと遮断され、多数の利用者が巻き添えを喰らうことになるかもしれません。

1Like

Comments

  1. @yamamuratkr

    Questioner

    コメントいただきありがとうございます。

    おっしゃる通りスクレイピングは迷惑行為になる可能性が高いことは認識しており、データを取得する中で「お行儀良く」することに細心の注意を払っておりました。
    ただ、最近cloudflareが適用されてスクレイピングできなくなっていたので、突破する方法がないか探していた次第です。

    帯域ごと遮断している可能性が多分にあるとのこと理解いたしました。
    cloudflareを突破してスクレイピングすること自体にあまり旨味がない(サイト運営者もデータをとって欲しくない意思の表れ、一回突破してもまた遮断される可能性が高い)気がしているので、やり方を考え直したいと思います。

    ご意見いただきありがとうございました。

This answer has been deleted for violation of our Terms of Service.

質問者が調査した結果を見る限りでは、少なくともOCIの一部のネットワークセグメントは

Cloudflareによりブロックされていると言えるのではないでしょうか。

0Like

Comments

  1. @yamamuratkr

    Questioner

    コメントありがとうございます。
    お恥ずかしながら最近クラウドプロバイダーがPublicIPを公開していることを知りまして、cloudflareによって包括的にブロックされているんだろうなと考えておりました。

    上のコメントでも書きましたが、やり方を考え直したいと思います。

Your answer might help someone💌