Giảm giá bất ngờ: Thưởng thức Giảm 90% Đăng ký của bạn!

⚡️ Nstproxy - Hơn 110 triệu IP cho việc Cào Dữ liệu và Tự động hóa Siêu Tốc, Bắt đầu từ $0.1/GB.

  • Định giá
  • Tài liệu
VI
Liên hệ

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

Sản phẩm

Trình duyệt chống vân tay
Nstbrowser RPA
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

© 2025 NST LABS TECH LTD. ALL RIGHTS RESERVED

Quay lại Blog
thu thập dữ liệu web từ Yahoo Finance
Browserless

Cách trích xuất dữ liệu chứng khoán từ Yahoo Finance bằng Browserless?

Yahoo Finance là một trang web động điển hình. Việc trích xuất dữ liệu từ nó rất khó. Bài viết này sẽ giúp bạn dễ dàng hoàn thành việc trích xuất dữ liệu từ Yahoo Finance bằng Puppeteer và Browserless.
Oct 25, 2024Triệu Lệ Chi

Liệu việc thu thập dữ liệu trên Yahoo Finance có hợp pháp?

Làm sao về tính hợp pháp của việc thu thập dữ liệu trên Yahoo Finance? Liệu nó có được công nhận là hoạt động bất hợp pháp?

Hãy bình tĩnh. Hầu hết dữ liệu trên trang web Yahoo Finance là mã nguồn mở và thông tin công khai. Dữ liệu Yahoo Finance mà chúng ta có thể thu thập bao gồm:

  • Cập nhật tin tức thị trường chứng khoán
  • Giá cổ phiếu hiện tại của các công ty
  • Xu hướng giá cổ phiếu của công ty tăng hoặc giảm.
  • Quỹ tương hỗ và ETF
  • Giá trị của các loại tiền tệ và thậm chí cả tiền điện tử

Mặc dù điều này là đúng về nguyên tắc, bạn vẫn nên chú ý đến luật và quy định về thu thập dữ liệu web ở địa phương phòng trường hợp.

Tại sao chúng ta cần thu thập dữ liệu chứng khoán từ Yahoo Finance?

Trước khi thu thập, điều quan trọng là phải tìm ra lý do. Tại sao chúng ta nên thu thập nó? Ở đây chúng tôi có thể cung cấp cho bạn phân tích.

Bằng cách thu thập dữ liệu gần đây, các nhà đầu tư có thể nhận được giá cổ phiếu, khối lượng giao dịch và động lực thị trường mới nhất, để đưa ra quyết định kịp thời. Ngoài ra, bằng cách phân tích dữ liệu lịch sử, các nhà đầu tư có thể xây dựng các mô hình cơ bản để dự đoán xu hướng giá cổ phiếu và hỗ trợ trong việc xây dựng chiến lược đầu tư.

Chúng ta luôn sợ rủi ro. Chúng ta có thể thu thập dữ liệu hiệu suất của các cổ phiếu khác nhau để giúp chúng ta tối ưu hóa danh mục đầu tư của mình nhằm giảm thiểu rủi ro.

Báo cáo tài chính, tin tức và các sự kiện khác có tác động đáng kể đến giá cổ phiếu. Bằng cách thu thập dữ liệu, chúng ta có thể hiểu rõ thị trường chứng khoán và giúp các nhà đầu tư đưa ra quyết định chính xác.

Sau một chu kỳ đầu tư, chúng ta cần đưa ra một bản tóm tắt phản hồi về sự phát triển của các quỹ đã đầu tư. Sử dụng Browserless để thu thập dữ liệu có thể kịp thời và hiệu quả kiểm tra dữ liệu lịch sử và xác minh hiệu quả của các chiến lược giao dịch, qua đó nâng cao tỷ lệ thành công của các giao dịch.

Tại sao Browserless giúp ích rất nhiều trong việc thu thập dữ liệu Yahoo Finance?

Tuy nhiên, Yahoo Finance có thể sử dụng các biện pháp như chặn IP, CAPTCHA và giới hạn tốc độ yêu cầu để ngăn chặn việc thu thập dữ liệu tự động. Và bởi vì một số dữ liệu có thể được tải động thông qua JavaScript, chúng ta cần sử dụng một chương trình mạnh mẽ và ổn định hơn để xử lý các trang web động.

Đừng buồn! Browserless hoạt động tốt để giải quyết những vấn đề này.

