
Ethan Collins
Pattern Recognition Specialist
Saat melakukan web scraping, menggunakan user agent yang salah dapat menyebabkan pemblokiran instan. Situs web sering bergantung pada user agent untuk membedakan antara pengguna nyata dan bot. Untuk menghindari deteksi, sangat penting untuk menggunakan user agent yang terformat dengan baik dan sering diperbarui dalam proyek web scraping Anda.
Dalam panduan ini, Anda akan menemukan:
Mari selami! š
User Agent (UA) adalah string yang dikirim dalam header permintaan HTTP yang mengidentifikasi browser, sistem operasi, dan detail lainnya. Server web menggunakan informasi ini untuk merender konten yang sesuai untuk perangkat pengguna.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Mozilla/5.0 ā Keluarga browser(Windows NT 10.0; Win64; x64) ā Detail sistem operasiAppleWebKit/537.36 (KHTML, like Gecko) ā Mesin renderingChrome/123.0.0.0 ā Versi browserSafari/537.36 ā Kerangka kerja kompatibilitasDengan memodifikasi user agent, Anda dapat membuat web scraper Anda tampak seperti browser nyata, mengurangi risiko deteksi.
Sebagian besar situs web ** menganalisis user agent** untuk menyaring lalu lintas bot. Jika scraper Anda mengirimkan user agent yang tidak valid atau usang, ia mungkin akan diblokir secara instan.
Dengan menggunakan user agent yang sesuai, Anda dapat:
Namun, menggunakan hanya satu user agent berulang kali masih dapat memicu sistem anti-bot. Inilah sebabnya mengapa memutar user agent sangat penting.
Berikut adalah daftar yang telah dikurasi dari user agent yang efektif untuk web scraping:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 14.4; rv:124.0) Gecko/20100101 Firefox/124.0
Mozilla/5.0 (X11; Linux i686; rv:124.0) Gecko/20100101 Firefox/124.0
Mozilla/5.0 (Macintosh; Intel Mac OS X 14_4_1) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.4.1 Safari/605.1.15
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36 Edg/123.0.2420.81
š” Tip: Anda dapat memeriksa user agent Anda sendiri dengan mengunjungi WhatIsMyUserAgent.
Banyak situs web menerapkan mekanisme deteksi bot yang memblokir permintaan dengan header user-agent yang hilang atau salah. Di bagian ini, mari kita gunakan berbagai cara untuk mengatur dan memutar user agent secara efisien.
requestsCara paling sederhana untuk menentukan user agent adalah dengan memodifikasi header permintaan menggunakan library requests yang populer.
Contoh: Mengatur User Agent Statis
import requests
# Tentukan header dengan User-Agent kustom
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
}
# Kirim permintaan dengan User-Agent kustom
response = requests.get("https://httpbin.org/headers", headers=headers)
# Cetak header respons
print(response.text)
Output:
{
"headers": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Host": "httpbin.org",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
}
}
Ini mengkonfirmasi bahwa server menerima dan mengenali string user agent dengan benar.
Menggunakan satu user agent berulang kali dapat menyebabkan pemblokiran. Untuk menghindari hal ini, putar user agent menggunakan daftar yang telah ditentukan.
Contoh: Memutar User Agent dengan random
import requests
import random
# Daftar user agent yang berbeda
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
]
# Pilih user agent secara acak
headers = {"User-Agent": random.choice(user_agents)}
# Kirim permintaan dengan user agent yang dipilih secara acak
response = requests.get("https://httpbin.org/headers", headers=headers)
print(response.text)
Dengan memutar user agent, scraper Anda tampak lebih seperti manusia dan mengurangi kemungkinan deteksi.
fake_useragent untuk Pembuatan User Agent DinamisAlih-alih mempertahankan daftar statis, Anda dapat menghasilkan user agent secara dinamis menggunakan library fake_useragent.
Instalasi:
pip install fake-useragent
Contoh: Menghasilkan User Agent Acak
from fake_useragent import UserAgent
import requests
# Buat objek UserAgent
ua = UserAgent()
# Hasilkan user agent acak
headers = {"User-Agent": ua.random}
# Kirim permintaan dengan user agent yang dihasilkan secara dinamis
response = requests.get("https://httpbin.org/headers", headers=headers)
print(response.text)
Metode ini menyediakan berbagai macam user agent sambil tetap memperbaruinya.
SeleniumSaat menggunakan Selenium untuk web scraping, pengaturan user agent memerlukan modifikasi opsi browser.
Contoh: Mengatur User Agent di Chrome
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# Konfigurasikan opsi Chrome
chrome_options = Options()
chrome_options.add_argument("user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36")
# Mulai browser dengan user agent kustom
driver = webdriver.Chrome(options=chrome_options)
# Buka halaman uji untuk memverifikasi user agent
driver.get("https://httpbin.org/headers")
# Ekstrak dan cetak konten halaman
print(driver.page_source)
driver.quit()
Dengan menggunakan alat otomatisasi browser seperti Selenium, Anda dapat mensimulasikan perilaku pengguna nyata dan melewati langkah-langkah anti-bot tingkat lanjut.
Untuk memastikan user agent Anda diatur dengan benar, gunakan metode berikut:
https://httpbin.org/headersContoh: Logging User Agent dalam Loop
import requests
import random
import time
# Daftar user agent
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0"
]
# Loop melalui permintaan
for i in range(5):
user_agent = random.choice(user_agents)
headers = {"User-Agent": user_agent}
response = requests.get("https://httpbin.org/headers", headers=headers)
print(f"Permintaan {i+1} - User-Agent: {user_agent}")
time.sleep(2) # Tambahkan penundaan untuk menghindari pembatasan kecepatan
Script ini mencatat user agent yang berbeda selama beberapa permintaan, membantu Anda men-debug strategi rotasi.
Alih-alih menggunakan satu user agent statis, lebih baik memutarnya secara dinamis untuk menghindari deteksi. Berikut cara Anda dapat memutar user agent di Python:
import requests
import random
user_agents = [
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36",
"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
]
headers = {"User-Agent": random.choice(user_agents)}
response = requests.get("https://httpbin.org/headers", headers=headers)
print(response.text)
Script ini memilih secara acak user agent dari daftar, membuat scraper Anda lebih sulit dideteksi.
Bahkan dengan user agent terbaik, web scraping membutuhkan teknik tambahan untuk tetap tidak terdeteksi:
Bahkan dengan rotasi user-agent dan proxy dan semua kiat tersebut, situs web mungkin masih menerapkan teknik deteksi tingkat lanjut, seperti fingerprinting, tantangan JavaScript, dan verifikasi Captcha. Di sinilah CapSolver berperan.
CapSolver berspesialisasi dalam menyelesaikan tantangan Capttcha, memastikan web scraping tanpa gangguan. Dengan mengintegrasikan CapSolver, Anda dapat secara otomatis menyelesaikan CAPTCHA dan menjaga scraper Anda tetap berjalan lancar
Klaim Kode Bonus Anda untuk solusi captcha terbaik - CapSolver: CAPTCHA. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap pengisian ulang, Tidak Terbatas
Menggunakan user agent yang tepat adalah langkah penting dalam web scraping. Dalam panduan ini, kami membahas:
ā
Apa itu user agent dan cara kerjanya
ā
Sebuah daftar user agent yang efektif untuk scraping
ā
Cara mengatur dan memutar user agent di Python
ā
Praktik terbaik tambahan untuk tetap tidak terdeteksi
Dengan menggabungkan rotasi user agent dengan teknik anti-deteksi lainnya, Anda dapat berhasil melakukan scraping data tanpa diblokir.
1. Apa itu user agent dalam web scraping?
User agent adalah string yang mengidentifikasi browser atau perangkat lunak klien ke server web. Dalam web scraping, ini digunakan untuk meniru aktivitas pengguna nyata dan menghindari deteksi.
2. Apakah web scraping untuk penggunaan pribadi ilegal?
Web scraping umumnya legal untuk penggunaan pribadi, tetapi Anda harus menghormati ketentuan layanan situs web dan menghindari scraping data sensitif atau yang dilindungi hak cipta.
3. Apa tujuan rotasi user agent dalam web scraping?
Rotasi user agent membantu menghindari deteksi dan pemblokiran dengan membuat permintaan tampak berasal dari browser atau perangkat yang berbeda.
4. Bagaimana saya dapat mencegah pemblokiran saat melakukan web scraping?
Untuk menghindari pemblokiran, gunakan rotasi IP, pemecahan CAPTCHA, penundaan antara permintaan, dan pastikan kepatuhan dengan robots.txt situs.
5. Dapatkah web scraping memengaruhi kinerja situs web?
Ya, scraping terlalu sering dapat membebani server situs web. Penting untuk melakukan scraping secara bertanggung jawab dengan permintaan yang terbatas.
Pelajari apa yang memicu Kesalahan Cloudflare 1020 Akses Ditolak, bagaimana Firewall Aplikasi Web dan deteksi bot bekerja, dan bagaimana pengembang dapat mengurangi kesalahan positif dalam alur kerja otomatis yang sah.

Pelajari cara menggunakan template CapSolver n8n untuk memantau halaman produk yang dilindungi oleh AWS WAF, menyelesaikan tantangan, mengekstrak harga, membandingkan perubahan, dan memicu notifikasi secara otomatis.
