Tự động hoá trình duyệt và trích xuất dữ liệu web đã trở thành công cụ cho các nhà phát triển, nhà nghiên cứu và kiến trúc sư doanh nghiệp. Trí tuệ nhân tạo (AI) cũng đang chuyển đổi những công cụ này và cách mạng hoá khả năng của chúng, cho phép năng động tương tác, trích xuất dữ liệu thông minh và tự động hoá tác vụ nâng cao.
Các giải pháp AI có thể thích ứng với những thay đổi theo thời gian thực, đảm bảo hiệu suất nhất quán ngay cả khi các trang web phát triển. Hướng dẫn toàn diện này xem xét sức mạnh của tác nhân AI và Browserless, và giải thích tất cả các lợi ích của việc kết hợp chúng.

Tác nhân AI là các hệ thống phần mềm sử dụng công nghệ AI để tự động thực hiện các tác vụ hoặc đưa ra quyết định mà không cần sự can thiệp trực tiếp của con người. Những tác nhân này có thể mô phỏng quá trình ra quyết định giống như con người và thích ứng với môi trường năng động bằng cách học hỏi từ kinh nghiệm, tương tác hoặc các quy tắc được xác định trước.
Chúng có thể giúp bạn thực hiện các tác vụ cụ thể, trả lời câu hỏi và tự động hoá quy trình khi cần. Chúng có thể là robot dựa trên quy tắc đơn giản hoặc hệ thống AI phức tạp. Tác nhân AI không tự trị, nhưng có thể tự trị nếu cần. Tác nhân tự trị AI cũng có thể xử lý các tác vụ này với rất ít sự can thiệp của con người.
Dựa trên độ phức tạp và quy trình công việc, sau đây là các loại tác nhân AI phổ biến nhất:
Tác nhân phản xạ đơn giản hoạt động dựa trên đầu vào hiện tại hoặc trạng thái của môi trường. Chúng tuân theo một tập hợp các quy tắc điều kiện-hành động được xác định trước để quyết định phản hồi của chúng. Những tác nhân này phản ứng ngay lập tức với các điều kiện mà chúng nhận thức được mà không tính đến kinh nghiệm trong quá khứ.
Ví dụ: Bộ lọc thư rác email cơ bản chặn một số thư nhất định. Những bộ lọc này phân tích nội dung của email đến và chặn những email có chứa các từ khoá hoặc mẫu cụ thể được xác định là thư rác.
Những tác nhân này duy trì một mô hình nội bộ về thế giới, giúp chúng theo dõi lịch sử các sự kiện. Không giống như tác nhân phản xạ đơn giản, chúng có thể tính đến các trạng thái trước đó để đưa ra quyết định tốt hơn. Chúng cập nhật mô hình của mình dựa trên phản hồi nhận được từ môi trường.
Ví dụ: Một bộ điều nhiệt điều chỉnh nhiệt độ. Nó không chỉ phản ứng với nhiệt độ hiện tại mà còn sử dụng các số đo trước đó để duy trì nhiệt độ mong muốn theo thời gian.
Tác nhân dựa trên mục tiêu đi xa hơn các tác nhân phản xạ bằng cách có các mục tiêu cụ thể. Chúng thực hiện các hành động để đạt được mục tiêu đã xác định và có thể chọn các hành động khác nhau tùy thuộc vào tình huống. Những tác nhân này lên kế hoạch cho các hành động của mình trước bằng cách đánh giá các hành động có thể đưa chúng đến gần hơn với mục tiêu của chúng.
Ví dụ: Một hệ thống định vị tính toán tuyến đường tốt nhất đến đích dựa trên điều kiện giao thông hiện tại, chướng ngại vật và các yếu tố khác.
Tác nhân dựa trên tiện ích chọn các hành động dựa trên khái niệm tiện ích, đo lường mức độ lợi ích mà một hành động mang lại để đạt được mục tiêu. Những tác nhân này đánh giá các hành động có thể khác nhau dựa trên kết quả của chúng và chọn hành động tối đa hoá tiện ích hoặc sự thoả mãn.
Ví dụ: Một hệ thống đề xuất mua sắm đề xuất các sản phẩm dựa trên khả năng mua hàng, sở thích của người dùng và hành vi trong quá khứ. Nó xếp hạng các đề xuất theo tiện ích dự kiến đối với người dùng.
Tác nhân học tập có thể cải thiện hiệu suất của mình theo thời gian bằng cách học hỏi từ môi trường và kinh nghiệm của chúng. Chúng sử dụng các thuật toán máy học để điều chỉnh hành vi của mình dựa trên phản hồi, giúp chúng đưa ra quyết định tốt hơn trong tương lai.
Ví dụ: Một trợ lý ảo học hỏi sở thích của người dùng theo thời gian, chẳng hạn như nhận ra các câu hỏi thường gặp và điều chỉnh phản hồi hoặc hành động để phù hợp hơn với nhu cầu của người dùng.
Tác nhân tự trị rất tiên tiến và có thể đưa ra quyết định và thực hiện các tác vụ một mình mà không cần sự can thiệp của con người. Chúng có thể thích ứng với môi trường phức tạp, lên kế hoạch cho các hành động của mình và giải quyết vấn đề trong thời gian thực. Những tác nhân này có mức độ tự trị và trí thông minh cao, thường được kết hợp với các mô hình AI tiên tiến.
Ví dụ: Các phương tiện tự lái điều hướng đường đi, nhận ra chướng ngại vật, tuân thủ luật giao thông và đưa ra quyết định lái xe mà không cần đầu vào của con người.
Tác nhân cộng tác được thiết kế để làm việc với các tác nhân khác (AI hoặc con người) để đạt được một mục tiêu chung. Những tác nhân này chia sẻ thông tin, phối hợp hành động và giải quyết vấn đề cùng nhau.
Chúng thường liên lạc với nhau để chia sẻ thông tin/mục tiêu, phối hợp hành động và quyết định, và điều chỉnh hành vi của mình dựa trên hành động của các tác nhân khác.
Ví dụ: Hệ thống quản lý giao thông thông minh sử dụng nhiều tác nhân AI để tối ưu hoá lưu lượng giao thông. Vì có một tác nhân điều khiển đèn giao thông tại mỗi giao lộ, nó có thể phối hợp các hành động để quyết định tín hiệu nào cần hiển thị.
Browserless là một dịch vụ dựa trên đám mây cho phép bạn chạy trình duyệt không đầu mà không bị ràng buộc bởi thiết bị cục bộ. Nó được thiết kế để cho phép các nhà phát triển thực hiện các tác vụ trích xuất dữ liệu web, kiểm thử tự động và tự động hoá trình duyệt khác ở quy mô lớn.
Là một công cụ trích xuất dữ liệu web AI mạnh mẽ, Nstbrowser Browserless cho phép các tác nhân web này tương tác với các hệ thống dựa trên web mà không cần giao diện trình duyệt đầy đủ. Ví dụ: bạn có thể sử dụng Playwright hoặc Puppeteer để tạo kiểm thử hoặc phân tích trực quan. Lợi ích chính là bạn có thể tăng tốc độ của các tác nhân này và sử dụng ít tài nguyên hơn.
Tuy nhiên, khả năng hiểu ngôn ngữ tự nhiên là điều phân biệt nó với các công cụ trích xuất dữ liệu web AI khác. Vì nó có thể tạo ra phản hồi giống như con người (cả văn bản và giọng nói), nó có thể giúp bạn giảm bớt các tác vụ tẻ nhạt. Giống như các tác nhân con người, chúng có thể thích ứng với các tình huống bất ngờ, chẳng hạn như thêm đầu vào sai hoặc sử dụng cơ chế xử lý lỗi.
Vì nó là đa kênh, nó có thể xử lý các truy vấn trên nhiều kênh (điện thoại, email, trò chuyện, v.v.) mà không bị mất ngữ cảnh. Tất cả điều này xảy ra trong thời gian thực — cuối cùng là bắt chước các tương tác bình thường của con người.
Mặc dù các công cụ trích xuất dữ liệu web AI đã chứng minh tiềm năng đáng kể trong việc tự động hoá các tác vụ, vẫn còn một số thách thức và trở ngại kỹ thuật cần xem xét khi sử dụng tác nhân AI để tương tác với trang.
Các trang web ngày nay thường dựa vào JavaScript để tải dữ liệu không đồng bộ, và các tác nhân truyền thống có thể gặp khó khăn trong việc chụp hoặc tương tác với các phần tử chỉ xuất hiện sau khi trang đã được hiển thị đầy đủ.
Browserless có thể xử lý các trang động này bằng cách chạy trình duyệt không đầu hiển thị đầy đủ JavaScript, cho phép tác nhân AI tương tác với các phần tử như một người dùng bình thường.
Nhiều trang web hoặc dịch vụ không cung cấp API công cộng để truy cập dễ dàng vào dữ liệu của chúng. Kết quả là, việc trích xuất hoặc tự động hoá tương tác thường yêu cầu trích xuất dữ liệu web trực tiếp và xử lý các cấu trúc HTML phức tạp. Điều này có thể dẫn đến độ phức tạp tăng lên và nhu cầu các tác nhân AI "hiểu" và điều hướng các trang web thông minh hơn.
Bằng cách kết hợp AI với Browserless, bạn có thể mô phỏng tương tác của người dùng thực, ngay cả khi không có API. AI có thể thông minh xác định các phần tử chính trên trang, giúp các tác nhân dễ dàng bỏ qua việc cần API chính thức và trích xuất hoặc tương tác với dữ liệu một cách hiệu quả. Browserless đảm bảo rằng các tương tác này xảy ra mà không kích hoạt hệ thống phát hiện bot, ngay cả khi không có API.
Các tác nhân AI, bằng cách tương tác với các hệ thống của bên thứ ba (như trang web, API hoặc các công cụ bên ngoài khác), có thể gặp phải các tình huống mà hành vi của hệ thống không thể đoán trước.
Bạn có thể gặp sự cố dịch vụ hoặc thay đổi giao diện người dùng, hoặc một API có thể có tác động phụ. Điều này trở thành vấn đề khi bạn đang chạy hàng trăm tác vụ ở quy mô lớn, vì việc xác định chính xác nguyên nhân gây lỗi có thể khó khăn.
Giả sử bạn đang sử dụng một tác nhân để đặt vé máy bay, và tác nhân phải xử lý một cửa sổ bật lên mới trên trang web của hãng hàng không yêu cầu thông tin về tiêm chủng hoặc mã giảm giá. Nếu bạn không thêm các bước cần thiết vào quy trình công việc của mình để xử lý các cửa sổ bật lên này, việc đặt vé có thể không được thực hiện, hoặc bạn có thể gặp lỗi đặt vé.
Bằng cách tích hợp AI với Browserless, bạn có thể xây dựng các cơ chế xử lý lỗi và các giải pháp dự phòng. AI có thể thông minh thích ứng với những thay đổi trong bố cục trang web, xác định các phần tử mới (như cửa sổ bật lên) và kích hoạt các hành động cụ thể để xử lý chúng. Ngoài ra, Browserless cho phép chạy các phiên bản trình duyệt mà không cần GUI, giảm bớt độ phức tạp trong việc xác định và phản hồi các thay đổi đó.
Quy trình công việc phức tạp thường liên quan đến nhiều bước trải rộng trên nhiều hệ thống, mỗi bước yêu cầu phối hợp và ra quyết định cẩn thận.
Trong những trường hợp này, việc duy trì ngữ cảnh trong các tương tác khác nhau có thể trở nên khó khăn, đặc biệt là khi có nhiều người dùng hoặc hệ thống tham gia.
Ví dụ: nếu tác nhân của bạn đang giúp người dùng với đơn xin vay thế chấp cần lấy dữ liệu tài chính từ nhiều hệ thống, ngữ cảnh và luồng quyết định chính xác là cần thiết để thực hiện điều này. Nó có thể đang thu thập dữ liệu thông qua kiểm tra tín dụng, thẩm định và hệ thống ứng dụng của riêng bạn.
Tích hợp Browserless cho phép tác nhân AI thực thi các quy trình công việc này trong một môi trường mà các tương tác trình duyệt ổn định và có thể được mở rộng dễ dàng, mà không có nguy cơ xảy ra lỗi do thay đổi hệ thống bên ngoài.
Khi quy mô sử dụng AI tăng lên, việc sử dụng token (trong trường hợp của LLM) và thời gian phản hồi có thể trở nên khó khăn. Khi bạn mở rộng các tác vụ, mỗi thao tác có thể yêu cầu nhiều tài nguyên hơn, làm tăng chi phí hoạt động và độ trễ phản hồi.
Khi lưu lượng truy cập web tăng lên, việc chạy các truy vấn phức tạp trên các trang web lớn sẽ liên quan đến việc phân tích cú pháp nhiều dữ liệu hơn, tiêu tốn nhiều tài nguyên hơn và làm tăng thời gian phản hồi.
Đó là lý do tại sao bạn cần đảm bảo quy trình công việc của mình chỉ chứa các bước cần thiết. Dưới đây là một số cách khác để tối ưu hoá việc sử dụng token:
Browserless sử dụng phương pháp tập trung vào trình duyệt, cung cấp khả năng triển khai không đầu mạnh mẽ và đảm bảo hiệu suất và độ tin cậy cao hơn. Để biết thêm thông tin về việc bắt đầu trích xuất dữ liệu web AI thông qua Browserless, bạn có thể xem tài liệu để tìm hiểu thêm.
Lấy API KEY và đi đến trang menu Browserless của máy khách Nstbrowser, hoặc bạn có thể đi đến máy khách Nstbrowser để truy cập

