Sản phẩmTích hợpTài nguyênTài liệuGiá cả
Bắt đầu ngay

© 2026 CapSolver. All rights reserved.

Liên hệ chúng tôi

Slack: lola@capsolver.com

Sản phẩm

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Tiện ích trình duyệt
  • Thêm nhiều loại CAPTCHA

Tích hợp

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Đối tác
  • Xem tất cả tích hợp

Tài nguyên

  • Chương trình giới thiệu
  • Tài liệu
  • Tham chiếu API
  • Blog
  • Câu hỏi thường gặp
  • Thuật ngữ
  • Trạng thái

Pháp lý

  • Điều khoản dịch vụ
  • Chính sách bảo mật
  • Chính sách hoàn tiền
  • Không bán thông tin cá nhân của tôi
Blog/All/Các User Agent Tốt Nhất để Scrape Web & Cách Sử Dụng Chúng
Mar07, 2025

Các User Agent Tốt Nhất để Scrape Web & Cách Sử Dụng Chúng

Anh Tuan

Anh Tuan

Data Science Expert

Khi thực hiện web scraping, sử dụng user agent sai có thể dẫn đến bị chặn ngay lập tức. Các trang web thường dựa vào user agent để phân biệt giữa người dùng thực và bot. Để tránh bị phát hiện, điều quan trọng là phải sử dụng user agent được định dạng tốt và cập nhật thường xuyên trong các dự án web scraping của bạn.

Trong hướng dẫn này, bạn sẽ khám phá:

  • User agent là gì và tại sao nó quan trọng đối với web scraping
  • Danh sách các user agent tốt nhất để scraping
  • Cách đặt và luân chuyển user agent trong Python
  • Các thực tiễn tốt nhất bổ sung để tránh bị chặn

Hãy bắt đầu! 🚀

User Agent là gì?

User Agent (UA) là một chuỗi được gửi trong tiêu đề yêu cầu HTTP để xác định trình duyệt, hệ điều hành và các chi tiết khác. Máy chủ web sử dụng thông tin này để hiển thị nội dung phù hợp cho thiết bị của người dùng.

Ví dụ về chuỗi User Agent:

plaintext Copy
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36

Phân tích:

  • Mozilla/5.0 – Họ trình duyệt
  • (Windows NT 10.0; Win64; x64) – Chi tiết hệ điều hành
  • AppleWebKit/537.36 (KHTML, like Gecko) – Công cụ hiển thị
  • Chrome/123.0.0.0 – Phiên bản trình duyệt
  • Safari/537.36 – Khung tương thích

Bằng cách sửa đổi user agent, bạn có thể làm cho web scraper của mình trông giống như một trình duyệt thực, giảm nguy cơ bị phát hiện.

Tại sao User Agent quan trọng đối với Web Scraping

Hầu hết các trang web phân tích user agent để lọc lưu lượng truy cập của bot. Nếu scraper của bạn gửi một user agent không hợp lệ hoặc lỗi thời, nó có thể bị chặn ngay lập tức.

Bằng cách sử dụng user agent phù hợp, bạn có thể:

  • Mô phỏng một trình duyệt thực và hòa nhập với lưu lượng truy cập bình thường.
  • Bỏ qua các biện pháp bảo vệ chống bot kiểm tra các thư viện scraping mặc định.
  • Cải thiện tỷ lệ thành công của yêu cầu và tránh CAPTCHA hoặc bị cấm IP.

Tuy nhiên, chỉ sử dụng một user agent lặp đi lặp lại vẫn có thể kích hoạt các hệ thống chống bot. Đó là lý do tại sao luân chuyển user agent rất quan trọng.

Các User Agent tốt nhất cho Web Scraping (Danh sách cập nhật)

Dưới đây là danh sách được tuyển chọn các user agent hiệu quả để web scraping:

User Agent của Google Chrome:

plaintext Copy
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

User Agent của Mozilla Firefox:

plaintext Copy
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

Các trình duyệt khác:

plaintext Copy
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

💡 Mẹo: Bạn có thể kiểm tra user agent của mình bằng cách truy cập WhatIsMyUserAgent.

Cách đặt User Agent tùy chỉnh trong Python

Nhiều trang web triển khai cơ chế phát hiện bot chặn các yêu cầu thiếu hoặc có tiêu đề user-agent không chính xác. Trong phần này, chúng ta hãy sử dụng các cách khác nhau để đặt và luân chuyển user agent hiệu quả.

1. Sử dụng thư viện requests

Cách đơn giản nhất để định nghĩa user agent là sửa đổi tiêu đề của một yêu cầu bằng thư viện requests phổ biến.

Ví dụ: Đặt User Agent tĩnh

python Copy
import requests

