
Ethan Collins
Pattern Recognition Specialist

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!
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.
BotRight menyediakan beberapa fitur yang membuatnya menonjol di lanskap otomatisasi:
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.
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.
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.
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.
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.
Sebelum kita mulai, pastikan Anda telah menginstal Python 3.7 atau lebih tinggi di sistem Anda. Ikuti langkah-langkah ini untuk menyiapkan Botright:
Instal Botright:
pip install botright
Instal Manajer WebDriver:
Botright bergantung pada paket webdriver_manager untuk mengelola driver browser.
pip install webdriver-manager
Verifikasi Instalasi:
Buat file Python baru dan impor Botright untuk memastikan bahwa itu terinstal dengan benar.
from botright import Botright
Jika tidak ada kesalahan yang terjadi, Botright terinstal dengan benar.
Mari kita buat skrip sederhana untuk mengikis data dari quotes.toscrape.com menggunakan Botright.
Skrip: scrape_quotes.py
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:
python scrape_quotes.py
Output:
“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.” - Albert Einstein
...
Penjelasan:
Botright sebagai manajer konteks untuk memastikan pengaturan dan pembongkaran yang tepat.bot.get().Skrip: scrape_quotes_pagination.py
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:
find_elements_by_css_selector untuk menemukan elemen.Skrip: scrape_dynamic_content.py
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:
time.sleep().Skrip: scrape_with_login.py
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:
Catatan: Karena quotes.toscrape.com memungkinkan nama pengguna dan kata sandi apa pun untuk demonstrasi, kita dapat menggunakan kredensial dummy.
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.
Unduh Ekstensi:
capsolver-chrome-extension-v0.2.3.zip../capsolver_extension.Temukan config.json:
capsolver_extension/assets/config.jsonEdit config.json:
{
"apiKey": "YOUR_CAPSOLVER_API_KEY",
"enabledForcaptcha": true,
"captchaMode": "token",
"enabledForRecaptchaV2": true,
"reCaptchaV2Mode": "token",
"solveInvisibleRecaptcha": true,
"verbose": false
}
"YOUR_CAPSOLVER_API_KEY" dengan kunci API CapSolver Anda yang sebenarnya.enabledForcaptcha dan/atau enabledForRecaptchaV2 ke true berdasarkan jenis CAPTCHA yang Anda harapkan."token" untuk penyelesaian otomatis.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:
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:
Options:
selenium.webdriver.chrome.options, untuk mengatur opsi Chrome.options.add_argument() untuk menambahkan ekstensi CapSolver.options ke Botright saat membuat instance.Kami akan menunjukkan integrasi dengan menavigasi ke situs dengan reCAPTCHA, seperti demo reCAPTCHA Google.
Skrip: scrape_with_capsolver_extension.py
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:
options saat membuat instance Botright.bot.get() untuk menavigasi ke situs dengan reCAPTCHA.time.sleep() untuk menunggu; sesuaikan waktu sesuai kebutuhan.Catatan Penting:
extension_path dengan benar menunjukkan ke folder ekstensi CapSolver Anda.time.sleep() sesuai kebutuhan.options menyesuaikan driver.Menjalankan Skrip:
python scrape_with_capsolver_extension.py
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.

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:
Pelajari apa yang memicu Kesalahan Cloudflare 1020 Akses Ditolak, bagaimana Firewall Aplikasi Web dan deteksi bot bekerja, dan bagaimana pengembang dapat mengurangi kesalahan positif dalam alur kerja otomatis yang sah.

Pelajari cara menggunakan template CapSolver n8n untuk memantau halaman produk yang dilindungi oleh AWS WAF, menyelesaikan tantangan, mengekstrak harga, membandingkan perubahan, dan memicu notifikasi secara otomatis.
