CAPSOLVER
Blog
Web Scraping dengan Botright dan Python di 2024

Web Scraping dengan Botright dan Python di 2025

Logo of CapSolver

Ethan Collins

Pattern Recognition Specialist

14-Nov-2024

Anda mungkin bertanya-tanya bagaimana cara menyelesaikan captcha menggunakan BotRight, bagaimana cara menggunakannya untuk membuat scraper sederhana atau bahkan lebih baik, scraper canggih!
Nah, ini tutorialnya!

Pendahuluan ke Botright

Pendahuluan ke BotRight

BotRight adalah pustaka Python tingkat lanjut untuk otomatisasi web, yang dirancang khusus untuk menavigasi kompleksitas yang meningkat dari sistem deteksi bot di seluruh situs web. Tidak seperti alat otomatisasi dasar, BotRight melampaui interaksi sederhana dengan menyediakan kontrol yang bernuansa yang membuat penjelajahan otomatis tampak sangat seperti manusia. Penekanan pada simulasi perilaku manusia ini sangat penting untuk mengakses situs web yang biasanya akan memblokir atau membatasi bot.

Dibangun di atas Selenium WebDriver, BotRight menawarkan API tingkat tinggi yang mengabstraksi interaksi browser yang kompleks menjadi perintah sederhana, memungkinkan pengguna pemula dan berpengalaman untuk mengembangkan scraper canggih dan skrip otomatisasi tanpa perlu mengelola perintah browser tingkat rendah. Ini menjadikannya pilihan yang sangat baik untuk proyek mulai dari pengumpulan data sederhana hingga tugas web multi-langkah yang kompleks yang membutuhkan ketahanan terhadap algoritma deteksi bot.

Mengapa Memilih BotRight?

BotRight menyediakan beberapa fitur yang membuatnya menonjol di lanskap otomatisasi:

  1. Interaksi Seperti Manusia: Desain BotRight berpusat pada simulasi tindakan pengguna nyata, seperti gerakan mouse yang halus, pola pengetikan alami, dan penundaan waktu. Perilaku ini mengurangi risiko deteksi dan memberikan akses yang lebih andal ke konten yang biasanya dibatasi untuk pengguna asli.

  2. Ketahanan Status Browser: Dengan mendukung profil browser, BotRight memungkinkan Anda mempertahankan status sesi di seluruh beberapa run otomatisasi. Fitur ini sangat berguna untuk tugas yang memerlukan ketahanan masuk atau di mana cookie dan status cache tertentu harus dipertahankan.

  3. Kemudahan Penggunaan: Meskipun kemampuannya yang canggih, BotRight sangat ramah pengguna. API-nya dirancang untuk menyederhanakan tugas otomatisasi yang kompleks, menghilangkan banyak overhead teknis yang biasanya datang dengan pengaturan Selenium. Pemula dapat memulai dengan cepat, sementara para ahli dapat memanfaatkan fleksibilitas BotRight untuk membangun solusi yang sangat disesuaikan.

  4. Skalabilitas untuk Alur Kerja yang Kompleks: BotRight beradaptasi dengan baik untuk tugas yang lebih canggih, termasuk menangani situs yang didukung AJAX, mengelola ekstraksi data yang dipaginasi, menyelesaikan CAPTCHA, dan banyak lagi. Dipasangkan dengan pemecah CAPTCHA seperti CapSolver, BotRight dapat menangani alur kerja yang memerlukan pemblokiran CAPTCHA, memungkinkan Anda mengotomatiskan bahkan situs web yang dijaga ketat.

  5. Ekstensi dan Plugin Terintegrasi: BotRight mendukung inklusi berbagai ekstensi dan plugin untuk meningkatkan kemampuan otomatisasi. Misalnya, menggunakan alat seperti CapSolver di dalam BotRight membantu mengelola tantangan CAPTCHA, membuka lebih banyak situs web untuk scraping atau otomatisasi.


Menyiapkan Botright

Sebelum kita mulai, pastikan Anda telah menginstal Python 3.7 atau lebih tinggi di sistem Anda. Ikuti langkah-langkah ini untuk menyiapkan Botright:

  1. Instal Botright:

    bash Copy
    pip install botright
  2. Instal Manajer WebDriver:

    Botright bergantung pada paket webdriver_manager untuk mengelola driver browser.

    bash Copy
    pip install webdriver-manager
  3. Verifikasi Instalasi:

    Buat file Python baru dan impor Botright untuk memastikan bahwa itu terinstal dengan benar.

    python Copy
    from botright import Botright

    Jika tidak ada kesalahan yang terjadi, Botright terinstal dengan benar.


