
Ethan Collins
Pattern Recognition Specialist
User Agent (UA) adalah string yang dikirim oleh browser atau klien Anda untuk mengidentifikasi dirinya ke server. Biasanya mencakup detail seperti nama browser, versi, sistem operasi, dan jenis perangkat. Contoh:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36.
Cloudflare menganalisis string ini untuk mendeteksi bot. Jika UA Anda cocok dengan alat otomatisasi yang dikenal (misalnya, Python-Requests atau HeadlessChrome), Anda akan memicu sistem anti-bot Cloudflare.
Sebelum menyesuaikan, periksa User Agent apa yang digunakan pengguna nyata situs tersebut. Alat seperti WhatIsMyBrowser atau alat pengembang browser (tab Network > Headers) dapat membantu. Misalnya, jika situs tersebut populer di kalangan pengguna Chrome, tirulah UA mereka.
Berikut cara memodifikasi UA dalam bahasa pemrograman populer:
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
response = requests.get('https://example.com', headers=headers)
const axios = require('axios');
axios.get('https://example.com', {
headers: {
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
}
});
const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36');
await page.goto('https://example.com');
})();
Menggunakan UA yang sama berulang kali tetap dapat menandai Anda. Putar UA dari daftar yang telah ditentukan sebelumnya untuk meniru pengguna yang beragam. Alat seperti Fake UserAgent mempermudah ini:
from fake_useragent import UserAgent
import requests
ua = UserAgent()
headers = {'User-Agent': ua.random}
response = requests.get('https://example.com', headers=headers)
Menggunakan User Agent yang Ketinggalan Zaman
Cloudflare menyimpan daftar UA yang mencurigakan. Hindari string yang terkait dengan versi browser lama (misalnya, Chrome/58.0.3029.110 dari tahun 2017).
Mengabaikan Sidik Jari Headless Browser
Bahkan dengan UA yang valid, headless browser membocorkan sinyal otomatisasi (misalnya, plugin yang hilang seperti navigator.plugins). Gunakan plugin siluman seperti puppeteer-extra-plugin-stealth.
Melupakan Rotasi IP
Pasangkan rotasi UA dengan proksi residensial untuk menghindari blokir berbasis IP. Proksi statis atau sticky paling cocok untuk mempertahankan konsistensi sesi.
Gabungkan dengan Sidik Jari TLS
Cloudflare memeriksa pola jabat tangan TLS. Pustaka seperti curl_cffi (Python) atau tls-client (JavaScript) meniru sidik jari TLS browser nyata, mengurangi risiko deteksi.
Mengubah User Agent Anda adalah cara sederhana namun ampuh untuk melewati Cloudflare, tetapi bukannya anti gagal. Gabungkan dengan rotasi IP, sidik jari TLS, dan alat anti-deteksi untuk hasil yang kuat.
Selamat scraping! 🤖
TL;DR - Otomatisasi pemantauan harga pasar membutuhkan kunci produk-region yang stabil sebelum harga promosi dapat dibandingkan. - Perubahan harga hanya berlaku ketika mata uang, unit, kondisi promosi, status persediaan, dan timestamp dicatat bersamaan. - Pemulihan CAPTCHA harus menghentikan satu pekerjaan yang diizinkan, menjaga konteksnya, dijalankan sekali, dan kembali ke pengamatan produk yang sama. - Kontrol lalu lintas harus mengurangi konkurensi selama tantangan meningkat, 429, timeout, atau tingkat konten duplikat. Introduct

TL;DR - Kesalahan waktu habis CAPTCHA agen AI memerlukan anggaran terpisah untuk kesiapan halaman, transport alat, pekerjaan CAPTCHA, dan konfirmasi aplikasi. - Hasil yang terlambat harus dibuang ketika URL halaman, konteks browser, tantangan, atau tindakan yang sah telah berubah. - Satu ulang coba terbatas mungkin masuk akal untuk kegagalan transport sementara, tetapi pemeriksaan berulang harus membuka jalur tinjauan. - Kondisi lulus akhir adalah keadaan aplikasi asli, bukanlah ketiadaan pengecualian yang dilempar. Pendahuluan
