CAPSOLVER
Blog
Cara Menyelesaikan CAPTCHA dengan Python Menggunakan Botasaurus dan CapSolver (Panduan Lengkap)

Cara Menyelesaikan CAPTCHAs dengan Python Menggunakan Botasaurus dan CapSolver (Panduan Lengkap)

Logo of CapSolver

Emma Foster

Machine Learning Engineer

15-Dec-2025

TLDR: Panduan ini menunjukkan cara menggabungkan Botasaurus, kerangka kerja scraping web Python dengan fitur anti-pendeteksian, dan CapSolver, API penyelesaian CAPTCHA, untuk secara otomatis melewati reCAPTCHA v2, reCAPTCHA v3, dan Cloudflare Turnstile selama scraping web skala besar. Proses intinya melibatkan persiapan lingkungan, menggunakan ekstensi browser CapSolver untuk mengidentifikasi parameter CAPTCHA, memanggil API CapSolver melalui fungsi bantuan Python untuk mendapatkan token solusi, dan akhirnya menggunakan Botasaurus untuk menyisipkan token ke halaman web untuk pengiriman formulir.

Cara Menyelesaikan CAPTCHA dalam Python Menggunakan Botasaurus dan CapSolver (Panduan Lengkap)

Scraping web skala besar sering kali menghadapi CAPTCHA yang menghalangi akses otomatis. Panduan ini menunjukkan cara menggabungkan Botasaurus, kerangka kerja scraping web yang kuat, dengan CapSolver untuk secara otomatis menyelesaikan CAPTCHA reCAPTCHA v2, reCAPTCHA v3, dan Cloudflare Turnstile.

Apa itu Botasaurus?

Botasaurus adalah kerangka kerja scraping web Python yang mempermudah otomasi browser dengan fitur anti-pendeteksian yang terintegrasi. Ini menyediakan API berbasis dekorator yang bersih untuk tugas browser.

Fitur Utama:

  • Anti-pendeteksian: Fitur stealth yang terintegrasi untuk menghindari deteksi bot
  • API Sederhana: Pendekatan berbasis dekorator dengan @browser
  • Eksekusi JavaScript: Jalankan kode JS kustom dalam konteks browser
  • Pemilihan elemen: Manipulasi DOM yang mudah dengan selector CSS

Instalasi:

bash Copy
pip install botasaurus

Penggunaan dasar:

python Copy
from botasaurus.browser import browser, Driver

@browser()
def scrape_page(driver: Driver, data):
    driver.get("https://example.com")
    title = driver.get_text("h1")
    return {"title": title}

# Jalankan scraper
result = scrape_page()

Apa itu CapSolver?

CapSolver adalah layanan penyelesaian CAPTCHA yang menyediakan API untuk menyelesaikan berbagai jenis CAPTCHA termasuk reCAPTCHA dan Cloudflare Turnstile.

Jenis CAPTCHA yang didukung:

  • reCAPTCHA v2 (checkbox dan invisible)
  • reCAPTCHA v3 (berbasis skor)
  • reCAPTCHA Enterprise
  • Cloudflare Turnstile
  • Dan lainnya

Mendapatkan kunci API Anda:

  1. Buat akun di Dashboard CapSolver
  2. Tambahkan dana ke akun Anda
  3. Salin kunci API Anda (dimulai dengan CAP-)

Persiapan Proyek

Instal Dependensi

bash Copy
pip install botasaurus capsolver requests python-dotenv

Konfigurasi Lingkungan

Buat file .env di akar proyek Anda:

env Copy
CAPSOLVER_API_KEY=CAP-YOUR_API_KEY_HERE

Modul Konfigurasi

Buat pemuat konfigurasi yang dapat dibagikan:

python Copy
# shared/config.py
import os
from pathlib import Path
from dotenv import load_dotenv

# Muat file .env dari akar proyek
ROOT_DIR = Path(__file__).parent.parent
load_dotenv(ROOT_DIR / ".env")

