CAPSOLVER
Blog
Cara Menggunakan Hrequests untuk Web Scraping

Cara Menggunakan Hrequests untuk Web Scraping

Logo of Capsolver

Lucas Mitchell

Automation Engineer

04-Sep-2024

Cara Menggunakan Hrequests untuk Web Scraping

Web scraping adalah cara yang ampuh untuk mengekstrak informasi dari situs web, tetapi sering kali menjadi tantangan ketika situs menerapkan captcha, pembatasan kecepatan, atau proxy untuk memblokir scraper yang tidak diinginkan. Dalam panduan ini, kami akan memperkenalkan hrequests, sebuah library web-scraping berkinerja tinggi, dan memandu Anda melalui penggunaan dasarnya, termasuk demonstrasi untuk mengikis situs menggunakan hrequests dalam kombinasi dengan Capsolver untuk melewati tantangan ReCaptcha.

Apa itu hrequests?

hrequests adalah library HTTP Python modern yang dibuat untuk kecepatan dan fleksibilitas, dirancang untuk menangani tugas web scraping yang berat. Ini pada dasarnya adalah versi yang disempurnakan dari requests, dengan penekanan yang lebih kuat pada penanganan permintaan dengan lebih banyak kendali, terutama di lingkungan yang memerlukan penanganan proxy atau captcha tambahan.

Library ini menyediakan beberapa fitur:

  • Dukungan Asyncio untuk membuat permintaan bersamaan.
  • Penanganan sesi untuk menggunakan kembali koneksi secara efisien.
  • Dukungan proxy untuk menangani permintaan di balik proxy.
  • Dukungan pembatasan kecepatan untuk menghindari pemblokiran.
  • Dukungan penyelesaian captcha melalui layanan eksternal.

Prasyarat

Sebelum Anda mempelajari cara menggunakan hrequests, pastikan Anda telah menginstal hal-hal berikut:

pip install hrequests capsolver

Pastikan Anda juga memiliki kunci API Capsolver untuk menyelesaikan captcha jika situs yang Anda kikis memerlukannya. Untuk instruksi pengaturan terperinci, kunjungi halaman GitHub hrequests.

Memulai dengan hrequests

Berikut adalah contoh dasar cara menggunakan hrequests untuk mengikis halaman web:

import hrequests

# URL halaman web yang ingin kita kikis
url = 'https://example.com'

# Buat permintaan GET sederhana
response = hrequests.get(url)

# Cetak kode status


```python
print(f"Kode Status: {response.status_code}")

# Cetak konten halaman
print(f"Konten Halaman: {response.text}")

Ini adalah skrip dasar yang membuat permintaan GET ke URL yang diberikan dan mencetak kode status dan konten halaman. Namun, banyak situs web lebih kompleks dan memerlukan penanganan tambahan seperti rotasi proksi, pemalsuan agen pengguna, atau penyelesaian captcha.

Menangani Captcha dengan Capsolver dan hrequests

Pada bagian ini, kita akan menjelajahi cara mengintegrasikan Capsolver dengan hrequests untuk melewati captcha. Capsolver adalah layanan eksternal yang membantu dalam memecahkan berbagai jenis captcha, termasuk ReCaptcha V2, yang umumnya digunakan di situs web.

Kami akan mendemonstrasikan penyelesaian ReCaptcha V2 menggunakan Capsolver dan kemudian mengikis konten halaman yang memerlukan pemecahan captcha terlebih dahulu.

Contoh: Memecahkan ReCaptcha V2 dengan Capsolver

import capsolver
import hrequests
import os

# Pertimbangkan untuk menggunakan variabel lingkungan untuk informasi sensitif
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Kunci API Capsolver Anda")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")

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

def main():
    print("Memecahkan reCaptcha v2")
    solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("Solusi: ", solution)

    # Sekarang setelah kita memecahkan captcha, kita dapat melanjutkan dengan pengikisan
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
    }

    # Mengirimkan permintaan GET dengan solusi captcha
    response = hrequests.get(
        PAGE_URL, 
        headers=headers, 
        data={"g-recaptcha-response": solution},
proxies = {"http": PROXY, "https": PROXY}
    )

    # Memeriksa status dan mencetak konten halaman
    if response.status_code == 200:
        print("Berhasil mengambil halaman!")
        print(response.text)
    else:
        print(f"Gagal mengambil halaman. Kode Status: {response.status_code}")

if __name__ == "__main__":
    main()

Jangan ragu untuk memperluas skrip ini agar sesuai dengan kebutuhan scraping Anda dan bereksperimen dengan fitur tambahan yang ditawarkan oleh hrequests. Pastikan selalu bahwa aktivitas scraping Anda menghormati persyaratan layanan situs web dan pedoman hukum.

Selamat scraping!

Lebih lanjut

Cara Menggunakan Hrequests untuk Web Scraping
Cara Menggunakan Hrequests untuk Web Scraping

Pelajari cara mengikis situs web secara efisien menggunakan hrequests dengan proxy dan penanganan captcha, termasuk demo tentang menyelesaikan ReCaptcha V2 dengan Capsolver untuk melewati tantangan dan mengekstrak data dengan lancar.

Logo of Capsolver

Lucas Mitchell

04-Sep-2024

Cara Menggunakan ScrapeGraph AI untuk Web Scraping
Cara Menggunakan ScrapeGraph AI untuk Scraping Web

Pelajari cara menggunakan ScrapeGraph AI, perpustakaan scraping web Python yang kuat, untuk mengekstrak data dari situs web dan dokumen lokal dengan mudah. Panduan ini mencakup contoh untuk menggunakan OpenAI dan model lokal seperti Ollama, dan cara menangani captcha dengan Capsolver.

Logo of Capsolver

Rajinder Singh

04-Sep-2024

Memecahkan Tantangan reCAPTCHA v3 Enterprise dengan Python dan Selenium
Memecahkan Tantangan reCAPTCHA v3 Enterprise dengan Python dan Selenium

Cara menyelesaikan tantangan reCAPTCHA v3 Enterprise menggunakan Python dan Selenium, alat otomatisasi browser yang populer.

reCAPTCHA
Logo of Capsolver

Ethan Collins

04-Sep-2024

Cara Cepat dan Mudah untuk Menyelesaikan reCAPTCHA dengan Cepat
Cara Cepat dan Mudah untuk Menyelesaikan reCAPTCHA dengan Cepat

Jelajahi beberapa metode cepat dan mudah untuk menyelesaikan reCAPTCHA dengan cepat

reCAPTCHA
Logo of Capsolver

Ethan Collins

02-Sep-2024

Menggunakan Playwright dengan Ruby: Panduan Langkah demi Langkah untuk 2024
Menggunakan Playwright dengan Ruby: Panduan Langkah Demi Langkah untuk 2024

Pelajari cara menangani tantangan CAPTCHA saat web scraping dengan Playwright dan Ruby. Panduan lengkap untuk 2024 ini mencakup integrasi mudah dengan CapSolver melalui ekstensi atau API, memastikan ekstraksi data yang lancar dari situs web dengan perlindungan CAPTCHA.

Logo of Capsolver

Lucas Mitchell

02-Sep-2024

Mengerti reCaptcha v2 Tantangan Tak Terlihat: Identifikasi dan Parameter
Memecahkan Tantangan Invisible reCaptcha v2: Identifikasi dan Parameter

Menghadapi tantangan dengan reCaptcha v2 Invisible? Pasti kamu ingin tahu cara mengidentifikasi versinya dan parameternya, dan menyelesaikannya secara efektif

reCAPTCHA
Logo of Capsolver

Ethan Collins

29-Aug-2024