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

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
pip install botasaurus
Penggunaan dasar:
python
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:
- Buat akun di Dashboard CapSolver
- Tambahkan dana ke akun Anda
- Salin kunci API Anda (dimulai dengan
CAP-)
Persiapan Proyek
Instal Dependensi
bash
pip install botasaurus capsolver requests python-dotenv
Konfigurasi Lingkungan
Buat file .env di akar proyek Anda:
env
CAPSOLVER_API_KEY=CAP-YOUR_API_KEY_HERE
Modul Konfigurasi
Buat pemuat konfigurasi yang dapat dibagikan:
python
# 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
- Tekan F12 untuk membuka alat pengembang
- Navigasi ke tab Capsolver Captcha Detector
- Pertahankan panel detektor sementara mengunjungi situs target Anda
- 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
<div class="g-recaptcha" data-sitekey="6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"></div>
Atau dalam JavaScript:
javascript
grecaptcha.render('container', {'sitekey': '6Le-xxxxx...'});
Fungsi Bantuan
python
# 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
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
grecaptcha.execute('siteKey', {action: 'login'})
// 'login' adalah pageAction Anda
Fungsi Bantuan
python
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
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(bukangRecaptchaResponse) - Kunci situs biasanya dimulai dengan
0x4
Menemukan Kunci Situs
Cari di HTML halaman:
html
<div class="cf-turnstile" data-sitekey="0x4AAAAAAABS7vwvV6VFfMcD"></div>
Fungsi Bantuan
python
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
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
# 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
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
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
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
websiteURLdanwebsiteKey - reCAPTCHA v3 memerlukan parameter tambahan
pageAction - Cloudflare Turnstile mengembalikan bidang
tokenalih-alihgRecaptchaResponse - 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

Cara Menyelesaikan CAPTCHAs dengan Python Menggunakan Botasaurus dan CapSolver (Panduan Lengkap)
Pelajari cara mengintegrasikan Botasaurus (kerangka kerja pengambilan data web Python) dengan API CapSolver untuk menyelesaikan reCAPTCHA v2/v3 dan Turnstile secara otomatis.

Emma Foster
15-Dec-2025

Apa itu Kesalahan 402, 403, 404, dan 429 dalam Web Scraping? Panduan Lengkap
Menguasai penanganan kesalahan web scraping dengan memahami apa yang merupakan kesalahan 402, 403, 404, dan 429. Belajar cara memperbaiki kesalahan 403 Dilarang, menerapkan solusi pembatasan laju untuk kesalahan 429, dan menangani kode status 402 Pembayaran Diperlukan yang baru muncul.

Aloísio Vítor
12-Dec-2025

Web Scraping Dengan Python: 2026 Taktik Terbaik
Pelajari taktik pengambilan data web Python teratas untuk 2026, termasuk menangani konten JavaScript dinamis, mengelola alur otentikasi, menyelesaikan CAPTCHA, mengidentifikasi perangkap tersembunyi, meniru perilaku manusia, mengoptimalkan pola permintaan, dan mengurangi penggunaan sumber daya dalam proyek pengambilan data web skala besar.

Ethan Collins
12-Dec-2025

Pengambilan Data Web Tanpa Terblokir dan Cara Mengatasi Captcha Web Scraping
Scrapping web telah menjadi teknik yang populer untuk mengekstrak data dari situs web. Namun, banyak situs web menggunakan langkah anti-scrapping, termasuk...

Ethan Collins
11-Dec-2025

Penjelajahan Web vs. Pengambilan Data Web: Perbedaan Essensial
Ketahui perbedaan penting antara web crawling dan web scraping. Pelajari tujuan mereka yang berbeda, 10 penggunaan kasus yang kuat, dan bagaimana CapSolver membantu melewati blok AWS WAF dan CAPTCHA untuk pengumpulan data yang mulus.

Nikolai Smirnov
09-Dec-2025

Cara Menyelesaikan Captchas Ketika Web Scraping dengan Scrapling dan CapSolver
Scrapling + CapSolver memungkinkan pengambilan data otomatis dengan ReCaptcha v2/v3 dan Cloudflare Turnstile bypass.

Adélia Cruz
05-Dec-2025


