Python を使用して CAPTCHA をバイパスする方法#

キャプチャについて#

CAPTCHAとは「Completely Automated Public Turing test to Tell Computers and Humans Apart」の略で、コンピュータと人間を完全自動で識別するチューリングテストです。これは、Web サイトの訪問者がボットやマルウェアなどの自動プログラムではなく、本物であるかどうかを確認するために使用されるテストです。 CAPTCHA は通常、画像としてユーザーに表示され、ユーザーは表示された単語または数字をテキスト ボックスに入力する必要があります。この種のテストでは、人間による画像やテキストの認識を利用して、Web サイトのセキュリティを確保し、悪意のある攻撃や自動操作を防ぎます。

環境整備#

pip を使用して NextCaptcha Python SDK をインストールできます。
pip install nextcaptcha-python

使用法#

NextCaptcha Python SDK の使用を開始するには、まず NextCaptcha ダッシュボードから API キー (clientKey) を取得する必要があります。次に、NextCaptchaAPI インスタンスを作成できます。
from nextcaptcha import NextCaptchaAPI
 
api = NextCaptchaAPI(client_key="YOUR_CLIENT_KEY")
API オブジェクトを使用して、さまざまなタイプのキャプチャを解決できるようになりました。 reCAPTCHA v2 チャレンジを解決するには、recaptchav2 メソッドを使用します。
result = api.recaptchav2(website_url="https://example.com", website_key="SITE_KEY")
reCAPTCHA v2 Enterprise の解決 reCAPTCHA v2 Enterprise の課題を解決するには、recaptchav2enterprise メソッドを使用します。
result = api.recaptchav2enterprise(website_url="https://example.com", website_key="SITE_KEY")
reCAPTCHA v3 の解決 reCAPTCHA v3 の課題を解決するには、recaptchav3 メソッドを使用します。
result = api.recaptchav3(website_url="https://example.com", website_key="SITE_KEY")
reCAPTCHA Mobile の解決 reCAPTCHA Mobile の課題を解決するには、recaptcha_mobile メソッドを使用します。
result = api.recaptcha_mobile(app_key="APP_KEY")
hCaptcha の解決 hCaptcha の課題を解決するには、hcaptcha メソッドを使用します。
result = api.hcaptcha(website_url="https://example.com", website_key="SITE_KEY")
hCaptcha Enterprise の解決 hCaptcha Enterprise の課題を解決するには、hcaptcha_enterprise メソッドを使用します。
result = api.hcaptcha_enterprise(website_url="https://example.com", website_key="SITE_KEY")
FunCaptcha の解決 FunCaptcha チャレンジを解決するには、funcaptcha メソッドを使用します。
result = api.funcaptcha(website_public_key="WEBSITE_PUBLIC_KEY")
アカウント残高の確認 NextCaptcha アカウントの残高を確認するには、get_balance メソッドを使用します。
balance = api.get_balance()
print(f"Account balance: {balance}")
NextCaptcha Python SDK を使用して reCAPTCHA v2 チャレンジを解決する完全な例を次に示します。
from nextcaptcha import NextCaptchaAPI
 
CLIENT_KEY = "YOUR_CLIENT_KEY"
WEBSITE_URL = "https://example.com"
WEBSITE_KEY = "SITE_KEY"
 
api = NextCaptchaAPI(client_key=CLIENT_KEY)
result = api.recaptchav2(website_url=WEBSITE_URL, website_key=WEBSITE_KEY)
 
if result["status"] == "ready":
    print(f"reCAPTCHA solved: {result['solution']}")
else:
    print(f"Failed to solve reCAPTCHA: {result['error']}")

エラー処理#

検証コードにエラーがある場合、SDK はエラー情報を含む辞書を返します。ステータス フィールドをチェックして、リクエストが成功したかどうかを判断できます。ステータスが「準備完了」の場合、検証コードは正常に解決されており、解決策フィールドに解決策が表示されます。ステータスが「失敗」の場合、エラーフィールドにはエラーの説明が含まれます。