Linux下如何安装使用puppeteer

简介: Linux下如何安装使用puppeteer

前提:

我需要用puppeteer实现抓取并下载百度图片中指定关键词的前100张图片,

程序在本地(Windows)下可以正常运行,

但是部署到服务器(Linux)上 就总是报错:cannot find module 'puppeteer'或是'failed to launch the browser porcess!' 。

诸如此类的报错,虽然知道是和puppeteer的安装有关,

但是一直没找到如何在Linux下正确的安装(Windows下如果使用npm安装不成功,可以使用cnpm安装),

以下是在掘金上找到的一个方法,亲测有效,记录一下。

1、先将项目上传到Linux下,然后先npm install安装项目所需依赖,会报错cannot find module 'puppeteer',接下来开始安装puppeteer

2、忽略Chromium安装puppeteer

npm install puppeteer --ignore-scripts --save

3、下载一个Chromium放到指定位置

3.1 在node_modules/puppeteer/package.json中puppeteer.chromium_revision获得具体版本编号

像我的编号就是722234

3.2 下载对应编号的Chromium。各平台的下载地址如下,需要将%d替换成你查找到的编号,比如我的下载地址为:https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/722234/chrome-linux.zip

linux: 'https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/%d/chrome-linux.zip',

mac: 'https://storage.googleapis.com/chromium-browser-snapshots/Mac/%d/chrome-mac.zip',

win32: 'https://storage.googleapis.com/chromium-browser-snapshots/Win/%d/chrome-win32.zip',

win64: 'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/%d/chrome-win32.zip'

3.3 下载后将压缩包上传到服务器,存储位置为node_modules/puppeteer/.local-chromium/linux-%d,然后解压即可

ps: .local-chromium/linux-%d文件夹需要自己创建,同样将%d替换为具体编号

4、安装相关依赖(测试的时候不安装也正常运行了……)

依赖库

yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 nss.x86_64 -y

字体

yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

用yum安装,不要用npm,因为我用npm报错了……

5、修改代码

以下三处红框框出来的代码必须要添加,headless必须设为true(无头模式),pathToExtension处的地址修改为自己前面安装的Chromium地址就行

6、都弄好后,再在xshell里测试就发现测试成功了

【补充】在最新一次安装puppeteer运行程序后报错,我在2020-4-23安装的puppeteer时版本已经是3以上了,安装的Chromium版本是737027,在网上查了很多资料都没有找到解决办法,最后决定回退到puppeteer@2.1.1,因为此时的Chromium版本是722234

1)删除puppeteer

npm uninstall puppeteer

2)重新安装2.1.1版本的puppeteer

npm install puppeteer@2.1.1 --ignore-scripts --save

3)后面的步骤再像前面记录的那样走就行了

最后在运行就没有报这个错误了

参考地址:https://juejin.im/post/5db69d8b6fb9a020462c61bf

作者: Bill 本文地址: http://biaoblog.cn/info?id=1616032980000

版权声明: 本文为原创文章,版权归 biaoblog 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关文章
|
4天前
|
NoSQL 网络协议 Linux
Linux下安装使用Redis
Linux下安装使用Redis
|
8月前
|
Linux Python
百度搜索:蓝易云【Linux系统下安装使用anaconda教程。】
以上是在Linux系统下安装和使用Anaconda的基本步骤。安装完成后,你可以根据自己的需要创建环境、安装软件包,并使用Python和数据科学工具进行开发和分析工作。
348 0
|
4天前
|
负载均衡 前端开发 应用服务中间件
【Linux】Nginx安装使用负载均衡及动静分离(前后端项目部署),前端项目打包
【Linux】Nginx安装使用负载均衡及动静分离(前后端项目部署),前端项目打包
392 0
|
7月前
|
Linux Python
百度搜索:蓝易云【如何在 Linux 环境下安装使用 pycharm?】
现在,您已成功在Linux环境下安装和使用PyCharm。您可以使用PyCharm进行Python开发和编程工作。
139 5
|
9月前
|
自然语言处理 Ubuntu Linux
Baumer工业相机堡盟相机在Linux系统下安装使用CameraExplorer软件和相机IP设置工具
Baumer工业相机堡盟相机在Linux系统下安装使用CameraExplorer软件和相机IP设置工具
116 0
|
5月前
|
存储 监控 Ubuntu
Linux下sysstat安装使用图文详解
Linux下sysstat安装使用图文详解
216 0
Linux下sysstat安装使用图文详解
|
弹性计算 安全 Linux
宝塔Linux面板安装使用教程by阿里云服务器
使用阿里云服务器安装宝塔面板教程,阿里云服务器网以CentOS操作系统为例,安装宝塔Linux面板,先远程连接到云服务器,然后执行宝塔面板安装命令,系统会自动安装宝塔面板,安装完成后会返回面板地址、账号和密码。阿里云服务器网来详细说下阿里云服务器安装宝塔面板教程,超简单,一步步跟着操作即可。
|
存储 分布式计算 Hadoop
hadoop安装使用的命令+linux基本操作命令+HDFS常用命令
一、Hadoop基本安装主要包括以下6个步骤: 1.创建Hadoop用户。 2.更新apt和安装Vim编辑器。 3.安装SSH和配置SSH无密码登录。 4.安装Java环境。 5.安装单机Hadoop。 6.HDFS:启动
402 0
|
分布式计算 安全 Unix
linux简介及安装使用
linux简介及安装使用
linux简介及安装使用
|
Linux C语言
rocky linux 8.6安装使用gcc 9的方法总结
rocky linux 8.6安装使用gcc 9的方法总结
765 0