NSTProxy
Gói Proxy giảm tới75% GIẢM+15% Thưởngvới
  • Định giá
  • Tài liệu
VI
Liên hệ

© 2026 NST LABS TECH LTD. ALL RIGHTS RESERVED

Sản phẩm

Trình duyệt chống vân tay
Nstbrowser RPA
AI Agent Skills
Proxy
Vượt qua đám mây
Trình mở khóa web

Giải pháp

Trình duyệt chống vân tay dựa trên đám mây
Quản lý nhiều tài khoản
Rút trích nội dung trang web
Phát hiện chống bot

Nguồn

Định giá
Tải xuống
Thị trường RPA
Chương trình liên kết
Đối tác
Blog
Ghi chú phát hành

Ủng hộ

Liên hệ

Tài liệu

Hợp pháp

Điều kiện
Chính sách bảo mật
Chính sách cookie

Sản phẩmGiải phápNguồnỦng hộHợp pháp

Sản phẩmGiải phápNguồn

Ủng hộHợp pháp

© 2026 NST LABS TECH LTD. ALL RIGHTS RESERVED

Quay lại Blog
tác nhân người dùng để quét web
Web Scraping

Tác nhân người dùng tốt nhất cho việc quét web năm 2024 | Tránh bị cấm UA khi Scraping

Bạn phải nghe về “Tác nhân người dùng” nhiều lần. Bạn có biết tác nhân người dùng là gì không? Nó ảnh hưởng đến cuộc sống trực tuyến của chúng ta như thế nào? Nhận câu trả lời trong blog này.
Jun 11, 2024Tạ Quí Lĩnh

Bạn có phải là người thường xuyên quét web không? Bạn có rất cẩn thận về quyền riêng tư của mình không? Sau đó, bạn phải nghe về "Tác nhân người dùng" nhiều lần. Bạn có biết tác nhân người dùng là gì không? Nó ảnh hưởng đến cuộc sống trực tuyến của chúng ta như thế nào?

Bắt đầu đọc và bạn sẽ quan tâm đến mọi thứ trong blog này!

Tại sao Tác nhân người dùng lại quan trọng đối với việc quét web?

User Agent (UA) là một chuỗi mà trình duyệt hoặc các phần mềm client khác gửi đến máy chủ web. Nó có thể cung cấp thông tin về thiết bị và môi trường phần mềm của người dùng.

Bằng cách sử dụng các chuỗi tác nhân người dùng thay đổi ngẫu nhiên hoặc thích hợp, người dọn dẹp có thể bỏ qua các hạn chế truy cập, tìm nạp phiên bản nội dung web chính xác và giảm nguy cơ bị chặn.

  • Lưu ý: Sử dụng sai tác nhân người dùng có thể khiến tập lệnh trích xuất dữ liệu bị chặn.

Trình quét web của bạn bị chặn nhiều lần?
Nstbrowser xử lý các giải pháp bỏ chặn web toàn diện
Hãy thử MIỄN PHÍ ngay bây giờ!

Bạn có suy nghĩ hoặc câu hỏi nào về việc thu thập dữ liệu web và Browseless không?
Hãy đến xem những gì các nhà phát triển khác đang chia sẻ trên Discord và Telegram!

Tác nhân người dùng tốt nhất để Scraping là gì?

Nếu UA có thể bắt chước các trình duyệt phổ biến và được sử dụng phổ biến, chúng sẽ được coi là tác nhân người dùng tốt nhất để quét web. Dưới đây là một số trong số họ:

Tác nhân người dùng máy tính để bàn

  1. Google Chrome trên Windows
SCSS Copy
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36
  1. Mozilla Firefox trên Windows
Plain Copy
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0
  1. Microsoft Edge trên Windows
SCSS Copy
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.864.59
  1. Safari trên macOS
SCSS Copy
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Safari/605.1.15

Đại lý người dùng di động

  1. Google Chrome trên Android
SCSS Copy
Mozilla/5.0 (Linux; Android 11; Pixel 5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Mobile Safari/537.36
  1. Safari trên iPhone
SCSS Copy
Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0 Mobile/15E148 Safari/604.1
  1. Mozilla Firefox trên Android
Plain Copy
Mozilla/5.0 (Android 11; Mobile; rv:89.0) Gecko/89.0 Firefox/89.0

Cách Thiết Lập User Agent Cho Web Scraping?

1. Mã Mẫu User Agent

Có nhiều cách để tùy chỉnh User Agent của trình duyệt, dưới đây là danh sách mã mẫu User Agent tùy chỉnh phổ biến trong các ngôn ngữ phát triển phổ biến:

Javascript

  • Puppeteer
JavaScript Copy
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/123.0.0.0 Safari/537.36');
  await page.goto('https://example.com');
  const content = await page.content();
  console.log(content);
  await browser.close();
})();
  • Axios
JavaScript Copy
const axios = require('axios');
const fetchData = async () => {
  try {
    const response = await axios.get('https://example.com', {
      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'
      }
    });
    console.log(response.data);
  } catch (error) {
    console.error(error);
  }
};