Membuat Scraper Dasar

Mari kita buat skrip sederhana untuk mengikis data dari quotes.toscrape.com menggunakan Botright.

Mengikis Kutipan

Skrip: scrape_quotes.py

python Copy
from botright import Botright

def scrape_quotes():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/")
        quotes = bot.find_elements_by_css_selector("div.quote")
        for quote in quotes:
            text = quote.find_element_by_css_selector("span.text").text
            author = quote.find_element_by_css_selector("small.author").text
            print(f"\"{text}\" - {author}")

if __name__ == "__main__":
    scrape_quotes()

Jalankan skrip:

bash Copy
python scrape_quotes.py

Output:

Copy
“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.” - Albert Einstein
...

Penjelasan:

  • Kami menggunakan Botright sebagai manajer konteks untuk memastikan pengaturan dan pembongkaran yang tepat.
  • Kami menavigasi ke situs web menggunakan bot.get().
  • Kami menemukan semua elemen kutipan dan mengekstrak teks dan penulisnya.

Menangani Paginasi

Skrip: scrape_quotes_pagination.py

python Copy
from botright import Botright

def scrape_all_quotes():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/")
        while True:
            quotes = bot.find_elements_by_css_selector("div.quote")
            for quote in quotes:
                text = quote.find_element_by_css_selector("span.text").text
                author = quote.find_element_by_css_selector("small.author").text
                print(f"\"{text}\" - {author}")

            # Periksa apakah ada halaman berikutnya
            next_button = bot.find_elements_by_css_selector('li.next > a')
            if next_button:
                next_button[0].click()
            else:
                break

if __name__ == "__main__":
    scrape_all_quotes()

Penjelasan:

  • Kami mengulang melalui halaman dengan memeriksa apakah tombol "Berikutnya" tersedia.
  • Kami menggunakan find_elements_by_css_selector untuk menemukan elemen.
  • Kami mengklik tombol "Berikutnya" untuk menavigasi ke halaman berikutnya.

Mengikis Konten Dinamis

Skrip: scrape_dynamic_content.py

python Copy
from botright import Botright
import time

def scrape_tags():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/")
        # Klik pada tautan 'Top Ten tags' untuk memuat tag secara dinamis
        bot.click('a[href="/tag/"]')
        # Tunggu konten dinamis untuk dimuat
        time.sleep(2)
        tags = bot.find_elements_by_css_selector("span.tag-item > a")
        for tag in tags:
            tag_name = tag.text
            print(f"Tag: {tag_name}")

if __name__ == "__main__":
    scrape_tags()

Penjelasan:

  • Kami menavigasi ke halaman tag dengan mengklik tautannya.
  • Kami menunggu konten dinamis untuk dimuat menggunakan time.sleep().
  • Kami mengekstrak dan mencetak tagnya.

Mengirimkan Formulir dan Masuk

Skrip: scrape_with_login.py

python Copy
from botright import Botright

def login_and_scrape():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/login")
        # Isi formulir masuk
        bot.type('input#username', 'testuser')
        bot.type('input#password', 'testpass')
        bot.click("input[type='submit']")

        # Verifikasi masuk dengan memeriksa tautan keluar
        if bot.find_elements_by_css_selector('a[href="/logout"]'):
            print("Logged in successfully!")

            # Sekarang kikis kutipannya
            bot.get("https://quotes.toscrape.com/")
            quotes = bot.find_elements_by_css_selector("div.quote")
            for quote in quotes:
                text = quote.find_element_by_css_selector("span.text").text
                author = quote.find_element_by_css_selector("small.author").text
                print(f"\"{text}\" - {author}")
        else:
            print("Login failed.")

if __name__ == "__main__":
    login_and_scrape()

Penjelasan:

  • Kami menavigasi ke halaman masuk dan mengisi kredensial.
  • Kami memverifikasi masuk dengan memeriksa keberadaan tautan keluar.
  • Kemudian kami melanjutkan untuk mengikis konten yang tersedia untuk pengguna yang masuk.

Catatan: Karena quotes.toscrape.com memungkinkan nama pengguna dan kata sandi apa pun untuk demonstrasi, kita dapat menggunakan kredensial dummy.


Mengintegrasikan CapSolver ke dalam Botright

