在CentOS系统下安装和配置Puppeteer,可以帮助你进行自动化测试和网页抓取。Puppeteer是一个Node库,它提供了一个高级API来通过DevTools协议控制Chrome或Chromium。以下是详细的安装与配置步骤。
1. 环境准备
在开始之前,确保你的CentOS系统满足以下条件:
Node.js环境:Puppeteer需要Node.js环境,版本建议在8.0以上。
npm(Node.js包管理器):用于安装Puppeteer。
你可以通过以下命令检查Node.js和npm的版本:
node -v
npm -v
如果版本过低,请先升级Node.js和npm。
2. 安装Node.js和npm
如果系统中没有安装Node.js和npm,可以通过以下命令进行安装:
sudo yum install -y epel-release
sudo yum install -y nodejs npm
安装完成后,再次运行
node -v
和
npm -v
命令确认版本。
3. 安装Puppeteer
安装Puppeteer可以通过npm全局安装,命令如下:
sudo npm install puppeteer -g
安装过程中,可能会遇到依赖问题。这时,你可以尝试安装依赖:
sudo yum install -y libgtk-3-dev libnss3-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxext-dev libxfixes-dev libxi-dev libxrandr-dev libxrender-dev libxss-dev libxtst-dev
安装完成后,通过
puppeteer –version
命令检查Puppeteer版本。
4. 配置Puppeteer
在配置Puppeteer之前,确保你的CentOS系统中有足够的内存和CPU资源。以下是一些常见的配置选项:
4.1 设置用户代理
const puppeteer = require(‘puppeteer’);
(async () => {
const browser = await puppeteer.launch({
args: [‘–user-agent=”Mozilla/5.0 (Windows NT 10.0; Win64; x64)”‘]
});
const page = await browser.newPage();
await page.goto(‘https://example.com’);
// …其他操作
await browser.close();
})();
4.2 设置无头模式
const puppeteer = require(‘puppeteer’);
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto(‘https://example.com’);
// …其他操作
await browser.close();
})();
4.3 设置超时时间
const puppeteer = require(‘puppeteer’);
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(‘https://example.com’, { waitUntil: ‘networkidle2’, timeout: 30000 });
// …其他操作
await browser.close();
})();
4.4 设置代理
const puppeteer = require(‘puppeteer’);
(async () => {
const browser = await puppeteer.launch({
args: [‘–proxy-server=your.proxy.server:port’]
});
const page = await browser.newPage();
await page.authenticate({
username: ‘your_username’,
password: ‘your_password’
});
await page.goto(‘https://example.com’);
// …其他操作
await browser.close();
})();
5. 使用Puppeteer
现在你已经成功安装和配置了Puppeteer,可以开始编写脚本进行自动化测试或网页抓取。以下是一个简单的示例:
const puppeteer = require(‘puppeteer’);
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(‘https://example.com’);
const title = await page.title();
console.log(title);
await browser.close();
})();
通过以上步骤,你可以在CentOS系统下成功安装和配置Puppeteer。希望这篇文章能帮助你更好地了解Puppeteer的安装与配置。