Browserless là một giải pháp dựa trên đám mây được thiết kế cho tự động hóa trình duyệt có khả năng mở rộng, thu thập dữ liệu web và thử nghiệm web. Browserless có khả năng tương thích tự nhiên với Playwright và Puppeteer. Nó cũng được thiết kế với khả năng giải quyết captcha tự động và dịch vụ proxy. Bên cạnh đó, nó trang bị một nền tảng có thể mở rộng với API để tích hợp các chế độ xem thời gian thực và truy xuất nhật ký và bản ghi.

Browserless hiện đã hoàn toàn để thử nghiệm!

Bạn có bất kỳ ý tưởng tuyệt vời nào hay nghi ngờ gì về thu thập dữ liệu web và Browserless?
Hãy xem những gì các nhà phát triển khác đang chia sẻ trên Discord!

Thu thập dữ liệu Yahoo Finance bằng Puppeteer và Browserless

Điều kiện tiên quyết

Dịch vụ Browserless là cần thiết để chúng ta có thể thu thập dữ liệu Yahoo Finance. Browserless của Nstbrowser là một công cụ hiệu quả để giải quyết các tác vụ thu thập dữ liệu web phức tạp và tự động hóa quy mô lớn, và nó hỗ trợ triển khai đám mây được quản lý đầy đủ.

Browserless áp dụng cách tiếp cận tập trung vào trình duyệt, cung cấp khả năng triển khai headless mạnh mẽ và cung cấp hiệu suất và độ tin cậy cao hơn. Để biết thêm thông tin về Browserless, bạn có thể tìm hiểu từ tài liệu Browserless của chúng tôi.

  • Vâng, làm cách nào để có được API KEY? Vui lòng mở trang menu Browserless của ứng dụng khách Nstbrowser, hoặc bạn có thể chỉ cần truy cập thông qua liên kết nhảy của chúng tôi.
Nhận API Key

Xây dựng khung thu thập

  1. Cài đặt puppeteer. Ở đây chúng tôi chọn puppeteer-core nhẹ hơn:
Bash Copy
# pnpm
pnpm i puppeteer-core
# yarn
yarn add puppeteer-core
# npm
npm i --save puppeteer-core
  1. Mã sau đã được chuẩn bị cho bạn trong tài liệu Browserless. Bạn chỉ cần điền vào apiKey và proxy để bắt đầu các hoạt động Browserless tiếp theo:
JavaScript Copy
import puppeteer from "puppeteer-core";

const apiKey = "your ApiKey"; // bắt buộc
const config = {
    proxy: 'your proxy', // bắt buộc; định dạng đầu vào: schema://user:password@host:port ví dụ: http://user:password@localhost:8080
    // platform: 'windows', // hỗ trợ: windows, mac, linux
    // kernel: 'chromium', // chỉ hỗ trợ: chromium
    // kernelMilestone: '128', // hỗ trợ: 128
    // args: {
    //     "--proxy-bypass-list": "detect.nstbrowser.io"
    // }, // đối số trình duyệt
    // 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 được hỗ trợ từ phiên bản v0.15.0
    // },
};
const query = new URLSearchParams({
    token: apiKey, // bắt buộc
    config: JSON.stringify(config),
});
const browserlessWSEndpoint = `https://less.nstbrowser.io/connect?${query.toString()}`;

Bắt đầu thu thập

Bước 1. Kết nối Browserless và thu thập giá cổ phiếu

Trước khi bắt đầu thu thập dữ liệu Yahoo Finance, chúng ta có thể quan sát URL của Yahoo Finance trước: https://finance.yahoo.com/quote/AAPL/. Trong đó, AAPL là mã cổ phiếu.

Rõ ràng, bạn có thể chuyển sang trang cổ phiếu bạn cần thu thập bằng cách thay đổi đường dẫn mã cổ phiếu. Sau đó, mở công cụ dành cho nhà phát triển (F12) để kiểm tra cấu trúc HTML của trang và đặt con trỏ vào giá thị trường hiện tại.

Tiếp theo, chúng ta sẽ thử thu thập giá này:

giá cổ phiếu mục tiêu

Trong các bước chuẩn bị ở trên, chúng ta đã có được cổng kết nối Browserless, do đó chúng ta có thể bắt đầu thu thập trực tiếp.

JavaScript Copy
// kết nối với browserless
const browser = await puppeteer.connect({
  browserWSEndpoint: browserlessWSEndpoint,
  defaultViewport: null,
})

const page = await browser.newPage();
await page.goto('https://finance.yahoo.com/quote/AAPL');
// Thêm ảnh chụp màn hình để hỗ trợ khắc phục sự cố sau này
await page.screenshot({ path: 'yahoo.png' });
const selector = '[data-symbol="AAPL"][data-field="regularMarketPrice"]';
// Trích xuất văn bản bên trong của một phần tử phù hợp với bộ chọn (ví dụ: giá cổ phiếu)
const regularMarketPrice = await page.$eval(selector, el => el.innerText);
console.log(`Apple Giá cổ phiếu hiện tại là:${regularMarketPrice}`);

Bước 2. Bỏ qua xác thực Cookie

Chờ đã! Nếu chúng ta chạy tập lệnh trên ngay bây giờ, rất có thể nó sẽ thất bại. Tại sao? Hãy cùng xem ảnh chụp màn hình finance.png được tạo ra khi tôi chạy tập lệnh.

Xác thực Cookie

Có thể thấy rằng lỗi thu thập là do chúng ta chưa thực hiện xác thực cookie. Sau đó, chúng ta sẽ sử dụng Puppeteer để giúp chúng ta bỏ qua xác thực cookie:

  • Mở một trình duyệt mới để kích hoạt lại trang xác thực cookie
  • Sử dụng bảng điều khiển dành cho nhà phát triển để định vị phần tử Chấp nhận tất cả theo cách tương tự và lấy bộ chọn lớp tương ứng
  • Sử dụng puppeteer để nhấp vào nút này
Bỏ qua xác thực Cookie

Các hoạt động trên có thể dễ dàng hoàn thành chỉ với một vài dòng mã đơn giản!

Mã sau được sử dụng để chờ phần tử có lớp .consent-overlay xuất hiện trên trang, sau đó nhấp vào nút "Chấp nhận tất cả" (.accept-all) trong lớp. Và chúng ta cần sử dụng try catch để loại trừ trường hợp cookie đã được xác thực.

JavaScript Copy
try {
  await page.waitForSelector('.consent-overlay');
  // nhấp vào nút "chấp nhận tất cả"
  await page.click('.consent-overlay .accept-all');
} catch (e) {
  console.log('Cookie đã được xác thực');
}
  • Do đó, mã nên là:
JavaScript Copy
import puppeteer from "puppeteer-core";

const apiKey = "your ApiKey"; // 'your proxy'
const config = {
  proxy: 'your proxy', // bắt buộc; định dạng đầu vào: schema://user:password@host:port ví dụ: http://user:password@localhost:8080
  // platform: 'windows', // hỗ trợ: windows, mac, linux
  // kernel: 'chromium', // chỉ hỗ trợ: chromium
  // kernelMilestone: '128', // hỗ trợ: 128
  // args: {
  //     "--proxy-bypass-list": "detect.nstbrowser.io"
  // }, // đối số trình duyệt
  // 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 được hỗ trợ từ phiên bản v0.15.0
  // },
};
const query = new URLSearchParams({
  token: apiKey, // bắt buộc
  config: JSON.stringify(config),
});
const browserlessWSEndpoint = `https://less.nstbrowser.io/connect?${query.toString()}`;

const browser = await puppeteer.connect({
  browserWSEndpoint: browserlessWSEndpoint,
  defaultViewport: null,
})

const page = await browser.newPage();
await page.goto('https://finance.yahoo.com/quote/AAPL/');
await page.screenshot({ path: 'yahoo.png' });

try {
  await page.waitForSelector('.consent-overlay');
  // nhấp vào nút "chấp nhận tất cả"
  await page.click('.consent-overlay .accept-all');
} catch (e) {
  console.log('Cookie đã được xác thực');
}

const selector = '[data-symbol="AAPL"][data-field="regularMarketPrice"]';
const regularMarketPrice = await page.$eval(selector, el => el.innerText);
console.log(`Apple Giá cổ phiếu hiện tại là:${regularMarketPrice}`);
  • Đầu ra:
đầu ra thu thập

Bước 3. Cải thiện tập lệnh và sử dụng mã cổ phiếu làm tham số tập lệnh

Tuy nhiên, việc viết mã cổ phiếu trực tiếp trong mã không đủ linh hoạt. Vì vậy, chúng ta nên thêm mã sau vào đầu tập lệnh. Mã sau sẽ buộc tập lệnh phải chạy với tham số tập lệnh: mã cổ phiếu.

JavaScript Copy
const tickerSymbols = process.argv.slice(2);