class Config:
    """Kelas konfigurasi untuk integrasi CapSolver."""

    # Kunci API CapSolver
    CAPSOLVER_API_KEY: str = os.getenv("CAPSOLVER_API_KEY", "")

    # Endpoint API CapSolver
    CAPSOLVER_API_URL = "https://api.capsolver.com"
    CREATE_TASK_ENDPOINT = f"{CAPSOLVER_API_URL}/createTask"
    GET_RESULT_ENDPOINT = f"{CAPSOLVER_API_URL}/getTaskResult"

    @classmethod
    def validate(cls) -> bool:
        """Periksa apakah konfigurasi valid."""
        if not cls.CAPSOLVER_API_KEY:
            print("Error: CAPSOLVER_API_KEY tidak diatur!")
            return False
        return True

Mengidentifikasi Parameter CAPTCHA dengan Ekstensi CapSolver

Sebelum mengintegrasikan dengan API, Anda perlu mengidentifikasi parameter yang benar untuk CAPTCHA target. Ekstensi CapSolver browser menyediakan cara mudah untuk mendeteksi semua parameter yang diperlukan secara otomatis.

Instalasi

Pasang ekstensi CapSolver dari Chrome Web Store.

Menggunakan Detektor CAPTCHA

  1. Tekan F12 untuk membuka alat pengembang
  2. Navigasi ke tab Capsolver Captcha Detector
  3. Pertahankan panel detektor sementara mengunjungi situs target Anda
  4. Aktifkan CAPTCHA di halaman

Penting: Jangan tutup panel CapSolver sebelum mengaktifkan CAPTCHA, karena menutupnya akan menghapus informasi yang sebelumnya terdeteksi.

Parameter yang Terdeteksi

Ekstensi secara otomatis mengidentifikasi semua parameter reCAPTCHA yang diperlukan:

  • URL Situs
  • Kunci Situs
  • pageAction (untuk v3)
  • isInvisible
  • isEnterprise
  • Api Domain

Detektor memberikan output JSON yang diformat siap untuk integrasi API, membuatnya mudah untuk menyalin parameter tepat yang dibutuhkan untuk tugas penyelesaian Anda.

Untuk detail lebih lanjut, lihat panduan lengkap mengenai mengidentifikasi parameter CAPTCHA.


Menyelesaikan reCAPTCHA v2 dengan API CapSolver

reCAPTCHA v2 adalah CAPTCHA checkbox "Saya bukan robot" klasik. Ini mungkin menampilkan tantangan pemilihan gambar kepada pengguna.

Menemukan Kunci Situs

Anda dapat menggunakan detektor ekstensi CapSolver (seperti yang dijelaskan di atas) atau menemukan kunci situs secara manual:

Cari di HTML halaman:

html Copy
<div class="g-recaptcha" data-sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"></div>

Atau dalam JavaScript:

javascript Copy
grecaptcha.render('container', {'sitekey': '6Le-xxxxx...'});

Fungsi Bantuan

python Copy
# utils/capsolver_helper.py
import time
import requests
from shared.config import Config

def solve_recaptcha_v2(
    website_url: str,
    website_key: str,
    is_invisible: bool = False,
    timeout: int = 120
) -> dict:
    """
    Selesaikan reCAPTCHA v2 menggunakan API CapSolver.

    Args:
        website_url: URL halaman dengan CAPTCHA
        website_key: Kunci situs reCAPTCHA
        is_invisible: Apakah ini reCAPTCHA v2 invisible
        timeout: Waktu maksimum menunggu solusi (detik)

    Returns:
        dict dengan 'gRecaptchaResponse' token
    """

    if not Config.validate():
        raise Exception("Konfigurasi tidak valid - periksa kunci API Anda")

    # Bangun payload tugas
    task = {
        "type": "ReCaptchaV2TaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key,
    }

    if is_invisible:
        task["isInvisible"] = True

    payload = {
        "clientKey": Config.CAPSOLVER_API_KEY,
        "task": task
    }

    # Buat tugas
    response = requests.post(Config.CREATE_TASK_ENDPOINT, json=payload)
    result = response.json()

    if result.get("errorId") and result.get("errorId") != 0:
        raise Exception(f"Gagal membuat tugas: {result.get('errorDescription')}")

    task_id = result.get("taskId")

    # Poll hasil
    start_time = time.time()
    while time.time() - start_time < timeout:
        time.sleep(2)

        result_payload = {
            "clientKey": Config.CAPSOLVER_API_KEY,
            "taskId": task_id
        }

        response = requests.post(Config.GET_RESULT_ENDPOINT, json=result_payload)
        result = response.json()

        if result.get("status") == "ready":
            return result.get("solution", {})

        elif result.get("status") == "failed":
            raise Exception(f"Tugas gagal: {result.get('errorDescription')}")

    raise Exception(f"Timeout setelah {timeout} detik")

