参考
- QQ群 - Javascript高级爬虫 - 作者自建群,欢迎加入!
- awesome-java-crawler - 作者收集的爬虫相关工具和资料
- 一个帮你自动创建阿里云抢占式实例并开启网络加速的脚本 - 自动创建阿里云海外抢占式节点
- Squid+SSH Tunnel实现加密代理 - 可以参考这篇文章配置SSH免登录
- CentOS上安装node.js二进制发布包 - CentOS上安装nodejs最新版
前言
要把puppeteer正常安装部署到CentOS7上并能正常显示网页,不像在Windows上那么简单,网上建议用现成的docker镜像,我这里总结下直接安装方案,其实也超简单。
步骤
- 安装nodejs,请见参考
- 安装cnpm.
npm install cnpm -g
;如果服务器在墙外则可以忽略此步 -
安装puppeteer.
- 通常是在项目目录(含package.json)里安装所有依赖库时一起安装,即执行:
cnpm install
- 如果只是为了测试可以直接安装在当前目录:
cnpm install puppeteer
- 安装完了可以用下面命令看一下chrome可执行文件还缺失哪些依赖库(版本号可能不同):
ldd node_modules/puppeteer/.local-chromium/linux-706915/chrome-linux/chrome
- 通常是在项目目录(含package.json)里安装所有依赖库时一起安装,即执行:
- 安装缺失的依赖库:
yum install -y alsa-lib.x86_64 atk.x86_64 cups-libs.x86_64 GConf2.x86_64 gtk3.x86_64 ipa-gothic-fonts libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXrandr.x86_64 libXScrnSaver.x86_64 libXtst.x86_64 pango.x86_64 wqy-unibit-fonts.noarch wqy-zenhei-fonts.noarch xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-fonts-cyrillic xorg-x11-fonts-misc xorg-x11-fonts-Type1 xorg-x11-utils
至此,安装完成,可以验证了。
验证
-
编写index.js,内容如下:
const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']}); const page = await browser.newPage(); await page.goto('https://www.segmentfault.com'); await page.screenshot({path: 'sf.png'}); await browser.close(); })();
注意:
1) 必须加上--no-sandbox
参数启动chrome,否则报错
2) 默认就是以无头(无界面)模式启动chrome,即自带--headless
参数 -
node index.js
执行上述脚本,会在当前目录下产生思否首页截图,可以打开看看,验证是否正常显示中文
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。