Meskipun quotes.toscrape.com tidak memiliki CAPTCHA, banyak situs web dunia nyata memiliki. Untuk mempersiapkan kasus seperti itu, kami akan menunjukkan bagaimana mengintegrasikan CapSolver ke dalam skrip Botright kami menggunakan ekstensi browser CapSolver.

Mengunduh Ekstensi CapSolver

  1. Unduh Ekstensi:

    • Kunjungi halaman Rilis CapSolver GitHub.
    • Unduh versi terbaru, mis., capsolver-chrome-extension-v0.2.3.zip.
    • Ekstrak ke direktori di root proyek Anda, mis., ./capsolver_extension.

Mengonfigurasi Ekstensi CapSolver

  1. Temukan config.json:

    • Jalur: capsolver_extension/assets/config.json
  2. Edit config.json:

    json Copy
    {
      "apiKey": "YOUR_CAPSOLVER_API_KEY",
      "enabledForcaptcha": true,
      "captchaMode": "token",
      "enabledForRecaptchaV2": true,
      "reCaptchaV2Mode": "token",
      "solveInvisibleRecaptcha": true,
      "verbose": false
    }
    • Ganti "YOUR_CAPSOLVER_API_KEY" dengan kunci API CapSolver Anda yang sebenarnya.
    • Atur enabledForcaptcha dan/atau enabledForRecaptchaV2 ke true berdasarkan jenis CAPTCHA yang Anda harapkan.
    • Atur mode ke "token" untuk penyelesaian otomatis.

Memuat Ekstensi CapSolver di Botright

Untuk menggunakan ekstensi CapSolver di Botright, kita perlu mengonfigurasi browser untuk memuat ekstensi saat dimulai.

Catatan: Botright memungkinkan Anda untuk menyesuaikan opsi browser, termasuk menambahkan ekstensi.

Skrip yang Diubah:

python Copy
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os

def create_bot_with_capsolver():
    # Jalur ke folder ekstensi CapSolver
    extension_path = os.path.abspath('capsolver_extension')

    # Konfigurasi opsi Chrome
    options = Options()
    options.add_argument(f"--load-extension={extension_path}")
    options.add_argument("--disable-gpu")
    options.add_argument("--no-sandbox")

    # Inisialisasi Botright dengan opsi khusus
    bot = Botright(options=options)
    return bot

Penjelasan:

  • Impor Options:
    • Dari selenium.webdriver.chrome.options, untuk mengatur opsi Chrome.
  • Konfigurasi Opsi Chrome:
    • Gunakan options.add_argument() untuk menambahkan ekstensi CapSolver.
  • Inisialisasi Botright dengan Opsi:
    • Lewatkan options ke Botright saat membuat instance.

Contoh Skrip dengan Integrasi CapSolver

Kami akan menunjukkan integrasi dengan menavigasi ke situs dengan reCAPTCHA, seperti demo reCAPTCHA Google.

Skrip: scrape_with_capsolver_extension.py

python Copy
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os
import time

def solve_captcha_and_scrape():
    # Jalur ke folder ekstensi CapSolver
    extension_path = os.path.abspath('capsolver_extension')

    # Konfigurasi opsi Chrome
    options = Options()
    options.add_argument(f"--load-extension={extension_path}")
    options.add_argument("--disable-gpu")
    options.add_argument("--no-sandbox")

    # Inisialisasi Botright dengan opsi khusus
    with Botright(options=options) as bot:
        bot.get("https://www.google.com/recaptcha/api2/demo")

        # Tunggu CAPTCHA untuk diselesaikan oleh CapSolver
        print("Waiting for CAPTCHA to be solved...")
        # Sesuaikan waktu tidur berdasarkan waktu penyelesaian rata-rata
        time.sleep(15)

        # Verifikasi apakah CAPTCHA diselesaikan dengan memeriksa konten halaman
        if "Verification Success" in bot.page_source:
            print("CAPTCHA solved successfully!")
        else:
            print("CAPTCHA not solved yet or failed.")

if __name__ == "__main__":
    solve_captcha_and_scrape()

Penjelasan:

  • Atur Opsi Chrome:
    • Sertakan ekstensi CapSolver dalam sesi browser.
  • Inisialisasi Botright dengan Opsi:
    • Lewatkan options saat membuat instance Botright.
  • Navigasi ke Situs Target:
    • Gunakan bot.get() untuk menavigasi ke situs dengan reCAPTCHA.
  • Tunggu CAPTCHA untuk Diselesaikan:
    • Ekstensi CapSolver secara otomatis akan menyelesaikan CAPTCHA.
    • Gunakan time.sleep() untuk menunggu; sesuaikan waktu sesuai kebutuhan.
  • Verifikasi Solusi CAPTCHA:
    • Periksa konten halaman untuk mengonfirmasi apakah CAPTCHA telah diselesaikan.

