CAPSOLVER
Blog
Cara Menggunakan curl_cffi untuk Web Scraping

Cara Menggunakan curl_cffi untuk Web Scraping

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

17-Sep-2024

Apa itu curl_cffi?

curl_cffi adalah sebuah library Python yang menyediakan binding yang efisien dan low-level ke library libcurl menggunakan CFFI (C Foreign Function Interface). Ini memungkinkan Anda untuk melakukan permintaan HTTP dengan performa tinggi dan kontrol yang detail, mirip dengan tool baris perintah curl tetapi di dalam Python. Ini sangat berguna untuk tugas-tugas web scraping yang membutuhkan kecepatan dan konfigurasi tingkat lanjut.

Fitur:

  • Performa Tinggi: Memanfaatkan kecepatan libcurl untuk permintaan HTTP yang cepat.
  • Keamanan Thread: Aman digunakan dalam aplikasi multi-threaded.
  • Fitur Lanjutan: Mendukung proxy, konfigurasi SSL/TLS, header kustom, dan banyak lagi.
  • Kontrol Low-Level: Memberikan kontrol detail atas proses permintaan dan respons.

Prasyarat

Sebelum Anda mulai menggunakan curl_cffi, pastikan Anda telah menginstal hal-hal berikut:

Pada sistem Ubuntu/Debian, Anda mungkin perlu menginstal header pengembangan libcurl:

bash Copy
sudo apt-get install libcurl4-openssl-dev

Memulai dengan curl_cffi

Instalasi

Instal curl_cffi menggunakan pip:

bash Copy
pip install curl_cffi

Contoh Dasar: Melakukan Permintaan GET

Berikut adalah contoh dasar cara menggunakan curl_cffi untuk melakukan permintaan GET:

python Copy
from curl_cffi import requests

# Melakukan permintaan GET
response = requests.get('https://httpbin.org/get')

# Memeriksa kode status
print(f'Kode Status: {response.status_code}')

# Mencetak isi respons
print('Isi Respons:', response.text)

Contoh Web Scraping: Mengikis Kutipan dari Situs Web

Mari kita scraping halaman web untuk mengekstrak informasi. Kita akan menggunakan Quotes to Scrape untuk mendapatkan semua kutipan beserta penulisnya.

python Copy
from curl_cffi import requests
from bs4 import BeautifulSoup

# URL untuk scraping
url = 'http://quotes.toscrape.com/'

# Melakukan permintaan GET
response = requests.get(url)

# Menganalisis konten HTML menggunakan BeautifulSoup
soup = BeautifulSoup(response.content, 'html.parser')

# Menemukan semua elemen kutipan
quotes = soup.find_all('div', class_='quote')

# Mengekstrak dan menampilkan kutipan dan penulis
for quote in quotes:
    text = quote.find('span', class_='text').get_text()
    author = quote.find('small', class_='author').get_text()
    print(f'{text} — {author}')

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
“It is our choices, Harry, that show what we truly are, far more than our abilities.” — J.K. Rowling
... (kutipan tambahan)

Menangani Captcha dengan CapSolver dan curl_cffi

Di bagian ini, kita akan mengeksplorasi bagaimana mengintegrasikan CapSolver dengan curl_cffi untuk melewati captcha. CapSolver adalah layanan eksternal yang membantu dalam menyelesaikan berbagai jenis captcha, termasuk ReCaptcha V2, yang umum digunakan di situs web.

Kita akan mendemonstrasikan penyelesaian ReCaptcha V2 menggunakan CapSolver dan kemudian scraping konten halaman yang memerlukan penyelesaian captcha terlebih dahulu.

Contoh: Menyelesaikan ReCaptcha V2 dengan CapSolver dan curl_cffi

python Copy
import os
import capsolver
from curl_cffi import requests

# Pertimbangkan untuk menggunakan variabel lingkungan untuk informasi sensitif
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Your CapSolver API Key")
PAGE_URL = os.getenv("PAGE_URL", "https://example.com")  # URL halaman dengan captcha
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "SITE_KEY")        # Site key untuk captcha

def solve_recaptcha_v2(url, site_key):
    solution = capsolver.solve({
        "type": "ReCaptchaV2TaskProxyless",
        "websiteURL": url,
        "websiteKey": site_key,
        "proxy": PROXY
    })
    return solution['solution']['gRecaptchaResponse']

def main():
    print("Menyelesaikan reCaptcha V2...")
    captcha_solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("Captcha Terselesaikan!")

if __name__ == "__main__":
    main()

Catatan: Ganti PAGE_URL dengan URL halaman yang berisi captcha dan PAGE_SITE_KEY dengan site key captcha. Anda dapat menemukan site key di sumber HTML halaman, biasanya di dalam <div> yang berisi widget captcha.

Menangani Proxy dengan curl_cffi

Jika Anda perlu merutekan permintaan Anda melalui proxy, curl_cffi membuatnya mudah:

python Copy
from curl_cffi import requests

# Menentukan pengaturan proxy
proxies = {
    'http': 'http://username:password@proxyserver:port',
    'https': 'https://username:password@proxyserver:port',
}

