Cara Menggunakan Hrequests untuk Web Scraping

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:
bash
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:
python
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
python
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},
python
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!
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
Cara Menyelesaikan CAPTCHA Saat Web Scraping?
Dalam artikel ini, kami akan menjelajahi mengapa CAPTCHA sering ditemui saat web scraping dan membahas solusi terbaik untuk menyelesaikan CAPTCHA saat web scraping, dengan fokus pada integrasi Capsolver.

Ethan Collins
13-Oct-2025

Cara Terbaik untuk Menyelesaikan Captcha Saat Web Scraping
Dalam artikel ini, kami akan mempelajari jenis-jenis captcha yang ditemui selama penggalian web dan membahas pendekatan terbaik untuk menyelesaikan captcha sejak awal.

Ethan Collins
13-Oct-2025

Cara mengatasi versi apa pun dari reCAPTCHA Enterprise v2, v2 invisible, v3, v3 enterprise skor 0.9
Menguasai menyelesaikan versi reCaptcha apa pun dengan CapSolver: Panduan ini menyediakan tutorial langkah demi langkah untuk menyelesaikan reCaptcha secara efektif, memastikan hasil yang akurat setiap kali.

Ethan Collins
11-Oct-2025

Cara mengatasi captcha gambar
Posting blog ini menyediakan panduan komprehensif cara menyelesaikan captcha gambar menggunakan CapSolver, sebuah alat yang dirancang untuk mengotomasi prosesnya. Post ini dimulai dengan penjelasan tentang apa itu captcha gambar, diikuti oleh panduan langkah demi langkah yang rinci tentang cara menggunakan API CapSolver untuk menyelesaikan captcha ini. Panduan ini mencakup contoh permintaan dan respons yang terlibat dalam prosesnya. Posting ini diakhiri dengan catatan tentang efisiensi dan kemudahan menggunakan CapSolver untuk menyelesaikan captcha gambar, sehingga menjadi sumber daya yang tak ternilai bagi mereka yang ingin mengotomasi tugas yang melibatkan penyelesaian captcha.

Ethan Collins
11-Oct-2025

Selesaikan reCAPTCHA v2 Enterprise
Dalam dunia digital, keamanan dan kenyamanan pengguna seringkali berada di dua kutub yang berlawanan. CAPTCHAs, khususnya reCaptcha, telah menjadi alat penting dalam menciptakan keseimbangan antara keduanya. Namun, bagaimana jika Anda perlu menyelesaikan tes reCaptcha yang seringkali rumit dan memakan waktu, khususnya reCaptcha V2 Enterprise, untuk tujuan yang sah seperti pengujian otomatis? Dalam blog ini, kami akan membimbing Anda melalui proses menyelesaikan reCaptcha V2 Enterprise menggunakan API CapSolver.

Ethan Collins
11-Oct-2025

Selesaikan reCaptcha v3
"Pelajari cara menyelesaikan reCaptcha V3 menggunakan CapSolver: berbagai jenis tugas, integrasi API yang sederhana, dan solusi yang efektif untuk otomatisasi dan pengujian"

Ethan Collins
10-Oct-2025