Rotasi agen pengguna dalam pengikisan

Rotasi agen pengguna saat mengikis penutup

Rotasi agen pengguna saat melakukan scraping – begini cara saya menyelesaikannya

 

Titik awal

Beberapa permintaan ke domain yang sama sering kali mengakibatkan captcha atau kesalahan 403. Penyebab: skrip saya mengirimkan agen pengguna yang sama untuk setiap permintaan – itu terlihat seperti bot. Tujuannya adalah untuk membuat header lebih realistis – terutama User-Agent memutar.

⚙️ Pendekatan & Pengaturan

Saya tidak menginginkan emulasi browser yang besar, tetapi hanya ingin mengimplementasikan agen pengguna yang berputar secara acak di klien HTTP Python saya (httpx).
Saya mengambil sekumpulan string umum untuk desktop dan seluler, dicampur berdasarkan distribusi di dunia nyata.

Contoh daftar

user_agents = [
    "Mozilla/5.0 (Windows NT 10.0; Win64; x64)...",
    "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)...",
    "Mozilla/5.0 (Linux; Android 11; SM-G991B)...",
    "Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X)...",
    ...
]

Python: Ubah agen pengguna pada setiap permintaan

import httpx
import random

url = "https://zielseite.de/"

headers = {
    "User-Agent": random.choice(user_agents),
    "Accept": "text/html,application/xhtml+xml",
    "Accept-Language": "de-DE,de;q=0.9",
}

response = httpx.get(url, headers=headers)
print(response.status_code)

Temuan utama

  • Memutar agen pengguna saja tidak banyak gunanya – seluruh blok header penting
  • Agen pengguna seluler sering kali tampak lebih kredibel (banyak situs yang mengutamakan perangkat seluler)
  • Selalu dengan Accept-Language, Accept, mungkin Referer menggabungkan

Opsional: Putar seluruh preset header

header_presets = [
    {
        "User-Agent": "...Windows...",
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "de-DE,de;q=0.9"
    },
    {
        "User-Agent": "...iPhone...",
        "Accept": "text/html,application/xhtml+xml",
        "Accept-Language": "de-DE,de;q=0.9"
    },
    ...
]

headers = random.choice(header_presets)

Bonus: Apa yang akan saya hindari

  • Agen pengguna fiktif atau formatnya salah (misalnya dari generator lama)
  • Rotasi simultan proxy + agen pengguna tanpa alasan
  • Agen pengguna tanpa header lain yang cocok – menonjol

Kesimpulan

Rotasi agen pengguna bukanlah obat mujarab – tetapi merupakan alat yang berguna untuk mengatasi hambatan sepele. Bukan hanya string itu sendiri yang penting, tetapi keseluruhan set header harus cocok satu sama lain.

Per: 04/2025 – bekerja dengan andal untuk target pengikisan umum.

Nama saya Kadek dan saya seorang pelajar dari Indonesia dan sedang belajar ilmu komputer di Jerman. Blog ini berfungsi sebagai platform di mana saya dapat berbagi pengetahuan tentang topik-topik seperti web scraping, screen scraping, penambangan data web, pengumpulan web, ekstraksi data web, dan penguraian data web.