# Melakukan permintaan GET menggunakan proxy
response = requests.get('https://httpbin.org/ip', proxies=proxies)

# Mencetak isi respons
print('Isi Respons:', response.text)

Anda dapat mengelola cookie menggunakan CookieJar dari modul http.cookiejar Python:

python Copy
from curl_cffi import requests
from http.cookiejar import CookieJar

# Membuat instance CookieJar
cookie_jar = CookieJar()

# Membuat sesi dengan cookie jar
session = requests.Session()
session.cookies = cookie_jar

# Melakukan permintaan GET
response = session.get('https://httpbin.org/cookies/set?name=value')

# Menampilkan cookie
for cookie in session.cookies:
    print(f'{cookie.name}: {cookie.value}')

Penggunaan Lanjutan: Header Kustom dan Permintaan POST

Anda dapat mengirim header kustom dan melakukan permintaan POST dengan curl_cffi:

python Copy
from curl_cffi import requests

# Menentukan header kustom
headers = {
    'User-Agent': 'Mozilla/5.0 (compatible)',
    'Accept-Language': 'en-US,en;q=0.5',
}

# Data untuk dikirim dalam permintaan POST
data = {
    'username': 'testuser',
    'password': 'testpass',
}

# Melakukan permintaan POST
response = requests.post('https://httpbin.org/post', headers=headers, data=data)

# Mencetak respons JSON
print('Respons JSON:', response.json())

Kode Bonus

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

Kesimpulan

Dengan curl_cffi, Anda dapat secara efisien melakukan tugas web scraping sambil memiliki kontrol detail atas permintaan HTTP Anda. Integrasinya dengan CapSolver memungkinkan Anda untuk melewati captcha seperti ReCaptcha V2, memungkinkan akses ke konten yang sulit untuk di-scrape.

Jangan ragu untuk mengembangkan contoh-contoh ini agar sesuai dengan kebutuhan scraping khusus Anda. Selalu ingat untuk menghormati persyaratan layanan situs web yang Anda scrape dan mematuhi pedoman hukum.

Selamat scraping!

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

Penggunaan Browser vs Browserbase: Manakah Alat Otomatisasi Browser yang Lebih Baik untuk Agen AI?
Penggunaan Browser vs Browserbase: Manakah Alat Otomatisasi Browser yang Lebih Baik untuk Agen AI?

Bandingkan Penggunaan Browser dengan Browserbase untuk otomatisasi agen AI. Jelajahi fitur, harga, dan cara menyelesaikan CAPTCHA dengan CapSolver untuk alur kerja yang mulus.

AI
Logo of CapSolver

Anh Tuan

26-Jan-2026

Larangan IP pada 2026: Bagaimana Cara Kerjanya dan Cara Praktis untuk Menghindarinya
Larangan IP pada 2026: Bagaimana Cara Kerjanya dan Cara Praktis untuk Mengelaknya

Pelajari cara menghindari pembatasan IP pada 2026 dengan panduan lengkap kami. Temukan teknik pemblokiran IP modern dan solusi praktis seperti proxy residensial dan solver CAPTCHA.

web scraping
Logo of CapSolver

Emma Foster

26-Jan-2026

Maxun dengan Integrasi CapSolver
Cara Menyelesaikan Captcha di Maxun dengan Integrasi CapSolver

Panduan praktis untuk mengintegrasikan CapSolver dengan Maxun dalam penggunaan nyata pengambilan data web. Pelajari cara mengelola reCAPTCHA, Cloudflare Turnstile, dan situs yang dilindungi CAPTCHA dengan menggunakan alur kerja pre-auth dan robot.

web scraping
Logo of CapSolver

Adélia Cruz

21-Jan-2026

Browser4 dengan Integrasi CapSolver
Cara menyelesaikan Captcha di Browser4 dengan integrasi CapSolver

Otomasi Browser4 dengan throughput tinggi dikombinasikan dengan CapSolver untuk menangani tantangan CAPTCHA dalam ekstraksi data web skala besar.

web scraping
Logo of CapSolver

Anh Tuan

21-Jan-2026

Alat Ekstraksi Data Terbaik yang Harus Digunakan pada 2026 (Perbandingan Lengkap)
Alat Ekstraksi Data Terbaik untuk 2026 (Perbandingan Lengkap)

Temukan alat ekstraksi data terbaik untuk 2026. Bandingkan platform terkemuka web scraping, ETL, dan berbasis AI untuk mengotomatisasi pengumpulan data dan alur kerja AI Anda.

AI
Logo of CapSolver

Emma Foster

21-Jan-2026

Selesaikan Tak Terbatas Captcha dengan Solver Captcha Terbaik
Menyelesaikan Captcha Tanpa Batas dengan Pemecah Captcha Terbaik

Pelajari cara menyelesaikan Captcha tak terbatas dengan lancar menggunakan solver Captcha terbaik, panduan rinci tentang mengatur dan mengotomasi solusi Captcha secara efektif

reCAPTCHA
Logo of CapSolver

Adélia Cruz

20-Jan-2026