基于php的cli模式小说爬虫案例

发布时间:2020-06-02

概述

php的cli小说爬虫:一个复杂一点的案例说明Cli环境下如何运行php程序,Cli环境下运行PHP有哪些好处

详细

一、源文件包含4个部分

1.使用说明文档.rar

2.小说源文件.rar

3.cli.rar

4.cmder_mini.zip

如下:

image.png

其中cli.rar文件如下

image.png

php文件是源码文件

二、系统的安装与使用

系统的安装

1.小说源文件.rar 解压后 上传到网站根目录下,或者在 本地 搭建网站服务器也可以,通过 域名+页面文件 可以打开 页面即可(建议在本地配置,方便测试研究),如 下图所示

list.jpg

2.cli.rar解压后放到指定的位置,如 E盘的 cli文件夹下,如下图:

place.jpg

其中文件夹sound下包括两个文件:cmdmp3win.exe , play.mp3 ,主要作用是在下载完成时播放提示声音.

系统的使用

1.打开 Cmder.exe ,用dos命令进入到 E:\cli ,如图:

mulu.jpg

2.执行命令 php xiaoshuo.php go ,如图:

down.jpg

温馨提法:使用 php 命令,需要 在 系统的 “环境变量” 中 配置,同时 要求 PHP 版本 5.6 或以上版本 ,如 下图所示

hj.jpg

3.系统任务完成时,会有 声音提示,在 生成的 data 文件夹内有 生成的缓存文件 cache.php , 日期命名的 log 日志文件 以及 刚刚下载 的 小说   ,如图:

finish.jpg
执行结果

cache.jpg  
缓存文件 cache.php

logo.jpg  
运行日志 log 文件

wx.jpg  
下载 的 小说文件

三、代码讲解

1.代码有详细的解析,如下图

code-1.jpg

2.系统参数的配置与定义,如下图

code-2.jpg

PATH_DATA : 数据存放的主要目录

PATH_HTML :当 isHtml 为 true 时,在 PATH_HTML 生成 html的文件

PATH_SOUND : 下载完成时 需要 播放的 提示 声音路径

isHtml : 当 isHtml 为 true 时,在 PATH_HTML 生成 html的文件

idOpenCurl : 当 idOpenCurl 为 true 时,启动多线程 下载 ,最多可同时处理 maxNum 条 数据

isOpenLog : 当 isOpenLog 为 true 时,在 PATH_DATA 下 生成 日志文件

isAutoCloseWin : 当 isAutoCloseWin 为 true 时,下载完成后自动关机

isTest : 当 isTest 为 true 时,说明当前环境为 测试 ,测试的数据 最多 为 testNum 条

testNum :  当 isTest 为 true 时,该参数有效

maxNum : 当 idOpenCurl 为 true 时,该参数有效

WebRoot : 当前 域名 ,如 http://www.abc.com , 不以 “/” 结尾

PageList : 小说目录列表页

 

3.部分代码详细说明

1.用 function list() 读取列表页,生成下载目录 cache.php

cache.jpg  
缓存文件 cache.php

用到的对应的方法函数function list()

list-1.jpg

list-2.jpg

四、php cli能做什么事情?

1.CLI模式其实就是命令行运行模式,英文全称Command-Line Interface(命令行接口)

2.由于 PHP-CLI 的最大执行时间是没有限制的(the maximum execution time is unlimited for CLI scripts),不像 Web 脚本默认最多只能执行30秒,所以用 PHP-CLI 脚本来维护系统是很合适的。

3.PHP CLI模式开发不需要任何一种Web服务器(包括Apache或MS IIS等),这样,CLI可以运行在各种场合。

五、疑问与答疑

1.系统运行过程有乱码,如何解决?

答:请保持文件编码的统一性。如 远程返回的 html 是 gbk 编码,那么 xiaoshuo.php 请转换为 gbk 编码 , dos 命令窗口 也 转换为 gbk 编码

 

2.为什么不直接使用互联网上小说网站做案例 还 需要 自己配置站点上传测试网页文件?

1.爬虫多线程运行是很耗损网络带宽资源的行为,使用不当会造成服务器崩溃,给他人造成不便。
   2.爬虫对数据的读取有严格要求,哪些能爬哪些不能爬取,自己要心中有数,要用道德行为准则来约束自己。

 

本实例支付的费用只是购买源码的费用,如有疑问欢迎在文末留言交流,如需作者在线代码指导、定制等,在作者开启付费服务后,可以点击“购买服务”进行实时联系,请知悉,谢谢
手机上随时阅读、收藏该文章 ?请扫下方二维码