基于nodejs进行爬虫脚本编写,依赖puppeteer模块,在本地正常运行; 部署到服务器后puppeteer的chrome相关模块报错
导致这种情况一般有两种原因
一、安装chrome版本错误
查看报信息,安装所需对应版本(此方法同样适用于本地的报错)
npx puppeteer browsers install chrome@119.0.6045.105
@119.0.6045.105为自己报错信息所需版本号
二、提示缺少chrome相关依赖
需要手动下载安装依赖
1、进入根目录下chrome的相关目录
/root/.cache/puppeteer/chrome/linux-125.0.6422.78/chrome-linux64
2、进入该路径后执行下面命令 ,查看缺少哪些依赖
ldd chrome | grep not
3、安装相关依赖
yum install ***
4、升级相关依赖
yum update nss -y
5、在脚本中修改启动配置项
const browser = await puppeteer.launch({
headless: 'shell',
args: ['--no-sandbox', '--disable-setuid-sandbox', '--enable-gpu'],
});
6、如果有截屏需求,需要安装中文字体
执行yum install wqy-microhei-fonts.noarch -y
或者yum install wqy-unibit-fonts.noarch -y