Contoh Lengkap reCAPTCHA v2

python Copy
from botasaurus.browser import browser, Driver
from shared.config import Config
from utils.capsolver_helper import solve_recaptcha_v2

DEMO_URL = "https://www.google.com/recaptcha/api2/demo"
DEMO_SITEKEY = "6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"

@browser(headless=False)
def solve_recaptcha_v2_with_api(driver: Driver, data: dict):
    """Selesaikan reCAPTCHA v2 menggunakan API CapSolver dan sisipkan token."""

    url = data.get("url", DEMO_URL)
    site_key = data.get("site_key", DEMO_SITEKEY)

    # Langkah 1: Muat halaman
    driver.get(url)
    driver.sleep(2)

    # Langkah 2: Ekstrak kunci situs dari halaman (opsional)
    extracted_key = driver.run_js("""
        const recaptchaDiv = document.querySelector('.g-recaptcha');
        return recaptchaDiv ? recaptchaDiv.getAttribute('data-sitekey') : null;
    """)

    if extracted_key:
        site_key = extracted_key

    # Langkah 3: Selesaikan CAPTCHA via API CapSolver
    solution = solve_recaptcha_v2(
        website_url=url,
        website_key=site_key
    )

    token = solution.get("gRecaptchaResponse")

    # Langkah 4: Sisipkan token ke halaman
    driver.run_js(f"""
        // Atur nilai textarea tersembunyi
        const responseField = document.querySelector('[name="g-recaptcha-response"]');
        if (responseField) {{
            responseField.value = "{token}";
        }}

        // Aktifkan callback jika tersedia
        if (typeof ___grecaptcha_cfg !== 'undefined') {{
            try {{
                const clients = ___grecaptcha_cfg.clients;
                for (const key in clients) {{
                    const client = clients[key];
                    if (client && client.callback) {{
                        client.callback("{token}");
                    }}
                }}
            }} catch (e) {{}}
        }}
    """)

    # Langkah 5: Kirim formulir
    submit_button = driver.select('input[type="submit"]')
    if submit_button:
        submit_button.click()
        driver.sleep(2)

    return {"success": True, "token_length": len(token)}

# Jalankan demo
result = solve_recaptcha_v2_with_api(data={"url": DEMO_URL, "site_key": DEMO_SITEKEY})

Menyelesaikan reCAPTCHA v3 dengan API CapSolver

reCAPTCHA v3 adalah CAPTCHA yang tidak terlihat dan bekerja dengan menganalisis perilaku pengguna untuk menghasilkan skor dari 0.0 hingga 1.0.

Perbedaan utama dari v2: reCAPTCHA v3 memerlukan parameter pageAction.

Menemukan Page Action

Cara paling mudah untuk menemukan pageAction adalah menggunakan detektor ekstensi CapSolver. Alternatifnya, cari di JavaScript halaman:

javascript Copy
grecaptcha.execute('siteKey', {action: 'login'})
// 'login' adalah pageAction Anda

Fungsi Bantuan

