Web Scraping dengan Botright dan Python di 2025

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:
-
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.
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:
-
Instal Botright:
bashpip install botright
-
Instal Manajer WebDriver:
Botright bergantung pada paket
webdriver_manager
untuk mengelola driver browser.bashpip install webdriver-manager
-
Verifikasi Instalasi:
Buat file Python baru dan impor Botright untuk memastikan bahwa itu terinstal dengan benar.
pythonfrom 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
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
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:
- 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
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
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
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
-
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
-
Temukan
config.json
:- Jalur:
capsolver_extension/assets/config.json
- Jalur:
-
Edit
config.json
:json{ "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/atauenabledForRecaptchaV2
ketrue
berdasarkan jenis CAPTCHA yang Anda harapkan. - Atur mode ke
"token"
untuk penyelesaian otomatis.
- Ganti
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
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.
- Dari
- Konfigurasi Opsi Chrome:
- Gunakan
options.add_argument()
untuk menambahkan ekstensi CapSolver.
- Gunakan
- Inisialisasi Botright dengan Opsi:
- Lewatkan
options
keBotright
saat membuat instance.
- Lewatkan
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
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 instanceBotright
.
- Lewatkan
- Navigasi ke Situs Target:
- Gunakan
bot.get()
untuk menavigasi ke situs dengan reCAPTCHA.
- Gunakan
- 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.
- Pastikan
- Waktu Menunggu:
- Waktu penyelesaian mungkin berbeda; sesuaikan
time.sleep()
sesuai kebutuhan.
- Waktu penyelesaian mungkin berbeda; sesuaikan
- Manajemen Driver:
- Botright mengelola WebDriver secara internal; meneruskan
options
menyesuaikan driver.
- Botright mengelola WebDriver secara internal; meneruskan
- Kepatuhan:
- Pastikan bahwa Anda mematuhi persyaratan layanan situs web yang Anda kikis.
Menjalankan Skrip:
bash
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
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%+

Anh Tuan
23-Jan-2025

Apakah Web Scraping Legal? Panduan Komprehensif untuk 2025
Tantangan Hukum Web Scraping 2025: Regulasi Kunci, Kepatuhan, dan Studi Kasus

Ethan Collins
23-Jan-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

Rajinder Singh
23-Jan-2025

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.

Sora Fujimoto
23-Jan-2025

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.

Rajinder Singh
23-Jan-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.

Nikolai Smirnov
23-Jan-2025