Linux 怎么运行 puppeteer

307 天前
 fescover

之前跑 puppeteer 都是在 windows 或者 macos 上,有可视化界面,通过 puppeteer 启动谷歌浏览器然后跑任务,但是像 debian ,centos 这种纯命令行的 linux, 没法安装 chrome 或者 chromium 浏览器,怎么运行 puppeteer 呢

2367 次点击
所在节点    Linux
13 条回复
0o0O0o0O0o
307 天前
headless mode 或者 xvfb
67373net
307 天前
我是先装一个 chromium ,再用 npm 装 puppeteer ,在 nodejs 里使用的,很久前弄的忘记细节了,好像当时匹配版本和缓存目录啥的折腾了一下
67373net
307 天前
好像记错了,是装的 chrome ,反正命令行的关键词是「无头模式」
dontLookAvatar
307 天前
docker
weijancc
307 天前
我以前在 windows 用 puppeteer 都是用无头模式的, 爬取更快, 在 Linux 上当然也可以
DingJZ
307 天前
puppeteer 的文档里有写啊
ck65
307 天前
跟着文档走吧,有手把手章节。我按照说明打包进 docker 镜像都可以,宿主环境运行不会更复杂。
512357301
306 天前
建议用一下午时间学一下 docker ,常用 linux 软件可以实现一键部署
param
306 天前
就算是 headless mode ,也要装一堆 gui 相关的依赖
defunct9
306 天前
现在天天在 ubuntu 下跑 puppyteer ,跟苹果的 gsx2 和自有的 boms 做交互,装个 rdp 就可以了
minicoder
306 天前
你的需求跟我很像
针对有反爬机制的网站,必须使用有头模式运行浏览器,否则会被目标网站抓取到特征值。
安装 xvfb 模拟桌面端环境 就可以解决你的问题。
bakaft
306 天前
“没法安装 chrome 或者 chromium 浏览器”

包管理器尽管 *可能* 会安装 GUI 相关的依赖,但是基本不会因为你没有屏幕或者桌面而阻碍你安装 Chrome/Chromium.
自 Chrome 59 起,安装中会随附无头 Chrome ,使用 `--headless`参数就可以了。

参考:
https://www.google.com/chrome/?platform=linux
https://support.google.com/chrome/a/answer/9025903?hl=en&ref_topic=9025817&sjid=16181384649920985311-AP
https://developer.chrome.com/blog/headless-chrome?hl=zh-cn#tldr
libook
306 天前
根据我个人的经验,除了 Ubuntu 以外,基本都可以安装 chrome 、chromium 来跑无头 puppeteer ,你直接装试试,实在不行就用别人打好的容器镜像,或者 browserless 这种项目。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1016632

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX