Cách thiết lập và sử dụng proxy trong Puppeteer

Bình luận: 0

Puppeteer là thư viện Node.js cho phép JavaScript kiểm soát các trình duyệt dựa trên crom như Google Chrome, Microsoft Edge, Opera và Brave. Nó đặc biệt hữu ích để tự động hóa các tác vụ trình duyệt như điều hướng các trang, tương tác với các yếu tố giao diện, tạo tệp PDF, chụp ảnh màn hình và thực hiện các bài kiểm tra dịch vụ. Một trong những tính năng chính của Puppeteer là hỗ trợ cho chế độ không đầu, trong đó trình duyệt hoạt động mà không có giao diện đồ họa. Chế độ này là tối ưu cho việc quét web vì nó tăng cường đáng kể tốc độ thu thập và phân tích dữ liệu.

Tiếp theo chúng tôi sẽ khám phá cách thiết lập và sử dụng proxy trong Puppeteer, một bước quan trọng để tối đa hóa các khả năng của thư viện này. Sử dụng proxy có lợi vì nhiều lý do:

  • Mô phỏng hành vi của người dùng: Bằng cách mô phỏng các hành động từ các thiết bị và địa chỉ IP khác nhau, có thể bắt chước trải nghiệm duyệt tự nhiên hơn;
  • Bỏ qua các biện pháp chống gian lận và captchas: proxy có thể giúp tránh phát hiện khi thực hiện nhiều yêu cầu từ một địa chỉ IP duy nhất trong một thời gian ngắn, có thể kích hoạt các biện pháp bảo mật như CAPTCHA;
  • Cân bằng tải: Phân phối các yêu cầu trên nhiều máy chủ có thể tăng tốc độ và hiệu quả cạo;
  • Khắc phục các hạn chế về địa lý: Proxy cho phép truy cập vào nội dung cụ thể theo vùng bằng cách bỏ qua các khối địa lý, cho phép thu thập dữ liệu cục bộ.

Những lợi thế này nhấn mạnh tầm quan trọng của việc tích hợp quản lý proxy trong các thiết lập Puppeteer để đảm bảo các tác vụ tự động hóa và tự động hóa thành công và hiệu quả.

Thiết lập proxy từng bước trong Puppeteer bằng JavaScript

Để thêm proxy vào Puppeteer và định cấu hình nó để sử dụng, hãy làm theo các bước hợp lý sau:

  1. Khởi chạy môi trường phát triển của bạn, chẳng hạn như Microsoft Visual Studio và chọn thư viện JavaScript.
  2. Sử dụng mã sau:
    
    
    const puppeteer = require('puppeteer');
    
    async function run() {
    const browser = await puppeteer.launch({
    headless: false,
    args: ['--proxy-server=PROXY_IP:PROXY_PORT']
    });
    const page = await browser.newPage();
    
    const pageUrl = 'https://example.com/';
    
    // Adding proxy authentication
    
    await page.authenticate({ username: 'PROXY_USERNAME', password: 'PROXY_PASSWORD' });
    await page.goto(pageUrl);
    }
    
    run();
     
  3. Các --Proxy-server = proxy_ip: đối số proxy_port định cấu hình trình duyệt để sử dụng proxy được chỉ định.
    • --proxy-server: Đây là một lá cờ được sử dụng trong đối số dòng lệnh để chỉ ra rằng trình duyệt nên định tuyến các yêu cầu mạng của nó thông qua máy chủ proxy.
    • PROXY_IP: Thay thế điều này bằng địa chỉ IP thực tế của máy chủ proxy bạn dự định sử dụng.
    • PROXY_PORT: Thay thế điều này bằng số cổng mà máy chủ proxy của bạn được cấu hình để nhận kết nối.

    Ví dụ: nếu proxy của bạn ở IP 111.111.11.11 và cổng 2020, thì mã sẽ trông giống như:

    
    args: ['--proxy-server=111.111.11.11 : 2020]
    
  4. Để sử dụng máy chủ proxy riêng, bạn phải cung cấp chi tiết xác thực. Chèn thông tin đăng nhập của bạn vào phương thức. Chẳng hạn, nếu tên người dùng của bạn là MyUser và mật khẩu của bạn là MyPass, hãy cập nhật mã như sau:
    await page.authenticate({ username: 'myUser', password: 'myPass' }); 
  5. Để chỉ định trang bắt đầu cho trình duyệt, hãy sửa đổi biến PageURL. Thay thế URL mặc định bằng cái bạn cần. Ví dụ: để đặt trang bắt đầu thành https://example.com/, mã sẽ là:
    const pageUrl = 'https://example.com/'; await page.goto(pageUrl); 

Sử dụng proxy trong Puppeteer để định tuyến tất cả lưu lượng truy cập trình duyệt thông qua một máy chủ được chỉ định có thể cực kỳ hữu ích. Nó cho phép bạn bỏ qua các hạn chế về địa lý, tăng cường tính ẩn danh trực tuyến và cân bằng tải trong các hoạt động cạo web.

Bình luận:

0 Bình luận