if (tickerSymbols.length === 0) {
  console.error('Thiếu đối số dòng lệnh mã chứng khoán!');
  process.exit(2);
}

Vì có thể có nhiều mã cổ phiếu, chúng ta cần định nghĩa một mảng (stockList) để nhận kết quả thu thập. Trong mã sau, chúng ta sẽ sử dụng một vòng lặp đơn giản để duyệt và xử lý danh sách mã cổ phiếu được nhập.

JavaScript Copy
// Một mảng chứa tất cả dữ liệu thu thập
const stockList = [];

for (const tickerSymbol of tickerSymbols) {
  console.log(`Đang thu thập dữ liệu cho: ${tickerSymbol}`);

  // Điều hướng đến trang Yahoo Finance
  await page.goto(`https://finance.yahoo.com/quote/${tickerSymbol}`);

  try {
    await page.waitForSelector('.consent-overlay');
    // Nhấp vào nút "chấp nhận tất cả"
    await page.click('.consent-overlay .accept-all');
  } catch (e) { }

  // Định nghĩa bộ chọn bằng cách sử dụng chuỗi mẫu và ký hiệu chứng khoán
  const selectors = {
    regularMarketPrice: `[data-symbol="${tickerSymbol}"][data-field="regularMarketPrice"]`,
    regularMarketChange: `[data-symbol="${tickerSymbol}"][data-field="regularMarketChange"]`,
    regularMarketChangePercent: `[data-symbol="${tickerSymbol}"][data-field="regularMarketChangePercent"]`,
    preMarketPrice: `[data-symbol="${tickerSymbol}"][data-field="preMarketPrice"]`,
    preMarketChange: `[data-symbol="${tickerSymbol}"][data-field="preMarketChange"]`,
    preMarketChangePercent: `[data-symbol="${tickerSymbol}"][data-field="preMarketChangePercent"]`
  };

  // Khởi tạo một đối tượng trống để lưu trữ dữ liệu tài chính
  const financialData = { tickerSymbol };

  // Lặp qua từng bộ chọn để trích xuất nội dung văn bản
  for (const [key, selector] of Object.entries(selectors)) {
    try {
      financialData[key] = await page.$eval(selector, el => el.innerText);

      // Loại bỏ dấu ngoặc đơn cho giá trị phần trăm
      if (key.includes('ChangePercent')) {
        financialData[key] = financialData[key].replace('(', '').replace(')', '');
      }
    } catch {
      financialData[key] = 'N/A'; // Nếu không tìm thấy phần tử, giá trị được đặt thành N/A
    }
  }

  // Thêm dữ liệu tài chính của ký hiệu chứng khoán hiện tại vào mảng chứng khoán
  stockList.push(financialData);
}

console.log(JSON.stringify(stockList, null, 2));

Chạy tập lệnh sau:

JavaScript Copy
node yahoo.mjs AAPL TSLA

Nếu thành công, kết quả sau sẽ được in trên bảng điều khiển:

in kết quả

Bước 4. Xuất dữ liệu sang CSV

Rõ ràng, để phân tích dữ liệu tốt hơn, chỉ cần in dữ liệu trên bảng điều khiển là chưa đủ. Đây là một ví dụ đơn giản. Chỉ cần nối thủ công CSV sau, sau đó sử dụng mô-đun fs để tạo một tệp CSV của kết quả thu thập:

JavaScript Copy
// Tạo chuỗi csv và ghi vào tệp csv
let csvData = 'Ticker Symbol,Regular Market Price,Regular Market Change,Regular Market Change Percent,Pre Market Price,Pre Market Change,Pre Market Change Percent\n';
stockList.forEach(stock => {
  csvData += `${stock.tickerSymbol},${stock.regularMarketPrice},${stock.regularMarketChange},${stock.regularMarketChangePercent},${stock.preMarketPrice},${stock.preMarketChange},${stock.preMarketChangePercent}\n`;
});
fs.writeFileSync('stocks_data.csv', csvData);
  • Toàn bộ mã:
JavaScript Copy
import puppeteer from "puppeteer-core";
import fs from 'fs'

const tickerSymbols = process.argv.slice(2);

if (tickerSymbols.length === 0) {
  console.error('Thiếu đối số dòng lệnh mã chứng khoán!');
  process.exit(2);
}

const apiKey = "your ApiKey"; // 'your proxy'