Python

  • Puppeteer
Python Copy
import requests
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'
}
response = requests.get('https://example.com', headers=headers)
print(response.content)
  • Selenium library
Python Copy
from selenium import webdriver
options = webdriver.ChromeOptions()
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')
driver = webdriver.Chrome(options=options)
driver.get('https://example.com')

Java

  • HttpClient
Java Copy
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;

public class WebScraping {
    public static void main(String[] args) throws Exception {
        String url = "https://example.com";
        CloseableHttpClient httpClient = HttpClients.createDefault();
        HttpGet request = new HttpGet(url);
        request.addHeader("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");
        CloseableHttpResponse response = httpClient.execute(request);
        Document doc = Jsoup.parse(response.getEntity().getContent(), "UTF-8", url);
        System.out.println(doc.html());        
        response.close();
        httpClient.close();
    }
}
  • Selenium
Java Copy
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;

public class WebScrapingWithChrome {
    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "path/to/chromedriver");
        ChromeOptions options = new ChromeOptions();
        options.addArguments("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");
        WebDriver driver = new ChromeDriver(options);
        driver.get("https://example.com");
        String pageSource = driver.getPageSource();
        System.out.println(pageSource);
        driver.quit();
    }
}

Go

  • net/http group
Go Copy
package main

import (
    "fmt"
    "io/ioutil"
    "net/http"
)

func main() {
    client := &http.Client{}
    req, _ := http.NewRequest("GET", "https://example.com", nil)
    req.Header.Set("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")
    resp, _ := client.Do(req)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    fmt.Println(string(body))
}

2. Cài đặt bằng Nstbrowser

Bất kể ngôn ngữ lập trình hoặc công cụ nào được sử dụng trong ví dụ trên, trường UserAgent trong tiêu đề yêu cầu HTTP đều được đặt hoặc sửa đổi bằng các phương thức hoặc cấu hình trong thư viện tương ứng.

Một số trình duyệt chống phát hiện cũng hỗ trợ tùy chỉnh User-Agent và sau đây là ví dụ cho thấy cách tùy chỉnh User-Agent thông qua trình duyệt vân tay Nstbrowser được sử dụng làm ví dụ cho thấy cách tùy chỉnh UserAgent bằng trình duyệt vân tay:

ứng dụng Nstbrowser

Tùy chỉnh Tác nhân người dùng bằng cách nhấp vào “Tạo” trực tiếp từ bảng “Hồ sơ” trong giao diện người dùng.

tạo hồ sơ

API trình duyệt Nstbrowser

Bạn cũng có thể tùy chỉnh UserAgent thông qua các phương thức API như LaunchBrowser, CreateProfile, Nstbrowser Puppeteer, v.v., trong đó mã sử dụng phương thức Puppeteer như sau:

JavaScript Copy
import puppeteer from 'puppeteer-core';

// LaunchExistBrowser: Connect to or start an existing browser
// You need to create the corresponding profile in advance
// Support custom config
async function launchAndConnectToBrowser(profileId) {
  const host = 'localhost:8848';
  const apiKey = 'your api key';
  const config = {
    headless: true,
    autoClose: true,
    fingerprint: {
      name: 'browser113',
      platform: 'windows',
      kernel: 'chromium',
      kernelMilestone: '120',
      hardwareConcurrency: 4,
      deviceMemory: 8,
      proxy: '',
      userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.6099.56 Safari/537.36',
    }
  };
  const query = new URLSearchParams({
    'x-api-key': apiKey, // required
    config: encodeURIComponent(JSON.stringify((config))),
  });
  const browserWSEndpoint = `ws://${host}/devtool/launch/${profileId}?${query.toString()}`;
  console.log('browserWSEndpoint: ', browserWSEndpoint);
  await execPuppeteer(browserWSEndpoint);
}

launchAndConnectToBrowser('your profileId').then();

Làm thế nào để tránh bị UA của bạn bị cấm?

Nếu có quá nhiều yêu cầu được gửi bởi cùng một tác nhân người dùng, nó sẽ kích hoạt hệ thống chống bot và cuối cùng dẫn đến việc chặn. Cách tốt nhất để tránh điều này là xoay danh sách tác nhân người dùng để tìm kiếm và cập nhật nó.

1. Xoay vòng tác nhân người dùng

Xoay tác nhân người dùng cóp nhặt có nghĩa là thay thế tác nhân đó khi thực hiện yêu cầu web. Điều này cho phép bạn truy cập nhiều dữ liệu hơn và tăng hiệu quả của máy cạp. Phương pháp này còn giúp bảo vệ địa chỉ IP của bạn không bị chặn và đưa vào danh sách đen.

Làm cách nào để luân chuyển tác nhân người dùng?

Hầu hết các trình duyệt đều hỗ trợ xoay tiêu đề Tác nhân người dùng. Ví dụ: trong JS, một danh sách các Tác nhân người dùng có sẵn được xác định trước, sau đó một Tác nhân người dùng ngẫu nhiên hoặc xoay vòng sẽ được lấy từ danh sách và sử dụng.