# Định nghĩa tiêu đề với User-Agent tùy chỉnh
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"
}

# Gửi yêu cầu với User-Agent tùy chỉnh
response = requests.get("https://httpbin.org/headers", headers=headers)

# In tiêu đề phản hồi
print(response.text)

Kết quả:

json Copy
{
  "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"
  }
}

Điều này xác nhận rằng máy chủ nhận và nhận dạng chuỗi user agent một cách chính xác.

2. Luân chuyển User Agent để tăng tính ẩn danh

Sử dụng một user agent duy nhất lặp đi lặp lại có thể dẫn đến bị chặn. Để tránh điều này, hãy luân chuyển user agent bằng cách sử dụng danh sách được xác định trước.

Ví dụ: Luân chuyển User Agent với random

python Copy
import requests
import random

# Danh sách các user agent khác nhau
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"
]

# Chọn một user agent ngẫu nhiên
headers = {"User-Agent": random.choice(user_agents)}

# Gửi yêu cầu với user agent được chọn ngẫu nhiên
response = requests.get("https://httpbin.org/headers", headers=headers)

print(response.text)

Bằng cách luân chuyển user agent, scraper của bạn trông giống người dùng hơn và giảm khả năng bị phát hiện.

3. Sử dụng fake_useragent để tạo User Agent động

Thay vì duy trì một danh sách tĩnh, bạn có thể tạo user agent động bằng thư viện fake_useragent.

Cài đặt:

sh Copy
pip install fake-useragent

Ví dụ: Tạo User Agent ngẫu nhiên

python Copy
from fake_useragent import UserAgent
import requests

# Tạo đối tượng UserAgent
ua = UserAgent()

# Tạo user agent ngẫu nhiên
headers = {"User-Agent": ua.random}

# Gửi yêu cầu với user agent được tạo động
response = requests.get("https://httpbin.org/headers", headers=headers)

print(response.text)

Phương pháp này cung cấp nhiều loại user agent hơn trong khi vẫn giữ cho chúng được cập nhật.

4. Đặt User Agent tùy chỉnh trong Selenium

Khi sử dụng Selenium để web scraping, việc đặt user agent yêu cầu sửa đổi tùy chọn trình duyệt.

Ví dụ: Đặt User Agent trong Chrome

python Copy
from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# Cấu hình tùy chọn 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")

# Khởi chạy trình duyệt với user agent tùy chỉnh
driver = webdriver.Chrome(options=chrome_options)

# Mở trang kiểm tra để xác minh user agent
driver.get("https://httpbin.org/headers")

# Trích xuất và in nội dung trang
print(driver.page_source)

driver.quit()

Bằng cách sử dụng các công cụ tự động hóa trình duyệt như Selenium, bạn có thể mô phỏng hành vi của người dùng thực và bỏ qua các biện pháp chống bot nâng cao.

5. Xác minh User Agent của bạn

Để đảm bảo user agent của bạn được đặt chính xác, hãy sử dụng các phương pháp sau:

  1. Kiểm tra tiêu đề phản hồi từ https://httpbin.org/headers
  2. Sử dụng công cụ dành cho nhà phát triển trình duyệt (F12 > Network > Headers) để kiểm tra yêu cầu
  3. Sử dụng nhật ký để xác nhận việc luân chuyển user agent trong scraper

Ví dụ: Nhật ký User Agent trong vòng lặp

python Copy
import requests
import random
import time

# Danh sách 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"
]

# Vòng lặp qua các yêu cầu
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"Yêu cầu {i+1} - User-Agent: {user_agent}")

    time.sleep(2)  # Thêm độ trễ để tránh giới hạn tốc độ

Script này ghi lại các user agent khác nhau trên nhiều yêu cầu, giúp bạn gỡ lỗi các chiến lược luân chuyển.

Cách Luân chuyển User Agent ở quy mô lớn

Thay vì sử dụng một user agent tĩnh duy nhất, tốt hơn là luân chuyển chúng một cách động để tránh bị phát hiện. Dưới đây là cách bạn có thể luân chuyển user agent trong Python:

python Copy
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 này chọn ngẫu nhiên một user agent từ danh sách, làm cho scraper của bạn khó bị phát hiện hơn.

Các thực tiễn tốt nhất bổ sung để tránh bị chặn

Ngay cả với các user agent tốt nhất, web scraping yêu cầu các kỹ thuật bổ sung để không bị phát hiện:

  • Sử dụng proxy để tránh bị cấm IP.
  • Triển khai độ trễ & khoảng thời gian ngẫu nhiên giữa các yêu cầu.
  • Luân chuyển tiêu đề và mẫu yêu cầu để bắt chước hành vi của con người.
  • Tránh scraping quá mức để tránh kích hoạt giới hạn tốc độ.
  • Giám sát mã phản hồi để phát hiện bị chặn và điều chỉnh cho phù hợp.

