15 ポイント 投稿者 xguru 2020-09-11 | 2件のコメント | WhatsAppで共有

Seleniumを基準にしていますが、他の環境にも適用可能です

  1. Navigator.Webdriver フラグを削除

  2. ChromeDriver / GeckoDriver から特定の文字列を削除

  3. 解像度、User-Agent などを変更

  4. 実際のURLフローを使用。見えないリンクへのアクセスを回避

  5. Proxyを利用してIPを変更

  6. ランダムな遅延値を使用

  7. ヘッドレスブラウザを使用しないこと(Notification Permission をチェックして確認)

2件のコメント

 
xguru 2020-09-11

1番の場合、Puppeteer では true/false の設定だけだとボットとして検出される場所があるので

いっそ以下のようにプロパティを削除したほうがよいとのこと

const newProto = navigator.__proto__;

delete newProto.webdriver;

navigator.__proto__ = newProto;
 
louis 2020-09-12

それはいい指摘ですね :) コードを置き換えました