Linux 机器安装nodejs 及puppeteer

  • Post author:
  • Post category:linux


写在开始:

本节主要是为了在新机器上部署爬虫任务,用到了node和puppeteer,将整个流程列下来以做记录。

参考链接:


小白安装nodejs



centos安装puppeteer爬坑

第一部分:安装nodejs

1. 获取nodejs


nodejs官网下载地址

如果是远程机器,终端执行下语句(后不赘述),选择最新的版本可自行替换链接

wget -c https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz

2.解压

tar -xvf node-v10.16.3-linux-x64.tar.xz

3. 移动文件夹

将文件夹移动到用户目录下,并重命名为node(通常该步骤是便于应用程序使用)

mv node-v10.16.3-linux-x64 ~/node

4. 建立软连接

相当于分别为node和npm添加环境变量

sudo ln -s ~/node/bin/node /usr/local/bin/node
sudo ln -s ~/node/bin/npm /usr/local/bin/npm

5.添加环境变量

和上步略有重复,不过建议加上

sudo vim /etc/profile; 
//特别提醒:如果前文移动目录自定义,这里也要同步修改
//打开vim配置文件,vim简单用法自查,在最后加上如下两行:
//export NODE_HOME=~/node/bin
//export PATH=$NODE_HOME:$PATH

6.自测

node -v
//打印版本号说明安装成功

至此,安装nodejs部分完成,Congratulations。

第二部分:安装puppeteer

写在最开始,node对于路径很看重,因此把模块安装在哪个目录下很关键,否则你的js文件可能因为缺少模块而不能运行

如果完成上述node安装,你的node所在路径应该是~/node,之后的包安装都在~/node下进行

1.安装

执行下列语句后,如果该目录下出现node_modules,说明安装成功

//确保进入node文件夹下
cd ~/node 
//安装puppeteer,不下载chrome
npm install puppeteer --ignore-scripts --save

2.获取chrome

查看所需chrome版本号:版本号可以在

node_modules/puppeteer/package.json



puppeteer.chromium_revision

获得,现在是686378(2019.9.25),根据puppeteer需要自行替换,后续用%d代替(必须,否则puppeteer特性可能不支持)

wget -c 'https://storage.googleapis.com/chromium-browser-snapshots/Linux_x64/686378/chrome-linux.zip'

3.将chrome放在指定目录下

cd node_modules/puppeteer/ 
// .不能少
mkdir .local-chromium
cd .local-chromium
// 686378:%d 根据自己的替换
mkdir linux-686378
cd linux-686378
// 如果上述按照步骤来走,移动文件夹,否则,自行替换路径
mv ~/node/chrome-linux.zip ~/node/node_modules/puppeteer/.local-chromium/linux-686378/chrome-linux.zip
//解压
unzip chrome-linux.zip

4.安装依赖(不可忽略)

#依赖库
sudo yum install pango.x86_64 libXcomposite.x86_64 libXcursor.x86_64 libXdamage.x86_64 libXext.x86_64 libXi.x86_64 libXtst.x86_64 cups-libs.x86_64 libXScrnSaver.x86_64 libXrandr.x86_64 GConf2.x86_64 alsa-lib.x86_64 atk.x86_64 gtk3.x86_64 nss.x86_64 -y

#字体
sudo yum install ipa-gothic-fonts xorg-x11-fonts-100dpi xorg-x11-fonts-75dpi xorg-x11-utils xorg-x11-fonts-cyrillic xorg-x11-fonts-Type1 xorg-x11-fonts-misc -y

5.自测

cd ~/node
// 建立文件,此后要跑的js建议都放在这里
vim test.js

test.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.baidu.com');
  await page.screenshot({path: 'author3q.png'});
  await browser.close();
})();

在该目录下运行:

node test.js

如果目录下有author3q.png,说明一切就绪,Congratulations!

———————–

梦想着做一个游戏开发者,绕来绕去又成为服务器开发了,世事难料,诸君共勉



版权声明:本文为a1459078670原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。