const config = {
  proxy: 'your proxy', // bắt buộc; định dạng đầu vào: schema://user:password@host:port ví dụ: http://user:password@localhost:8080
  // platform: 'windows', // hỗ trợ: windows, mac, linux
  // kernel: 'chromium', // chỉ hỗ trợ: chromium
  // kernelMilestone: '128', // hỗ trợ: 128
  // args: {
  //     "--proxy-bypass-list": "detect.nstbrowser.io"
  // }, // đối số trình duyệt
  // 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 được hỗ trợ từ phiên bản v0.15.0
  // },
};

const query = new URLSearchParams({
  token: apiKey, // bắt buộc
  config: JSON.stringify(config),
});

const browserlessWSEndpoint = `https://less.nstbrowser.io/connect?${query.toString()}`;

const browser = await puppeteer.connect({
  browserWSEndpoint: browserlessWSEndpoint,
  defaultViewport: null,
})
console.info('Đã kết nối!');

const page = await browser.newPage();

// Một mảng chứa tất cả dữ liệu thu thập
const stockList = [];

for (const tickerSymbol of tickerSymbols) {
  console.log(`Đang thu thập dữ liệu cho: ${tickerSymbol}`);

  // Điều hướng đến trang Yahoo Finance
  await page.goto(`https://finance.yahoo.com/quote/${tickerSymbol}`);
  try {
    await page.waitForSelector('.consent-overlay');
    // Nhấp vào nút "chấp nhận tất cả"
    await page.click('.consent-overlay .accept-all');
  } catch (e) { }

  // Định nghĩa bộ chọn bằng cách sử dụng chuỗi mẫu và ký hiệu chứng khoán
  const selectors = {
    regularMarketPrice: `[data-symbol="${tickerSymbol}"][data-field="regularMarketPrice"]`,
    regularMarketChange: `[data-symbol="${tickerSymbol}"][data-field="regularMarketChange"]`,
    regularMarketChangePercent: `[data-symbol="${tickerSymbol}"][data-field="regularMarketChangePercent"]`,
    preMarketPrice: `[data-symbol="${tickerSymbol}"][data-field="preMarketPrice"]`,
    preMarketChange: `[data-symbol="${tickerSymbol}"][data-field="preMarketChange"]`,
    preMarketChangePercent: `[data-symbol="${tickerSymbol}"][data-field="preMarketChangePercent"]`
  };

  // Khởi tạo một đối tượng trống để lưu trữ dữ liệu tài chính
  const financialData = { tickerSymbol };

  // Lặp qua từng bộ chọn để trích xuất nội dung văn bản
  for (const [key, selector] of Object.entries(selectors)) {
    try {
      financialData[key] = await page.$eval(selector, el => el.innerText);
      // Loại bỏ dấu ngoặc đơn cho giá trị phần trăm
      if (key.includes('ChangePercent')) {
        financialData[key] = financialData[key].replace('(', '').replace(')', '');
      }
    } catch {
      financialData[key] = 'N/A'; // Nếu không tìm thấy phần tử, giá trị được đặt thành N/A
    }
  }

  // Thêm dữ liệu tài chính của ký hiệu chứng khoán hiện tại vào mảng chứng khoán
  stockList.push(financialData);
}

console.log(JSON.stringify(stockList, null, 2));

// Tạo chuỗi csv và ghi vào tệp csv
let csvData = 'Ticker Symbol,Regular Market Price,Regular Market Change,Regular Market Change Percent,Pre Market Price,Pre Market Change,Pre Market Change Percent\n';
stockList.forEach(stock => {
  csvData += `${stock.tickerSymbol},${stock.regularMarketPrice},${stock.regularMarketChange},${stock.regularMarketChangePercent},${stock.preMarketPrice},${stock.preMarketChange},${stock.preMarketChangePercent}\n`;
});
fs.writeFileSync('stocks_data.csv', csvData);

await browser.close();

Bây giờ, sau khi chạy tập lệnh, bạn không chỉ có thể thấy bảng điều khiển in ra, mà còn có thể thấy tệp stocks_data.csv được ghi trong đường dẫn hiện tại.

toàn bộ đầu ra

Kiểm tra bảng điều khiển Browserless

Bạn có thể xem thống kê cho các yêu cầu gần đây và thời gian phiên còn lại trong menu Browserless của ứng dụng khách Nstbrowser.

Kiểm tra bảng điều khiển Browserless

Kết luận

