CAPSOLVER
Blog
Cara Menangani Beberapa Tantangan reCAPTCHA Secara Bersamaan

Cara Menangani Beberapa Tantangan reCAPTCHA Secara Bersamaan

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

10-Sep-2024

Saat melakukan web scraping, salah satu kendala umum yang mungkin Anda temui adalah tantangan CAPTCHA. Situs web sering menggunakan CAPTCHA untuk mencegah bot mengakses konten mereka. CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) adalah teknik yang banyak digunakan untuk memastikan bahwa pengguna adalah manusia, bukan bot otomatis.

Dalam panduan ini, kita akan membahas berbagai jenis tantangan reCAPTCHA, cara mengidentifikasinya menggunakan alat, dan akhirnya, cara menyelesaikan beberapa tantangan reCAPTCHA secara bersamaan menggunakan Python dan threading.

Apa itu Web Scraping?

WebScraping adalah proses mengekstrak data dari situs web. Sering digunakan untuk tugas-tugas seperti mengumpulkan harga dari situs web e-commerce, mengumpulkan artikel berita, atau mengagregasi informasi dari berbagai sumber web. Scraping melibatkan pembuatan permintaan HTTP ke situs web dan parsing data dari respons. Namun, banyak situs web menggunakan CAPTCHA untuk mencegah akses otomatis.

Jenis Tantangan reCAPTCHA

reCAPTCHA v2

reCAPTCHA V2, jenis CAPTCHA ini adalah yang paling banyak digunakan dan muncul sebagai tantangan "kotak centang" yang diberi label "Saya bukan robot." Ini mungkin meminta pengguna untuk memilih gambar tertentu untuk memverifikasi bahwa mereka adalah manusia.

reCAPTCHA v3

reCAPTCHA V3 bekerja di latar belakang, menilai interaksi pengguna untuk mendeteksi perilaku seperti bot. Sistem ini dirancang untuk menghindari gangguan pengalaman pengguna dengan memberikan skor ke situs web, yang dapat digunakan untuk memblokir bot atau mengharuskan langkah verifikasi tambahan.

reCAPTCHA Tak Terlihat

reCAPTCHA Tak Terlihat adalah versi reCAPTCHA v2 yang lebih ramah pengguna, di mana tantangan hanya muncul jika sistem menduga perilaku seperti bot.

Mengidentifikasi Jenis CAPTCHA

Instalasi

Untuk mengidentifikasi jenis CAPTCHA yang digunakan di situs web, Anda dapat menggunakan alat berikut:

Pengaturan Capsolver

Capsolver adalah layanan yang memungkinkan Anda menyelesaikan tantangan CAPTCHA secara terprogram. Untuk mendeteksi parameter CAPTCHA:

  1. Buka Capsolver.
  2. Tekan tombol "F12" pada keyboard Anda untuk membuka alat pengembang di browser Anda.
  3. Navigasikan ke tab yang diberi label Capsolver Captcha Detector.
Capsolver Captcha Detector

Deteksi CAPTCHA

Setelah Anda mengatur Capsolver, ikuti langkah-langkah berikut untuk mendeteksi parameter CAPTCHA:

  1. Tanpa menutup panel Capsolver, kunjungi situs web tempat Anda ingin memicu CAPTCHA.
  2. Picu CAPTCHA secara manual.
  3. Pastikan jangan menutup panel Capsolver sebelum memicu CAPTCHA.

Deteksi reCAPTCHA

Penghitung CAPTCHA Capsolver dapat mengembalikan informasi terperinci tentang reCAPTCHA:

Deteksi reCAPTCHA

Parameter Utama untuk reCAPTCHA:

  • Website URL
  • Site Key
  • pageAction
  • isInvisible
  • isEnterprise
  • isSRequired
  • isReCaptchaV3
  • API Domain

Setelah parameter ini terdeteksi, Capsolver akan mengembalikan objek JSON dengan semua detail yang diperlukan untuk mengirimkan CAPTCHA ke layanan mereka.

Parameter Pemecah reCaptcha

Menyelesaikan Beberapa Tantangan reCAPTCHA Secara Bersamaan

Saat mengerjakan proyek web scraping, menyelesaikan CAPTCHA bisa memakan waktu, terutama saat Anda perlu menyelesaikan beberapa CAPTCHA secara bersamaan. Berikut cara Anda mengotomatiskan pemecahan beberapa tantangan reCAPTCHA secara bersamaan menggunakan Python.

Contoh: Menyelesaikan Beberapa Tantangan reCAPTCHA v2

python Copy
import capsolver
import threading

capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"

def solve_recaptcha_v2():
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": PAGE_KEY,
    })
    return solution

def solve_recaptcha_task(result_list, index):
    result = solve_recaptcha_v2()
    result_list[index] = result

def solve_multiple_recaptchas(num_tasks):
    threads = []
    results = [None] * num_tasks

    for i in range(num_tasks):
        thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
        threads.append(thread)
        thread.start()

    for thread in threads:
        thread.join()

    return results