JavaScript Copy
const axios = require('axios');

// define rotate UserAgent list
const userAgents = [
    '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 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0',
    // more UerAgent
];
let currentIndex = 0;
async function fetchData() {
    try {
        const response = await axios.get('https://example.com', {
            headers: {
                'User-Agent': userAgents[currentIndex]
            }
        });
        console.log(response.data);
        currentIndex = (currentIndex + 1) % userAgents.length;
    } catch (error) {
        console.error(error);
    }
}
fetchData();

Tránh lệnh cấm UA với tính năng xoay UA thông minh của Nstbrowser
Hãy thử miễn phí ngay bây giờ!

Bạn cũng có thể sử dụng tính năng Xoay vòng UserAgent đi kèm với trình duyệt chống phát hiện. Bằng cách xoay giá trị Tác nhân người dùng, Nstbrowser có thể ngăn chặn việc phát hiện chương trình chống bot và tránh chặn các hoạt động thu thập thông tin.

Nstbrowser Web Scraping là minh họa cho việc tạo hoặc chỉnh sửa dấu vân tay UserAgent trong tệp cấu hình của ứng dụng khách Nstbrowser. Chỉ cần nhấp vào nút Randomize UserAgent như trong hình sau:

tránh lệnh cấm ip

2. Khoảng thời gian ngẫu nhiên giữa các yêu cầu

Giữ các khoảng thời gian ngẫu nhiên giữa các yêu cầu để ngăn không cho người dọn dẹp của bạn bị phát hiện và chặn.

3. Tác nhân người dùng cập nhật

Tác nhân người dùng lỗi thời có thể khiến IP của bạn bị chặn! Để duy trì trải nghiệm quét trơn tru và liền mạch, hãy đảm bảo cập nhật tác nhân người dùng của bạn thường xuyên.

Nó là một bọc

Mặc dù máy khách có thể sửa đổi chuỗi tác nhân người dùng nhưng nó vẫn không đủ tin cậy để quản trị viên web bảo vệ máy chủ của họ khỏi lưu lượng truy cập của bot. Để tránh sự không chắc chắn và rắc rối, trình duyệt chống phát hiện là một giải pháp lý tưởng để quét trơn tru.

Nstbrowser giúp vượt qua khả năng phát hiện chống bot và bỏ chặn 99,9% trang web bằng dấu vân tay trình duyệt thực, trình giải CAPTCHA, trình bỏ chặn web và không cần trình duyệt. Ồ! Hãy thử phiên bản miễn phí và tận hưởng khả năng truy cập liền mạch của bạn vào việc tìm kiếm trên web!

Hơn
cào web
Web Scraping
Cách thực hiện Web Scraping trong Golang sử dụng Colly?
Golang là một trong những công cụ mạnh mẽ nhất để thu thập dữ liệu trên web. Và Colly giúp rất nhiều khi sử dụng Go. Đọc blog này và tìm thông tin chi tiết nhất về Colly và học cách thu thập dữ liệu từ trang web với Colly.
Sep 30, 2024Tạ Quí Lĩnh
Java web crawler
Web Scraping
Web Crawler trong Java: Hướng dẫn từng bước 2024
Java web crawler giúp các tác vụ tự động hóa và thu thập dữ liệu web dễ dàng. Làm thế nào để thu thập dữ liệu web bằng Java web crawler? Đây là tất cả mọi thứ bạn sẽ thích!
Aug 16, 2024Triệu Lệ Chi
scrapy so với beautifulsoup
Web Scraping
Scrapy so với Beautifulsoup - Cái nào phù hợp hơn với bạn?
Scrapy so với BeautifulSoup, điểm giống và khác nhau là gì? Cái nào phù hợp hơn với bạn? Hãy tìm hiểu trong blog này.
Jul 31, 2024Tạ Quí Lĩnh
trình duyệt chống phát hiện
Web Scraping
Trình duyệt chống phát hiện tốt nhất để quét web năm 2024
Trình duyệt chống phát hiện giúp bạn ẩn dấu vân tay của trình duyệt khi quét trang web. Nó thực sự đơn giản hóa công việc của bạn. Đọc blog này và tìm thấy nhiều hơn nữa!
Jul 19, 2024Triệu Lệ Chi
Urllib, Urllib3, Requests
Web Scraping
Urllib, Urllib3 và Yêu cầu: Cái nào là tốt nhất cho bạn khi quét web?
Urllib, urllib3 và request là 3 thư viện Python thông dụng và tuyệt vời. Sự khác biệt của 3 cái này là gì? Hãy đọc bài viết này và tìm ra bài viết phù hợp nhất với bạn nhé!
Jul 17, 2024Tạ Quí Lĩnh
Lỗi 403 Bị Cấm
Web Scraping
Lỗi 403 Forbidden: Nó là gì? Làm thế nào để khắc phục nó?
Lỗi 403 cực kỳ khó chịu! Lỗi 403 bị cấm là gì? Giải quyết thế nào? Hãy tìm câu trả lời từ blog này.
Jul 12, 2024Triệu Lệ Chi
Mục lục