Laravel 框架使用 QueryList 实现网络爬虫采集

编辑于:2019年10月28日
Laravel 框架使用 QueryList 实现网络爬虫采集

最近观摩了飞哥使用Laravel框架和QueryList工具实现数据采集的过程,从中学会了ComposerLaravelNodejs-8QueryListComposer的安装,虫子菌分享如下。

1.项目部署环境

  • ⭕CentOS Linux 7.6
  • ⭕宝塔面板
  • ⭕Nginx 1.16.0
  • ⭕MySQL 5.7.25
  • ⭕PHP-7.2(7.3会有报错)

2.PHP设置

proc_open

PHP函数proc_open默认是被禁用的,会导致Laravel时报错,所以我们从禁用函数列表中将proc_open删除。

fileinfo

fileinfo是PHP的通用扩展,用于获取文件MIME,编码等信息,本项目会使用该扩展,所以进行预先安装

3.安装Composer

3.1安装目录

打开已有的目录/www/wwwroot/在该目录中新建一个名为cccitu目录,我们将把Composer将安装到新建的/www/wwwroot/cccitu/目录中。

当然你可以自由的设置项目目录,只需要将后续教程示例中的目录替换为你自定义的目录。

3.2安装过程

执行以下命令将Composer安装到目录/www/wwwroot/cccitu/

curl -sS https://getcomposer.org/installer | php -- --install-dir=/www/wwwroot/cccitu/

4.安装Laravel

4.1安装目录

我们使用Composer安装Laravel,需要先在终端中打开Composer的目录再执行安装命令。

cd /www/wwwroot/cccitu/

4.2安装最新版Laravel

通过composer安装最新版Laravel,并创建一个名为wanjijun的新 Laravel 应用。(命令中的wanjijun字符可自定义)

composer create-project --prefer-dist laravel/laravel wanjijun

4.3安装固定版Laravel

如果要安装指定版本Laravel,比如5.8版,可以执行如下命令

composer create-project --prefer-dist laravel/laravel wanjijun 5.8.*

4.4 曾遇到的问题

遇到过执行Laravel安装命令无反应的情况,经过多次排查可能是服务器系统环境问题,重新加载新系统或更换服务器后完成了安装。

5.安装Nodejs-8

5.1安装目录

执行如下命令打开服务器根目录

cd ~

5.2安装Nodejs-8

先执行如下命令

curl -sL https://rpm.nodesource.com/setup_8.x | bash -

在执行如下命令

yum install nodejs

安装过程可能会有一些y/n(是/否)提示,输入y点击回车键即可。

5.3查看版本

//查看Nodejs版本
node -v
//查看npm版本
npm -v

6.安装QueryList

6.1安装目录

QueryList的安装目录和Laravel在同一个目录,在上述示例中Laravel的安装目录是/www/wwwroot/cccitu/wanjijun所以执行如下命令进入该目录

cd /www/wwwroot/cccitu/wanjijun

6.2安装QueryList

执行如下命令

composer require jaeger/querylist

7.安装Puppeteer

7.1安装目录

与QueryList一样,也是/www/wwwroot/cccitu/wanjijun

7.2安装Puppeteer

//安装插件
composer require jaeger/querylist-puppeteer
//安装Node依赖
npm install @nesk/puphpeteer

7.3安装Puppeteer依赖

出现过运行Puppeteer时,报error while loading shared libraries: libXcomposite.so.1等依赖错误,可通过执行如下命令安装依赖包。

yum -y install libX11 libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr alsa-lib pango atk at-spi2-atk gtk3

8.创建网站

在宝塔面板添加域名创建网站,有两点需要注意

8.1站点目录

网站目录/www/wwwroot/cccitu/wanjijun
运行目录/public

8.2伪静态

在伪静态列表中选择laravel5

location / {  
	try_files $uri $uri/ /index.php$is_args$query_string;  
}  

完成

我们通过上述步骤完成了ComposerLaravelNodejs-8QueryListComposer的安装,并创建了位于/www/wwwroot/cccitu/wanjijun的新站点。

相关推荐