V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
fescover
V2EX  ›  Linux

Linux 怎么运行 puppeteer

  •  
  •   fescover · 2024-02-19 19:06:38 +08:00 · 2473 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    13 条回复    2024-02-20 16:51:35 +08:00
    0o0O0o0O0o
        1
    0o0O0o0O0o  
       2024-02-19 19:22:20 +08:00 via iPhone
    headless mode 或者 xvfb
    67373net
        2
    67373net  
       2024-02-19 21:26:14 +08:00
    我是先装一个 chromium ,再用 npm 装 puppeteer ,在 nodejs 里使用的,很久前弄的忘记细节了,好像当时匹配版本和缓存目录啥的折腾了一下
    67373net
        3
    67373net  
       2024-02-19 21:28:24 +08:00
    好像记错了,是装的 chrome ,反正命令行的关键词是「无头模式」
    dontLookAvatar
        4
    dontLookAvatar  
       2024-02-19 22:05:52 +08:00
    docker
    weijancc
        5
    weijancc  
       2024-02-19 22:15:43 +08:00
    我以前在 windows 用 puppeteer 都是用无头模式的, 爬取更快, 在 Linux 上当然也可以
    DingJZ
        6
    DingJZ  
       2024-02-19 23:39:04 +08:00
    puppeteer 的文档里有写啊
    ck65
        7
    ck65  
       2024-02-19 23:45:45 +08:00 via iPhone
    跟着文档走吧,有手把手章节。我按照说明打包进 docker 镜像都可以,宿主环境运行不会更复杂。
    512357301
        8
    512357301  
       2024-02-20 00:06:28 +08:00 via Android
    建议用一下午时间学一下 docker ,常用 linux 软件可以实现一键部署
    param
        9
    param  
       2024-02-20 06:09:50 +08:00 via Android
    就算是 headless mode ,也要装一堆 gui 相关的依赖
    defunct9
        10
    defunct9  
       2024-02-20 08:13:44 +08:00 via iPhone
    现在天天在 ubuntu 下跑 puppyteer ,跟苹果的 gsx2 和自有的 boms 做交互,装个 rdp 就可以了
    minicoder
        11
    minicoder  
       2024-02-20 11:12:24 +08:00   ❤️ 1
    你的需求跟我很像
    针对有反爬机制的网站,必须使用有头模式运行浏览器,否则会被目标网站抓取到特征值。
    安装 xvfb 模拟桌面端环境 就可以解决你的问题。
    bakaft
        12
    bakaft  
       2024-02-20 16:43:34 +08:00
    “没法安装 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
        13
    libook  
       2024-02-20 16:51:35 +08:00
    根据我个人的经验,除了 Ubuntu 以外,基本都可以安装 chrome 、chromium 来跑无头 puppeteer ,你直接装试试,实在不行就用别人打好的容器镜像,或者 browserless 这种项目。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2649 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:20 · PVG 23:20 · LAX 07:20 · JFK 10:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.