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

前提:我需要用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获得具体版本编号

Linux下如何安装使用puppeteer

像我的编号就是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'

Linux下如何安装使用puppeteer

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报错了……

Linux下如何安装使用puppeteer

5、修改代码

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

Linux下如何安装使用puppeteer

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

Linux下如何安装使用puppeteer

 

 

 

 

相关文章:

  • 2021-11-07
  • 2021-11-19
  • 2021-09-02
  • 2021-09-29
  • 2022-02-13
  • 2021-10-11
  • 2021-05-24
  • 2021-06-09
猜你喜欢
  • 2022-12-23
  • 2021-11-15
  • 2023-04-03
  • 2022-12-23
  • 2021-09-15
  • 2022-12-23
  • 2021-05-16
相关资源
相似解决方案