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。

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 个人博客 所有,欢迎分享本文,转载请保留出处,谢谢!

相关文章
|
网络协议 安全 Android开发
软件丨李跳跳们现在该如何跳呢?
前段时间,李跳跳等软件被某大厂发了律师函,之后,好些个跳广告软件都相继发布公众号说明,停止维护软件,并且下架了相关软件,那我们还能跳吗?该怎么跳呢?
2511 0
软件丨李跳跳们现在该如何跳呢?
|
3月前
|
存储 Java 开发工具
阿里云OSS从零到一完全对接指南:开通、配置、SDK集成与成本优化
本文提供一份从零开始的阿里云对象存储OSS完整对接指南。涵盖新用户开通服务、创建Bucket时的关键参数选择(地域、存储类型、读写权限)、多种文件上传方式(控制台拖拽、ossutil命令行、Python/Java/Node.js等多语言SDK)、私有文件的签名URL生成与自定义域名绑定、以及生命周期管理、CORS跨域、防盗链等安全配置。在成本优化部分,重点讲解了同地域ECS内网访问免流量、冷数据转低频/归档存储、监控外网流量防止盗刷等实战技巧。文章最后附有5个常见问题解答,帮助开发者快速上手并安全高效地使用OSS。
|
人工智能 数据可视化 API
私有化部署大模型并配置可视化界面
Ollama 是一款专为大模型本地私有化部署设计的轻量级工具,支持跨平台运行,兼容 Windows、macOS、Linux 系统及多种硬件架构。通过简单的命令行操作,用户可一键启动、下载与管理主流大语言模型,如 Llama 3、Mistral、Gemini、Phi 等。其核心优势在于自动化处理模型依赖、资源调度及环境配置,大幅简化部署流程,即使非专业技术人员也能快速上手。Ollama 的本地运行模式确保数据全程在私有环境流转,规避隐私泄露风险,适用于企业内部知识库、客服助手、本地数据分析等场景。
2505 0
私有化部署大模型并配置可视化界面
|
安全 Linux
CentOS下载ISO镜像的方法
访问CentOS官方网站(https://www.centos.org/download/),在“Downloads”页面找到ISO镜像下载链接,选择所需版本和架构(如x86_64)开始下载。CentOS分为Linux版和Stream版,前者每两年发行一次并提供10年安全维护,后者为滚动更新。旧版本可在Vault(https://vault.centos.org/)下载。建议选择DVD格式镜像,包含完整系统和常用软件。
35204 16
CentOS下载ISO镜像的方法
|
小程序 JavaScript 前端开发
微信小程序开发全流程:从注册到上线的完整指南
这篇文章详细记录了微信小程序的完整开发到最终上线的每一个步骤。适合对小程序开发感兴趣的个人开发者或希望了解完整流程的学习者,涵盖了云开发、事件绑定、生命周期管理、组件使用等关键内容。
25178 14
|
虚拟化 Windows
VMwareWorkstationPro16的下载与安装,以及vm账号注册的问题
本文介绍了VMware Workstation Pro 16的下载、安装过程以及VMware账号的注册问题,包括如何检查虚拟化支持是否开启、VMware的下载步骤、注册VM账号时的常见问题以及VMware 16的安装步骤。
VMwareWorkstationPro16的下载与安装,以及vm账号注册的问题
|
缓存 JavaScript 前端开发
拿下奇怪的前端报错(三):npm install卡住了一个钟- 从原理搞定安装的全链路问题
本文详细分析了 `npm install` 过程中可能出现的卡顿问题及解决方法,包括网络问题、Node.js 版本不兼容、缓存问题、权限问题、包冲突、过时的 npm 版本、系统资源不足和脚本问题等,并提供了相应的解决策略。同时,还介绍了开启全部日志、使用替代工具和使用 Docker 提供 Node 环境等其他处理方法。
16886 2
|
移动开发 HTML5
分享小诗梦404炫酷单页面html5源码
分享小诗梦404炫酷单页面html5源码,小诗梦的一个很炫酷页面,感觉应该符合一些人的感觉!可以用来做404页面。
596 1
分享小诗梦404炫酷单页面html5源码
|
开发框架 网络协议 Java
SpringBoot WebSocket大揭秘:实时通信、高效协作,一文让你彻底解锁!
【8月更文挑战第25天】本文介绍如何在SpringBoot项目中集成WebSocket以实现客户端与服务端的实时通信。首先概述了WebSocket的基本原理及其优势,接着详细阐述了集成步骤:添加依赖、配置WebSocket、定义WebSocket接口及进行测试。通过示例代码展示了整个过程,旨在帮助开发者更好地理解和应用这一技术。
1373 1