python Copy
def solve_recaptcha_v3(
    website_url: str,
    website_key: str,
    page_action: str,
    timeout: int = 120
) -> dict:
    """
    Selesaikan reCAPTCHA v3 menggunakan API CapSolver.

    Args:
        website_url: URL halaman dengan CAPTCHA
        website_key: Kunci situs reCAPTCHA
        page_action: Parameter aksi (WAJIB untuk v3)
        timeout: Waktu maksimum menunggu solusi (detik)

    Returns:
        dict dengan 'gRecaptchaResponse' token
    """

    if not Config.validate():
        raise Exception("Konfigurasi tidak valid - periksa kunci API Anda")

    if not page_action:
        raise Exception("pageAction WAJIB untuk reCAPTCHA v3")

    # Bangun payload tugas
    task = {
        "type": "ReCaptchaV3TaskProxyLess",
        "websiteURL": website_url,
        "websiteKey": website_key,
        "pageAction": page_action,  # WAJIB untuk v3
    }

    payload = {
        "clientKey": Config.CAPSOLVER_API_KEY,
        "task": task
    }

    # Buat tugas
    response = requests.post(Config.CREATE_TASK_ENDPOINT, json=payload)
    result = response.json()

    if result.get("errorId") and result.get("errorId") != 0:
        raise Exception(f"Gagal membuat tugas: {result.get('errorDescription')}")

    task_id = result.get("taskId")

    # Poll hasil
    start_time = time.time()
    while time.time() - start_time < timeout:
        time.sleep(2)

        result_payload = {
            "clientKey": Config.CAPSOLVER_API_KEY,
            "taskId": task_id
        }

        response = requests.post(Config.GET_RESULT_ENDPOINT, json=result_payload)
        result = response.json()

        if result.get("status") == "ready":
            return result.get("solution", {})

        elif result.get("status") == "failed":
            raise Exception(f"Tugas gagal: {result.get('errorDescription')}")

    raise Exception(f"Timeout setelah {timeout} detik")

Contoh Lengkap reCAPTCHA v3

python Copy
from botasaurus.browser import browser, Driver
from shared.config import Config
from utils.capsolver_helper import solve_recaptcha_v3

DEMO_URL = "https://recaptcha-demo.appspot.com/recaptcha-v3-request-scores.php"
DEMO_SITEKEY = "6LdyC2cUAAAAACGuDKpXeDorzUDWXmdqeg-xy696"
PAGE_ACTION = "examples/v3scores"

@browser(headless=False)
def solve_recaptcha_v3_with_api(driver: Driver, data: dict):
    """Selesaikan reCAPTCHA v3 menggunakan API CapSolver dan sisipkan token."""

    url = data.get("url", DEMO_URL)
    site_key = data.get("site_key", DEMO_SITEKEY)
    page_action = data.get("page_action", PAGE_ACTION)

    # Langkah 1: Muat halaman
    driver.get(url)
    driver.sleep(2)

    # Langkah 2: Selesaikan CAPTCHA via API CapSolver
    solution = solve_recaptcha_v3(
        website_url=url,
        website_key=site_key,
        page_action=page_action
    )

    token = solution.get("gRecaptchaResponse")

    # Langkah 3: Sisipkan token ke halaman
    driver.run_js(f"""
        const token = "{token}";

        // Atur field tersembunyi jika ada
        const responseField = document.querySelector('[name="g-recaptcha-response"]');
        if (responseField) {{
            responseField.value = token;
        }}

        // Buat field tersembunyi jika formulir ada tetapi field tidak
        const forms = document.querySelectorAll('form');
        forms.forEach(form => {{
            let field = form.querySelector('[name="g-recaptcha-response"]');
            if (!field) {{
                field = document.createElement('input');
                field.type = 'hidden';
                field.name = 'g-recaptcha-response';
                form.appendChild(field);
            }}
            field.value = token;
        }});
    """)

    # Langkah 4: Kirim atau verifikasi
    buttons = driver.select_all("button")
    for button in buttons:
        if "verify" in button.text.lower() or "submit" in button.text.lower():
            button.click()
            driver.sleep(2)
            break

    return {"success": True, "token_length": len(token)}

# Jalankan demo
result = solve_recaptcha_v3_with_api(data={
    "url": DEMO_URL,
    "site_key": DEMO_SITEKEY,
    "page_action": PAGE_ACTION
})

Menyelesaikan Cloudflare Turnstile dengan API CapSolver

Cloudflare Turnstile adalah alternatif CAPTCHA yang fokus pada privasi dan dirancang untuk lebih tidak mengganggu daripada CAPTCHA tradisional.

Perbedaan utama dari reCAPTCHA:

  • Tipe tugas adalah AntiTurnstileTaskProxyLess
  • Field respons adalah token (bukan gRecaptchaResponse)
  • Kunci situs biasanya dimulai dengan 0x4

Menemukan Kunci Situs

Cari di HTML halaman:

html Copy
<div class="cf-turnstile" data-sitekey="0x4AAAAAAABS7vwvV6VFfMcD"></div>

Fungsi Bantuan

