Linux安装headless

  1. 安装node

  2. 安装依赖

    #依赖
    yum install \
    atk \
    nss \
    gtk3 \
    libXi \
    GConf2 \
    libXext \
    libXtst \
    alsa-lib \
    libXrandr \
    cups-libs \
    libXcursor \
    libXdamage \
    pango.x86_64 \
    libXcomposite \
    libXScrnSaver \
    -y
    
    #字体
    yum install \
    xorg-x11-utils \
    ipa-gothic-fonts \
    xorg-x11-fonts-misc \
    xorg-x11-fonts-75dpi \
    xorg-x11-fonts-Type1 \
    xorg-x11-fonts-100dpi \
    xorg-x11-fonts-cyrillic \
    -y
    
  3. 创建项目并安装puppeteer

    useradd www
    mkdir /www
    mkdir /www/test
    chown -R www:www /www
    cd /www/test
    su www
    npm init
    # 这步操作会安装chrome↓(注意,网速不好会报错,结束重新执行即可)
    npm install puppeteer
    
  4. 安装中文字体

    # 创建中文字体目录truetype
    mkdir /usr/share/fonts/truetype
    
    # 中文字体文件移至目录truetype
    
    # 检查字体是否生效
    fc-list :lang=zh
    
  5. 开始使用

    vim index.js
    
    const url = 'https://www.baidu.com';
    const fs = require('fs');
    const puppeteer = require('puppeteer');
    (async()=>{
        const browser = await puppeteer.launch({
            dumpio: false,
            headless: true,
            devtools: false,
            args: [
                '--mute-audio',
                '--no-sandbox',
                '--disable-gpu',
                '--hide-scrollbars',
                '--disable-extensions',
                '--disable-setuid-sandbox',
                '--disable-bundled-ppapi-flash'
            ]
        });
        const page=await browser.newPage();                                                            //打开标签
        await page.goto(url);                                                                          //打开链接
        await page.setViewport({width:1928,height:3856});                                              //设置宽高
        await page.evaluate(()=>{Object.defineProperties(navigator,{webdriver:{get:()=>false}})})      //防反爬虫
        await page.screenshot({path:'test.png'});                                                      //存为图片
        await page.pdf({path:'test.pdf',format:'A4'});                                                 //存为文档
        await fs.writeFileSync('test.html',await page.$eval('html',el=>el.outerHTML));                 //存为网页
        await page.waitFor(1000);                                                                      //等待一秒
        await browser.close();                                                                         //关浏览器
    })();
    
    ESC
    :wq
    
    node index.js
    
  6. 参考链接

  7. 参考链接

  8. 参考链接

  9. 参考链接

Copyright © 豆包嘿嘿~ 2012-∞ 冀ICP备17033181号 all right reserved,powered by Gitbook修订: 2020-03-26 14:23:53

results matching ""

    No results matching ""