Catatan Penting:

  • Jalur Ekstensi:
    • Pastikan extension_path dengan benar menunjukkan ke folder ekstensi CapSolver Anda.
  • Waktu Menunggu:
    • Waktu penyelesaian mungkin berbeda; sesuaikan time.sleep() sesuai kebutuhan.
  • Manajemen Driver:
    • Botright mengelola WebDriver secara internal; meneruskan options menyesuaikan driver.
  • Kepatuhan:
    • Pastikan bahwa Anda mematuhi persyaratan layanan situs web yang Anda kikis.

Menjalankan Skrip:

bash Copy
python scrape_with_capsolver_extension.py

Kode Bonus

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

Kesimpulan

Dengan mengintegrasikan CapSolver dengan Botright menggunakan ekstensi browser CapSolver, Anda dapat mengotomatiskan penyelesaian CAPTCHA dalam proyek scraping web Anda. Ini memastikan ekstraksi data yang tidak terputus, bahkan dari situs yang dilindungi oleh CAPTCHA.

Poin Penting:

  • Botright menyederhanakan otomatisasi web dengan interaksi seperti manusia.
  • Ekstensi browser CapSolver dapat diintegrasikan ke dalam skrip Botright.
  • Konfigurasi ekstensi dan opsi browser yang tepat sangat penting.

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

Apa Itu Pengenalan reCAPTCHA? Panduan untuk Pemula
Apa Itu Pengenalan reCAPTCHA? Panduan untuk Pemula

Kesulitan dengan grid gambar reCAPTCHA? Temukan bagaimana pengenalan berbasis AI Capsolver menyelesaikan tantangan 'Pilih semua' secara instan. Pelajari integrasi API, ekstensi browser, dan kiat profesional untuk mengotomatiskan pemecahan CAPTCHA dengan akurasi 95%+

Logo of CapSolver

Anh Tuan

23-Jan-2025

Apakah Web Scraping Legal? Panduan Lengkap untuk 2025
Apakah Web Scraping Legal? Panduan Komprehensif untuk 2025

Tantangan Hukum Web Scraping 2025: Regulasi Kunci, Kepatuhan, dan Studi Kasus

Logo of CapSolver

Ethan Collins

23-Jan-2025

5 Solver Captcha Terbaik untuk Pengenalan reCAPTCHA di 2025
5 Solver Captcha Terbaik untuk Pengenalan reCAPTCHA di 2025

Jelajahi 5 pemecah CAPTCHA terbaik tahun 2025, termasuk CapSolver berbasis AI untuk pengenalan reCAPTCHA cepat. Bandingkan kecepatan, harga, dan akurasi di sini

Logo of CapSolver

Rajinder Singh

23-Jan-2025

Cara Mengerjakan CAPTCHA Cloudflare Turnstile dengan Ekstensi
Cara Mengerjakan CAPTCHA Cloudflare Turnstile dengan Ekstensi

Pelajari cara melewati CAPTCHA Cloudflare Turnstile dengan ekstensi Capsolver. Panduan instalasi untuk Chrome, Firefox, dan alat otomatisasi seperti Puppeteer.

Logo of CapSolver

Sora Fujimoto

23-Jan-2025

Apa itu Kunci Situs reCAPTCHA dan Bagaimana Cara Menemukannya?
Apa itu Site Key reCAPTCHA dan Bagaimana Cara Menemukannya?

Pelajari cara menemukan Site Key reCAPTCHA secara manual atau dengan alat seperti Capsolver. Perbaiki masalah umum dan otomatisasi penyelesaian CAPTCHA untuk pengembang dan web scraping.

Logo of CapSolver

Rajinder Singh

23-Jan-2025

Cara Membypass Tantangan Cloudflare Saat Web Scraping di 2025
Cara Membypass Tantangan Cloudflare Saat Web Scraping di 2025

Pelajari cara melewati Cloudflare Challenge dan Turnstile di tahun 2025 untuk web scraping yang lancar. Temukan integrasi Capsolver, tips sidik jari TLS, dan perbaikan untuk kesalahan umum untuk menghindari CAPTCHA yang merepotkan. Hemat waktu dan skala ekstraksi data Anda.

Logo of CapSolver

Nikolai Smirnov

23-Jan-2025