python Copy
def solve_turnstile(
    website_url: str,
    website_key: str,
    action: str = None,
    cdata: str = None,
    timeout: int = 120
) -> dict:
    """
Selesaikan Cloudflare Turnstile menggunakan API CapSolver.

    Args:
        url_website: URL halaman dengan Turnstile
        kunci_website: Kunci situs Turnstile (dimulai dengan 0x4)
        aksi: Aksi opsional dari atribut data-action
        cdata: Cdata opsional dari atribut data-cdata
        timeout: Waktu maksimum untuk menunggu solusi (detik)

    Returns:
        dict dengan bidang 'token'
    """

    if not Config.validate():
        raise Exception("Konfigurasi tidak valid - periksa API key Anda")

    # Bangun payload tugas
    tugas = {
        "type": "AntiTurnstileTaskProxyLess",
        "websiteURL": url_website,
        "websiteKey": kunci_website,
    }

    # Tambahkan metadata opsional
    metadata = {}
    if aksi:
        metadata["aksi"] = aksi
    if cdata:
        metadata["cdata"] = cdata

    if metadata:
        tugas["metadata"] = metadata

    payload = {
        "clientKey": Config.CAPSOLVER_API_KEY,
        "tugas": tugas
    }

    # Buat tugas
    response = requests.post(Config.CREATE_TASK_ENDPOINT, json=payload)
    result = response.json()

    if result.get("errorId") and result.get("errorId") != 0:
        raise Exception(f"Gagal membuat tugas: {result.get('errorDescription')}")

    id_tugas = result.get("taskId")

    # Poll untuk hasil
    start_time = time.time()
    while time.time() - start_time < timeout:
        time.sleep(2)

        result_payload = {
            "clientKey": Config.CAPSOLVER_API_KEY,
            "taskId": id_tugas
        }

        response = requests.post(Config.GET_RESULT_ENDPOINT, json=result_payload)
        result = response.json()

        if result.get("status") == "ready":
            return result.get("solution", {})

        elif result.get("status") == "failed":
            raise Exception(f"Tugas gagal: {result.get('errorDescription')}")

    raise Exception(f"Waktu habis setelah {timeout} detik")

Contoh Lengkap Turnstile

python Copy
from botasaurus.browser import browser, Driver
from shared.config import Config
from utils.capsolver_helper import solve_turnstile

DEMO_URL = "https://peet.ws/turnstile-test/non-interactive.html"
DEMO_SITEKEY = "0x4AAAAAAABS7vwvV6VFfMcD"

@browser(headless=False)
def solve_turnstile_with_api(driver: Driver, data: dict):
    """Selesaikan Cloudflare Turnstile menggunakan API CapSolver dan sisipkan token."""

    url = data.get("url", DEMO_URL)
    kunci_site = data.get("site_key", DEMO_SITEKEY)

    # Langkah 1: Muat halaman
    driver.get(url)
    driver.sleep(3)

    # Langkah 2: Ekstrak kunci situs dari halaman (opsional)
    extracted_params = driver.run_js("""
        const turnstileDiv = document.querySelector('.cf-turnstile, [data-sitekey]');
        if (turnstileDiv) {
            const key = turnstileDiv.getAttribute('data-sitekey');
            if (key && key.startsWith('0x')) {
                return {
                    sitekey: key,
                    action: turnstileDiv.getAttribute('data-action')
                };
            }
        }
        return null;
    """)

    if extracted_params and extracted_params.get("sitekey"):
        kunci_site = extracted_params["sitekey"]

    # Langkah 3: Selesaikan Turnstile via API CapSolver
    solution = solve_turnstile(
        url_website=url,
        kunci_website=kunci_site,
        aksi=extracted_params.get("action") if extracted_params else None
    )

    token = solution.get("token")

    # Langkah 4: Sisipkan token ke halaman
    driver.run_js(f"""
        const token = "{token}";

        // Cari dan isi bidang cf-turnstile-response
        const responseFields = [
            document.querySelector('[name="cf-turnstile-response"]'),
            document.querySelector('[name="cf_turnstile_response"]'),
            document.querySelector('input[name*="turnstile"]')
        ];

        for (const field of responseFields) {{
            if (field) {{
                field.value = token;
                break;
            }}
        }}

        // Buat bidang tersembunyi jika form ada tapi field tidak
        const forms = document.querySelectorAll('form');
        forms.forEach(form => {{
            let field = form.querySelector('[name="cf-turnstile-response"]');
            if (!field) {{
                field = document.createElement('input');
                field.type = 'hidden';
                field.name = 'cf-turnstile-response';
                form.appendChild(field);
            }}
            field.value = token;
        }});
    """)

    # Langkah 5: Kirim formulir
    submit_btn = driver.select('button[type="submit"], input[type="submit"]')
    if submit_btn:
        submit_btn.click()
        driver.sleep(2)

    return {"success": True, "panjang_token": len(token)}

