之前跑 puppeteer 都是在 windows 或者 macos 上,有可视化界面,通过 puppeteer 启动谷歌浏览器然后跑任务,但是像 debian ,centos 这种纯命令行的 linux, 没法安装 chrome 或者 chromium 浏览器,怎么运行 puppeteer 呢
之前跑 puppeteer 都是在 windows 或者 macos 上,有可视化界面,通过 puppeteer 启动谷歌浏览器然后跑任务,但是像 debian ,centos 这种纯命令行的 linux, 没法安装 chrome 或者 chromium 浏览器,怎么运行 puppeteer 呢
|
0o0O0o0O0oFeb 19, 2024 via iPhone
1
headless mode 或者 xvfb
|
|
67373netFeb 19, 2024
2
我是先装一个 chromium ,再用 npm 装 puppeteer ,在 nodejs 里使用的,很久前弄的忘记细节了,好像当时匹配版本和缓存目录啥的折腾了一下
|
|
67373netFeb 19, 2024
3
好像记错了,是装的 chrome ,反正命令行的关键词是「无头模式」
|
|
dontLookAvatarFeb 19, 2024
4
docker
|
|
weijanccFeb 19, 2024
5
我以前在 windows 用 puppeteer 都是用无头模式的, 爬取更快, 在 Linux 上当然也可以
|
|
DingJZFeb 19, 2024
6
puppeteer 的文档里有写啊
|
|
mogitaFeb 19, 2024 via iPhone
7
跟着文档走吧,有手把手章节。我按照说明打包进 docker 镜像都可以,宿主环境运行不会更复杂。
|
|
512357301Feb 20, 2024 via Android
8
建议用一下午时间学一下 docker ,常用 linux 软件可以实现一键部署
|
|
paramFeb 20, 2024 via Android
9
就算是 headless mode ,也要装一堆 gui 相关的依赖
|
|
defunct9Feb 20, 2024 via iPhone
10
现在天天在 ubuntu 下跑 puppyteer ,跟苹果的 gsx2 和自有的 boms 做交互,装个 rdp 就可以了
|
|
11
你的需求跟我很像
针对有反爬机制的网站,必须使用有头模式运行浏览器,否则会被目标网站抓取到特征值。 安装 xvfb 模拟桌面端环境 就可以解决你的问题。 |
|
bakaftFeb 20, 2024
12
“没法安装 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 |
|
libookFeb 20, 2024
13
根据我个人的经验,除了 Ubuntu 以外,基本都可以安装 chrome 、chromium 来跑无头 puppeteer ,你直接装试试,实在不行就用别人打好的容器镜像,或者 browserless 这种项目。
|