Bạn có bất kỳ ý tưởng tuyệt vời và thắc mắc nào về trích xuất dữ liệu web và Browserless không?
Hãy xem những gì các nhà phát triển khác đang chia sẻ trên Discord và Telegram!
Trước khi bắt đầu, chúng ta cần đảm bảo những gì chúng ta sẽ thu thập dữ liệu. Trong ví dụ sau, chúng ta thử thu thập tiêu đề phim trong 250 phim hàng đầu của IMDb. Sau khi mở trang:

Mọi thứ đã sẵn sàng, bắt đầu thu thập dữ liệu! Chúng tôi chọn sử dụng Browserless Cloud mạnh mẽ do Nstbrowser cung cấp để thu thập nội dung trên. Dưới đây, chúng tôi sẽ liệt kê một số thư viện phổ biến được sử dụng cùng nhau.
Nếu bạn chưa chọn thư viện nào, chúng tôi khuyên bạn nên sử dụng Puppeteer vì nó rất năng động và có nhiều người duy trì. Nó cũng được xây dựng bởi các nhà phát triển Chrome, vì vậy nó là một trong những thư viện chất lượng cao nhất.
# pnpm
pnpm i puppeteer-core
# yarn
yarn add puppeteer-core
# npm
npm i --save puppeteer-coreimport puppeteer from "puppeteer-core";
const token = "your api key"; // 'your proxy'
const config = {
  proxy: 'your proxy', // required; input format: schema://user:password@host:port eg: http://user:password@localhost:8080
  // platform: 'windows', // support: windows, mac, linux
  // kernel: 'chromium', // only support: chromium
  // kernelMilestone: '128', // support: 128
  // args: {
  //     "--proxy-bypass-list": "detect.nstbrowser.io"
  // }, // browser args
  // fingerprint: {
  //     userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.85 Safari/537.36', // userAgent supportted since v0.15.0
  // },
};
const query = new URLSearchParams({
  token: token, // required
  config: JSON.stringify(config),
});
const browserWSEndpoint = `https://less.nstbrowser.io/connect?${query.toString()}`;
// Kết nối browserless
const browser = await puppeteer.connect({
  browserWSEndpoint,
  defaultViewport: null,
})
console.info('Kết nối!');
// Tạo trang mới
const page = await browser.newPage()
// Truy cập trang top 250 của IMDb
await page.goto('https://www.imdb.com/chart/top/?ref_=nv_mv_250')
// Chờ danh sách phim tải
await page.waitForSelector('.ipc-metadata-list')
// Lấy danh sách tiêu đề phim
const moviesList = await page.$$eval('.ipc-metadata-list h3.ipc-title__text', nodes => nodes.map(node => node.textContent));
console.log('[250 phim hàng đầu của IMDb]===>', moviesList);
// Đóng trình duyệt
await browser.close();Chúc mừng! Chúng ta đã hoàn thành tác vụ thu thập dữ liệu. Bạn có thể thấy kết quả của 250 bộ phim trong bảng điều khiển:
pip install pytest-playwrightfrom playwright.sync_api import sync_playwright
from urllib.parse import urlencode
import json
token = "your api key"  # 'your proxy'
config = {
    "proxy": "your proxy",  # required; input format: schema://user:password@host:port eg: http://user:password@localhost:8080
    # platform: 'windows', // support: windows, mac, linux
    # kernel: 'chromium', // only support: chromium
    # kernelMilestone: '128', // support: 128
    # args: {
    #     "--proxy-bypass-list": "detect.nstbrowser.io"
    # }, // browser args
    # fingerprint: {
    #     userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.6613.85 Safari/537.36', // userAgent supportted since v0.15.0
    # },
}
query = urlencode({"token": token, "config": json.dumps(config)})
browser_ws_endpoint = f"ws://less.nstbrowser.io/connect?{query}"
def scrape_imdb_top_250():
    with sync_playwright() as p:
        # Kết nối browserless
        browser = p.chromium.connect_over_cdp(browser_ws_endpoint)
        print("Kết nối!")
        # Tạo trang mới
        page = browser.new_page()
        # Truy cập trang top 250 của IMDb
        page.goto("https://www.imdb.com/chart/top/?ref_=nv_mv_250")
        # Chờ danh sách phim tải
        page.wait_for_selector(".ipc-metadata-list")
        # Lấy danh sách tiêu đề phim
        movies_list = page.eval_on_selector_all(
            ".ipc-metadata-list h3.ipc-title__text",
            "nodes => nodes.map(node => node.textContent)",
        )
        print("[250 phim hàng đầu của IMDb]===>", movies_list)
        # Đóng trình duyệt
        browser.close()
scrape_imdb_top_250()Tất nhiên, đây là kết quả thu thập dữ liệu:

Chọn ngôn ngữ và thư viện yêu thích của bạn, thực thi tập lệnh tương ứng và bạn có thể xem kết quả thu thập dữ liệu!
Bạn đã hoàn toàn hiểu toàn bộ nội dung của tác nhân AI. Sự kết hợp giữa tác nhân AI và Browserless sẽ mang lại trí tuệ toàn diện cho các hoạt động trên trang web.
Từ việc bỏ qua chống thu thập dữ liệu đến mô phỏng hành vi người dùng phức tạp, đến nền tảng hoạt động trang web tự động hoàn toàn trong tương lai, AI và Browserless sẽ trở thành cốt lõi của tương tác trang web thông minh.