# Jalankan demo
result = solve_turnstile_with_api(data={"url": DEMO_URL, "site_key": DEMO_SITEKEY})

Referensi Jenis Tugas

Jenis Captcha Jenis Tugas Bidang Respons Parameter yang Diperlukan
reCAPTCHA v2 ReCaptchaV2TaskProxyLess gRecaptchaResponse websiteURL, websiteKey
reCAPTCHA v2 Enterprise ReCaptchaV2EnterpriseTaskProxyLess gRecaptchaResponse websiteURL, websiteKey
reCAPTCHA v3 ReCaptchaV3TaskProxyLess gRecaptchaResponse websiteURL, websiteKey, pageAction
reCAPTCHA v3 Enterprise ReCaptchaV3EnterpriseTaskProxyLess gRecaptchaResponse websiteURL, websiteKey, pageAction
Cloudflare Turnstile AntiTurnstileTaskProxyLess token websiteURL, websiteKey

Untuk situs yang memblokir IP datacenter, gunakan varian proxy (misalnya ReCaptchaV2Task) dan berikan proxy residensial Anda sendiri.


Praktik Terbaik

1. Kedaluwarsa Token

Token captcha kedaluwarsa dengan cepat (biasanya dalam 2 menit). Selalu gunakan token segera setelah menerimanya:

python Copy
# Dapatkan token
solution = solve_recaptcha_v2(url, kunci_site)
token = solution.get("gRecaptchaResponse")

# Gunakan segera - jangan simpan untuk nanti
driver.run_js(f'document.querySelector("[name=g-recaptcha-response]").value = "{token}"')
driver.select('button[type="submit"]').click()

2. Penanganan Kesalahan

Selalu implementasikan penanganan kesalahan yang tepat untuk kegagalan API:

python Copy
try:
    solution = solve_recaptcha_v2(url, kunci_site)
except Exception as e:
    print(f"Pemecahan captcha gagal: {e}")
    # Implementasikan logika ulang atau fallback

3. Pembatasan Kecepatan

Tambahkan jeda antara permintaan untuk menghindari pengaktifan pengukuran anti-bot:

python Copy
driver.sleep(2)  # Tunggu setelah muat halaman
# ... selesaikan captcha ...
driver.sleep(1)  # Tunggu sebelum pengiriman formulir

4. Validasi Konfigurasi

Selalu validasi API key Anda sebelum membuat permintaan:

python Copy
if not Config.validate():
    raise Exception("Silakan konfigurasi API key Anda di file .env")

Kesimpulan

Menggabungkan Botasaurus dengan CapSolver memberikan solusi yang andal untuk menangani captcha dalam proyek scraping web. Pendekatan berbasis API memberi Anda kontrol penuh atas proses penyelesaian dan bekerja secara andal di berbagai jenis captcha.

Tingkatkan anggaran otomasi Anda secara instan!
Gunakan kode bonus CAPN saat menambahkan dana ke akun CapSolver Anda untuk mendapatkan tambahan 5% bonus pada setiap pengisian ulang — tanpa batas.
Tukarkan sekarang di Dashboard CapSolver Anda

Poin Utama

  • Botasaurus menyediakan otomatisasi browser dengan fitur anti-pendeteksian yang terintegrasi
  • API CapSolver menawarkan cara andal untuk menyelesaikan berbagai jenis captcha secara programatis
  • reCAPTCHA v2 memerlukan parameter websiteURL dan websiteKey
  • reCAPTCHA v3 memerlukan parameter tambahan pageAction
  • Cloudflare Turnstile mengembalikan bidang token alih-alih gRecaptchaResponse
  • Token kedaluwarsa dengan cepat (~2 menit), jadi gunakan segera setelah menerima

