Cloudflareで保護されているサイトでの Web リクエストには、cloudcraper パッケージ ( PyPI、Github ) を使用しています。
このパッケージではまだ解決できない課題があることは承知しています。特に、recaptcha を使用した「v2 課題」などです。
しかし、私にとっては、パッケージはまったく機能していないようです。でGETリクエストを行うと
s.get(my_url)
ここで、s は Cloudscraper セッション オブジェクトです。「注意が必要です! | Cloudflare」というタイトルの HTML ページが表示されることがよくあります。これは標準の Cloudflare Javascript チャレンジで、ブラウザが JS をサポートしているかどうかを確認するだけです。
なぜこれが起こるのかわかりません。私はそれを確認しました
「現実的な」ユーザー エージェント セットがあり、Chrome がブラウザー引数として設定されています。
cloudscraper.CloudScraper() コンストラクター。
リクエストのタイミングが早く、速すぎない。リクエスト間で待機する
cloudcraper 自体、 requests 、 requests-toolbelt 、および engine としての js2py に加えて、すべてのパッケージ要件がインストールされています。
Github リポジトリに問題セクションはありません。
Javascript チェックは、Cloudflare が投げかける最も簡単な課題です。それでも、いくつかのCloudflareの課題を解決することを唯一の目的とするこのパッケージは、この単純なチェックを通過することさえできません.
私は何を見落としていますか?Cloudflare は Web 自動化を悪夢にします...
編集: また、Cloudflare ページには「Cookie を有効にしてページをリロードしてください」と表示されます。ただし、通常、Cookie はリクエスト セッションの RequestsCookieJar によって自動的に受け入れられます。