- vừa được xem lúc

Hướng dẫn chi tiết thiết lập API chụp ảnh màn hình Puppeteer trên Ubuntu

0 0 2

Người đăng: Thái Thịnh

Theo Viblo Asia

Hướng dẫn này bao gồm thiết lập ứng dụng Node.js bằng Puppeteer, ứng dụng này sẽ hoạt động như một API để chụp ảnh màn hình. Hãy cùng theo dõi nhé:

1. Cập nhật và nâng cấp hệ thống

Đầu tiên, hãy cập nhật và nâng cấp hệ thống của bạn để đảm bảo tất cả các gói đều được cập nhật.

sudo apt update && sudo apt upgrade -y

2. Cài đặt Node.js và NPM

Bạn sẽ cần Node.js và npm để chạy Puppeteer. Cài đặt chúng bằng kho lưu trữ Node.js chính thức.

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

Xác minh cài đặt:

node -v
npm -v

3. Tạo một thư mục dự án

Tạo thư mục cho dự án Puppeteer của bạn.

mkdir puppeteer-screenshot-api
cd puppeteer-screenshot-api

4. Khởi tạo một dự án Node.js

Khởi tạo một dự án Node.js mới.

npm init -y

Thao tác này sẽ tạo một tệp package.json có các giá trị mặc định.

5. Cài đặt các phụ thuộc cần thiết

Cài đặt các phần phụ thuộc cần thiết cho Puppeteer và Express để thiết lập API.

npm install express puppeteer

6. Viết API Ảnh chụp màn hình Puppeteer

Tạo một tệp có tên index.js trong thư mục dự án của bạn và thêm đoạn mã sau:

const express = require('express');
const puppeteer = require('puppeteer');
const app = express();
const port = 3000; // Screenshot endpoint
app.get('/screenshot', async (req, res) => { const { url } = req.query; if (!url) { return res.status(400).send('Please provide a URL'); } try { const browser = await puppeteer.launch({ args: ['--no-sandbox', '--disable-setuid-sandbox'] // Necessary for running Puppeteer on Ubuntu }); const page = await browser.newPage(); await page.goto(url, { waitUntil: 'networkidle2' }); const screenshot = await page.screenshot({ fullPage: true }); await browser.close(); // Set content type and send screenshot res.setHeader('Content-Type', 'image/png'); res.send(screenshot); } catch (error) { console.error(error); res.status(500).send('Error capturing screenshot'); }
}); app.listen(port, () => { console.log(`Puppeteer Screenshot API is running on http://localhost:${port}`);
});

7. Chạy Puppeteer API

Chạy máy chủ bằng Node.js:

node index.js

Máy chủ hiện đang chạy trên http://localhost:3000. Bạn có thể kiểm tra bằng cách truy cập URL sau trong trình duyệt của bạn:

http://localhost:3000/screenshot?url=https://example.com

Nó sẽ trả về ảnh chụp màn hình PNG của URL được cung cấp.

8. Cài đặt các phụ thuộc của Puppeteer

Đôi khi Puppeteer yêu cầu các phụ thuộc bổ sung cho Ubuntu. Cài đặt chúng bằng cách chạy:

sudo apt install -y libxshmfence1 libasound2 libgbm-dev libgtk-3-0 libnss3 libxss1 libxtst6 xdg-utils

9. Chạy Puppeteer như một dịch vụ nền

Nếu bạn muốn API Puppeteer chạy ở chế độ nền và tự động khởi động sau khi khởi động lại, bạn có thể thiết lập nó như một dịch vụ systemd.

Đầu tiên, hãy tạo tệp dịch vụ cho API Puppeteer của bạn.

 sudo nano /etc/systemd/system/puppeteer-screenshot.service

Tiếp theo, thêm nội dung này vào tệp:

[Unit] Description=Puppeteer Screenshot API After=network.target [Service] ExecStart=/usr/bin/node /path/to/your/puppeteer-screenshot-api/index.js Restart=on-failure User=your-username Environment=NODE_ENV=production [Install] WantedBy=multi-user.target

Thay thế /path/to/your/puppeteer-screenshot-api/index.js bằng đường dẫn thực tế của dự án của bạn.

Kế đến, hãy kích hoạt và khởi động dịch vụ:

sudo systemctl enable puppeteer-screenshot sudo systemctl start puppeteer-screenshot

Cuối cùng, hãy kiểm tra lại trạng thái:

 sudo systemctl status puppeteer-screenshot

10. Kiểm tra API

Bây giờ bạn có thể gửi yêu cầu đến máy chủ của mình để chụp ảnh màn hình.

curl "http://localhost:3000/screenshot?url=https://example.com" --output example.png

Thao tác này sẽ lưu ảnh chụp màn hình dưới dạng example.png.

Hy vọng các bạn thấy mẹo vặt trong bài viết này hữu ích.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 1- Lịch sử)

1. Vì sao nên sử dụng. . .

0 0 104

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 2 - Dockerfile)

1. Mở đầu.

0 0 67

- vừa được xem lúc

Cách Tạo Và Sử Dụng Bash Script Cơ Bản Trong Ubuntu

Bash scripting là một phần cực kỳ mạnh mẽ và hữu ích của phát triển và quản trị hệ thống. Lần đâu tiên làm việc với nó có thể gây cho bạn cảm giác sợ hải và phức tạp, mình hy vọng hướng dẫn này sẽ giúp có những hiểu biết cơ bản về bash script để không bị bở ngở khi làm việc với nó.

0 0 62

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 5

Hello 500 ae, sau 4 số trong seri này mình thấy có vẻ ae có hứng thú đọc chủ đề này ghê. Hi vọng những gì mình tìm hiểu được sẽ giúp ích được cho nhiều bạn hơn.

0 0 51

- vừa được xem lúc

Các command trên ubuntu (chiếm 80%) - phần 4

Sau một kì nghỉ tết trong thời buổi đại dịch vừa qua. Không còn những buổi dong chơi đi chúc tết nữa. Ở nhà ra số tiếp theo cho anh em đây. Dưới đây sẽ là 2 command được sử dụng nhiều nhất khi sử dụng file.

0 0 52

- vừa được xem lúc

Tài khoản người sử dụng và phân quyền truy cập tệp trên Ubuntu (P1)

Hôm nay, mình sẽ giới thiệu cho mọi người về Tài khoản người sử dụng (NSD) và phân quyền truy cập trên Ubuntu. Bài viết này được chia thành hai phần: phần một nói về tài khoản người sử dụng và phần hai nói về quyền truy cập trên Ubuntu.

0 0 43