Pertanyaan yang Sering Diajukan (FAQ)

Bagaimana cara menyelesaikan reCAPTCHA dan Cloudflare Turnstile secara otomatis dalam web scraping Python?

Metode yang paling efektif adalah menggunakan framework otomatisasi browser yang kuat seperti Botasaurus, yang menangani anti-detect, dan mengintegrasikannya dengan API penyelesaian captcha khusus seperti CapSolver untuk mendapatkan token solusi secara programatis.

Apa keuntungan menggunakan Botasaurus untuk web scraping anti-detect?

Botasaurus menyederhanakan otomatisasi browser dengan API berbasis dekorator yang bersih sambil menyediakan fitur stealth esensial untuk meminimalkan risiko terdeteksi dan diblokir oleh situs target.

Apa perbedaan antara penyelesaian reCAPTCHA v2 dan v3 dengan API CapSolver?

Meskipun keduanya memerlukan parameter websiteURL dan websiteKey, penyelesaian reCAPTCHA v3 (versi tidak terlihat, berbasis skor) secara tambahan memerlukan parameter pageAction yang harus dimasukkan dalam payload tugas yang dikirim ke API CapSolver.

Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.

Lebih lanjut

Larangan IP pada 2026: Bagaimana Cara Kerjanya dan Cara Praktis untuk Menghindarinya
Larangan IP pada 2026: Bagaimana Cara Kerjanya dan Cara Praktis untuk Mengelaknya

Pelajari cara menghindari pembatasan IP pada 2026 dengan panduan lengkap kami. Temukan teknik pemblokiran IP modern dan solusi praktis seperti proxy residensial dan solver CAPTCHA.

web scraping
Logo of CapSolver

Emma Foster

26-Jan-2026

Maxun dengan Integrasi CapSolver
Cara Menyelesaikan Captcha di Maxun dengan Integrasi CapSolver

Panduan praktis untuk mengintegrasikan CapSolver dengan Maxun dalam penggunaan nyata pengambilan data web. Pelajari cara mengelola reCAPTCHA, Cloudflare Turnstile, dan situs yang dilindungi CAPTCHA dengan menggunakan alur kerja pre-auth dan robot.

web scraping
Logo of CapSolver

Adélia Cruz

21-Jan-2026

Browser4 dengan Integrasi CapSolver
Cara menyelesaikan Captcha di Browser4 dengan integrasi CapSolver

Otomasi Browser4 dengan throughput tinggi dikombinasikan dengan CapSolver untuk menangani tantangan CAPTCHA dalam ekstraksi data web skala besar.

web scraping
Logo of CapSolver

Anh Tuan

21-Jan-2026

Apa Itu Bot Scraping dan Cara Membuatnya
Apa itu Bot Scraping dan Bagaimana Cara Membuatnya

Pelajari apa itu bot scraping dan cara membuatnya untuk ekstraksi data otomatis. Jelajahi alat terbaik, teknik navigasi keamanan, dan praktik scraping yang etis.

web scraping
Logo of CapSolver

Emma Foster

16-Jan-2026

Scrapy vs. Selenium
Scrapy vs. Selenium: Mana yang Terbaik untuk Proyek Scraping Web Anda?

Temukan kekuatan dan perbedaan antara Scrapy dan Selenium untuk pengambilan data web. Pelajari alat mana yang paling sesuai dengan proyek Anda dan cara mengatasi tantangan seperti CAPTCHA.

web scraping
Logo of CapSolver

Emma Foster

14-Jan-2026

Cara Menggunakan Selenium Driverless untuk Web Scraping
Cara Menggunakan Selenium Driverless untuk Pengambilan Data Web yang Efisien

Pelajari cara menggunakan Selenium Driverless untuk pengambilan data web yang efisien. Panduan ini memberikan instruksi langkah demi langkah tentang menyiapkan lingkungan Anda, menulis skrip Selenium Driverless pertama Anda, dan menangani konten dinamis. Mempermudah tugas pengambilan data web Anda dengan menghindari kompleksitas manajemen WebDriver tradisional, sehingga membuat proses ekstraksi data Anda lebih sederhana, lebih cepat, dan lebih portabel.

web scraping
Logo of CapSolver

Aloísio Vítor

14-Jan-2026