Ngay cả với việc luân chuyển user-agent và proxy và tất cả những lời khuyên đó, các trang web vẫn có thể triển khai các kỹ thuật phát hiện nâng cao, chẳng hạn như nhận dạng dấu vân tay, thử thách JavaScript và xác minh CAPTCHA. Đây là lúc CapSolver phát huy tác dụng.

CapSolver chuyên giải quyết các thử thách Capttcha, đảm bảo web scraping không bị gián đoạn. Bằng cách tích hợp CapSolver, bạn có thể tự động giải quyết CAPTCHA và giữ cho scraper của bạn hoạt động trơn tru

Nhận Mã khuyến mãi của bạn cho các giải pháp captcha hàng đầu - CapSolver: CAPTCHA. Sau khi đổi, bạn sẽ nhận được thêm 5% tiền thưởng sau mỗi lần nạp tiền, Không giới hạn

Kết luận

Sử dụng user agent đúng là một bước quan trọng trong web scraping. Trong hướng dẫn này, chúng ta đã đề cập đến:
✅ User agent là gì và cách hoạt động của nó
✅ Danh sách các user agent hiệu quả để scraping
✅ Cách đặt và luân chuyển user agent trong Python
✅ Các thực tiễn tốt nhất bổ sung để không bị phát hiện

Bằng cách kết hợp việc luân chuyển user agent với các kỹ thuật chống phát hiện khác, bạn có thể thu thập dữ liệu thành công mà không bị chặn.

Câu hỏi thường gặp

1. User agent trong web scraping là gì?
User agent là một chuỗi xác định trình duyệt hoặc phần mềm khách hàng cho máy chủ web. Trong web scraping, nó được sử dụng để bắt chước hoạt động của người dùng thực và tránh bị phát hiện.

2. Web scraping cho mục đích cá nhân có bất hợp pháp không?
Web scraping thường hợp pháp cho mục đích cá nhân, nhưng bạn phải tôn trọng điều khoản dịch vụ của trang web và tránh scraping dữ liệu nhạy cảm hoặc có bản quyền.

3. Mục đích của việc luân chuyển user agent trong web scraping là gì?
Việc luân chuyển user agent giúp tránh bị phát hiện và chặn bằng cách làm cho các yêu cầu trông như đến từ các trình duyệt hoặc thiết bị khác nhau.

4. Làm thế nào tôi có thể ngăn chặn việc bị chặn trong khi web scraping?
Để tránh bị chặn, hãy sử dụng luân chuyển IP, giải quyết CAPTCHA, độ trễ giữa các yêu cầu và đảm bảo tuân thủ robots.txt của trang web.

5. Web scraping có thể ảnh hưởng đến hiệu suất của trang web không?
Có, scraping quá thường xuyên có thể làm quá tải máy chủ của trang web. Điều quan trọng là phải scraping một cách có trách nhiệm với số lượng yêu cầu hạn chế.

Xem thêm

May 07, 2026

Các khung công cụ AI tốt nhất dành cho tự động hóa web và giải CAPTCHA

So sánh các khung phần mềm đại diện AI tốt nhất cho tự động hóa web, giải CAPTCHA, tuân thủ và quy trình làm việc của đại diện sẵn sàng sản xuất vào năm 2026.

Anh Tuan
Anh Tuan
May 07, 2026

Những thư viện Java tốt nhất để trích xuất dữ liệu web đáng tin cậy

So sánh các thư viện quét trang web Java tốt nhất, bao gồm jsoup, Selenium, Playwright cho Java, HtmlUnit, Apache Nutch và các tùy chọn API.

Anh Tuan
Anh Tuan

Nội dung

May 06, 2026

Cách giải CAPTCHA trong tự động hóa trình duyệt bằng Hermes Agent và CapSolver

Học cách giải CAPTCHA trong các quy trình tự động hóa trình duyệt AI bằng Hermes Agent và CapSolver. Hướng dẫn này giải thích cách tích hợp CapSolver để tự động xử lý reCAPTCHA, hCaptcha và các hệ thống CAPTCHA hiện đại khác trong môi trường duyệt web tự động mà không cần viết mã phức tạp.

Anh Tuan
Anh Tuan
May 06, 2026

Cách vượt qua Thách thức AWS WAF mà không cần trình duyệt: Hướng dẫn kỹ thuật

Học cách giải quyết các thách thức AWS WAF và CAPTCHA mà không cần trình duyệt. Sử dụng API của CapSolver để tạo token và bypass mã trạng thái 405.

Anh Tuan
Anh Tuan