def main():
    num_tasks = 10  # Jumlah tugas bersamaan
    print(f"Menyelesaikan {num_tasks} tugas reCaptcha v2 secara bersamaan")
    solutions = solve_multiple_recaptchas(num_tasks)
    for i, solution in enumerate(solutions):
        print(f"Solusi {i+1}: {solution}")

if __name__ == "__main__":
    main()

Menyelesaikan Beberapa Tantangan reCAPTCHA v3

Proses untuk menyelesaikan reCAPTCHA v3 sangat mirip dengan v2, tetapi Anda perlu menyesuaikan jenis CAPTCHA yang sesuai.

python Copy
```python
import capsolver
import threading

capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"

def solve_recaptcha_v3():
    solution = capsolver.solve({
        "type": "ReCaptchaV3TaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": PAGE_KEY,
    })
    return solution

def solve_recaptcha_task(result_list, index):
    result = solve_recaptcha_v3()
    result_list[index] = result

def solve_multiple_recaptchas(num_tasks):
    threads = []
    results = [None] * num_tasks

    for i in range(num_tasks):
        thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
        threads.append(thread)
        thread.start()

    for thread in threads:
        thread.join()

    return results

def main():
    num_tasks = 10  # Jumlah tugas bersamaan
    print(f"Menyelesaikan {num_tasks} tugas reCaptcha v3 secara bersamaan")
    solutions = solve_multiple_recaptchas(num_tasks)
    for i, solution in enumerate(solutions):
        print(f"Solusi {i+1}: {solution}")

if __name__ == "__main__":
    main()

Menyelesaikan Beberapa Tantangan reCAPTCHA v3

Proses untuk menyelesaikan reCAPTCHA v3 sangat mirip dengan v2, tetapi Anda perlu menyesuaikan jenis CAPTCHA yang sesuai.

python Copy
```python
import capsolver
import threading

capsolver.api_key = "Your Capsolver API Key"
PAGE_URL = "PAGE_URL"
PAGE_KEY = "PAGE_SITE_KEY"

def solve_recaptcha_v3():
    solution = capsolver.solve({
        "type": "ReCaptchaV3TaskProxyless",
        "websiteURL": PAGE_URL,
        "websiteKey": PAGE_KEY,
    })
    return solution

def solve_recaptcha_task(result_list, index):
    result = solve_recaptcha_v3()
    result_list[index] = result

def solve_multiple_recaptchas(num_tasks):
    threads = []
    results = [None] * num_tasks

    for i in range(num_tasks):
        thread = threading.Thread(target=solve_recaptcha_task, args=(results, i))
        threads.append(thread)
        thread.start()

    for thread in threads:
        thread.join()

    return results

def main():
    num_tasks = 10  # Jumlah tugas bersamaan
    print(f"Menyelesaikan {num_tasks} tugas reCaptcha v3 secara bersamaan")
    solutions = solve_multiple_recaptchas(num_tasks)
    for i, solution in enumerate(solutions):
        print(f"Solusi {i+1}: {solution}")

if __name__ == "__main__":
    main()

Menyelesaikan Tantangan reCAPTCHA v3 dan reCAPTCHA v2

python Copy
import capsolver

# Pertimbangkan untuk menggunakan variabel lingkungan untuk informasi sensitif
capsolver.api_key = "Your Capsolver API Key"
PAGE_URL_V2 = "PAGE_URL"
PAGE_KEY_V2 = "PAGE_SITE_KEY"
PAGE_URL_V3 = "PAGE_URL"
PAGE_KEY_V3 = "PAGE_SITE_KEY"

def solve_recaptcha_v2(url, key):
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": url,
        "websiteKey": key,
    })
    return solution

def solve_recaptcha_v3(url, key):
    solution = capsolver.solve({
        "type": "ReCaptchaV3TaskProxyless",
        "websiteURL": url,
        "websiteKey": key,
        "minScore": 0.5  # Sesuaikan skor minimum jika perlu
    })
    return solution

def main():
    print("Menyelesaikan reCaptcha v2")
    solution_v2 = solve_recaptcha_v2(PAGE_URL_V2, PAGE_KEY_V2)
    print("Solusi (v2): ", solution_v2)

    print("Menyelesaikan reCaptcha v3")
    solution_v3 = solve_recaptcha_v3(PAGE_URL_V3, PAGE_KEY_V3)
    print("Solusi (v3): ", solution_v3)

if __name__ == "__main__":
    main()

Kode Bonus

Klaim Kode Bonus Anda untuk solusi captcha teratas; CapSolver: scrape. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap pengisian ulang, Tidak Terbatas

Untuk informasi lebih lanjut, baca blog ini

Kesimpulan

Menangani beberapa tantangan CAPTCHA adalah keterampilan penting bagi siapa pun yang bekerja di web scraping, terutama karena situs web meningkatkan langkah keamanan mereka. Dengan alat seperti Capsolver dan kekuatan threading Python, Anda dapat secara efisien mengotomatiskan pemecahan tantangan CAPTCHA, memastikan proses scraping yang lebih lancar untuk proyek Anda.

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