Browserless của Nstbrowser là một công cụ thu thập dữ liệu web và tự động hóa mạnh mẽ. Nó có thể dễ dàng bỏ qua việc phát hiện và đảm bảo sự ổn định khi thu thập giá cổ phiếu. Trong hướng dẫn này, bạn đã học được:

  • Tại sao Yahoo Finance lại quan trọng như vậy.
  • Cách trích xuất dữ liệu từ nó bằng Puppeteer và Browserless.

Yahoo Finance là một trang web động điển hình với công nghệ bảo vệ dữ liệu tiên tiến được tích hợp dựa trên các chức năng mạnh mẽ của JavaScript.

Vì vậy, nếu bạn muốn dễ dàng thu thập dữ liệu Yahoo Finance, bạn phải sử dụng một công cụ thu thập dữ liệu mạnh mẽ tương đương. Browserless miễn phí của chúng tôi cung cấp cho bạn cách thức thuận tiện và nhanh nhất để thu thập. Chỉ cần gọi một vài dòng mã, và bạn có thể làm được.

Bắt đầu sử dụng miễn phí ngay bây giờ!

Lưu ý: Bất kỳ dữ liệu và trang web nào được đề cập trong bài viết này chỉ nhằm mục đích minh họa. Chúng tôi kiên quyết phản đối các hoạt động bất hợp pháp và xâm phạm bản quyền. Nếu bạn có bất kỳ câu hỏi hoặc mối quan tâm nào, vui lòng liên hệ với chúng tôi ngay lập tức.

Hơn
http-2-bypass
Browserless
Phân tích dấu vân tay HTTP/2 và cách vượt qua nó?
Tìm hiểu cách vượt qua dấu vân tay HTTP/2 trong thu thập dữ liệu web với sáu phương pháp mạnh mẽ, từ việc sử dụng trình duyệt thực tế đến Browserless dựa trên đám mây. Tránh bị phát hiện bởi các biện pháp chống bot hiện đại.
Jun 03, 2025Carlos Rivera
Tải tiện ích mở rộng trình duyệt trong Nstbrowser Docker
Browserless
Cách tải tiện ích mở rộng trình duyệt trong Nstbrowser Docker?
Tìm hiểu 2 phương pháp tải tiện ích mở rộng trong Nstbrowser và các bước để khởi chạy chúng trong Docker.
Mar 19, 2025Tạ Quí Lĩnh
Khởi chạy hồ sơ Nstbrowser trong Docker
Browserless
Cách khởi chạy hồ sơ Nstbrowser trong Docker?
Tìm hiểu cách khởi chạy profile Nstbrowser trong Docker, đồng bộ dữ liệu giữa các môi trường và tự động hóa quy trình làm việc bằng API. Hướng dẫn này bao gồm mọi thứ từ thiết lập đến thực thi.
Mar 14, 2025Carlos Rivera
Cách sử dụng Browserless của Nstbrowser để tự động giải quyết Cloudflare Turnstile (2025)
BrowserlessCloudflare BypassHeadless Browser
Cách sử dụng Browserless của Nstbrowser để tự động giải quyết Cloudflare Turnstile (2025)
Tìm hiểu cách bỏ qua Cloudflare Turnstile bằng dịch vụ Browserless của Nstbrowser và Puppeteer. Hướng dẫn này sẽ hướng dẫn bạn thiết lập, triển khai và những lợi thế của việc tự động hóa các tác vụ thu thập dữ liệu web đồng thời đảm bảo sự tuân thủ và hiệu quả.
Mar 07, 2025Triệu Lệ Chi
Cách sử dụng Browserless của Nstbrowser để vượt qua thử thách Cloudflare 5s (2025)
BrowserlessCloudflare BypassHeadless Browser
Cách sử dụng Browserless của Nstbrowser để vượt qua thử thách Cloudflare 5s (2025)
Tìm hiểu cách bỏ qua Thử thách 5s của Cloudflare bằng dịch vụ Browserless của Nstbrowser và Puppeteer. Hướng dẫn này sẽ hướng dẫn bạn thiết lập, triển khai và những lợi thế của việc tự động hóa các tác vụ thu thập dữ liệu web đồng thời đảm bảo sự tuân thủ và hiệu quả.
Mar 06, 2025Robin Brown
Trình duyệt hỗ trợ trí tuệ nhân tạo
Browserless
Browserless: Trình duyệt mạnh mẽ hỗ trợ AI giúp đơn giản hóa tương tác web của bạn
Bài viết này khám phá sự tích hợp mạnh mẽ của các tác nhân AI với Browserless để hợp lý hóa và nâng cao việc thu thập dữ liệu web.
Jan 24, 2025Robin Brown
Mục lục