运行环境:CentOS7+Nginx 1.19+PHP7.3+MySQL AliSQL

程序源码:PTCMS_V4.3.0(Build 20200910)

注:本教程只讲解采集规则,程序源码以及如何安装请 “百度一下”。

官方帮助文档 https://www.ptcms.com/doc/index.html

常用正则表达:

‘[内容]’ ’(.*?)’, 就是我们需要获取的东西

‘[数字]’ ‘\d*’, 这是纯数字

‘[空白]’ ‘\s*’, 这是用在换行的地方,包括换行、空格、\r \n

‘[任意]’ ’.*?’, 这就是任意字符

‘[参数]’ ’[^><]*?’, 这是 html 代码中的参数 如alt="标题" 这样的

‘[属性]’ ’[^><’”]*?’, 这是 html 代码中参数的属性 对于上述例子中的alt="标题" ,可以代替标题

注:如果想要获取内容就需要在正则表达示外加括号(英文状态下的),比如 (.?) 、(\d),括号同时只能存在一个。

https://www.txtbook.org/shuku/0_all_0_0_0_0_2_0_1.html 为例讲解

一、添加站点

二、采集规则详细步骤

1、添加规则(规则管理 添加);

2、规则名称根据实际情况填写;

3、所属站点选择上面添加的;其它默认就可以。

5、更新列表规则

https://www.txtbook.org/shuku/0_all_0_0_0_0_2_0_1.html  第 1 页

https://www.txtbook.org/shuku/0_all_0_0_0_0_2_0_2.html  第 2 页

https://www.txtbook.org/shuku/0_all_0_0_0_0_2_0_3.html  第 3 页

………………

https://www.txtbook.org/shuku/0_all_0_0_0_0_2_0_99.html  第 99 页

通过分析得出如下规则

https://www.txtbook.org/shuku/0_all_0_0_0_0_0_0_[page].html

系统中 [page] 表示多页页码

6、小说名称

<ul>

                <li class="one">1</li>

                <li class="two">[玄幻奇幻]</li>

                <li class="three"><a href="https://www.txtbook.org/book/13887/" target="_blank">《你们练武我种田》txt 下载 </a><span class="gray"><a href="/read/13887/14529389.html" target="_blank" title="第四百七十八章:传播武道"> 第四百七十八章:传播武道 </a></span></li>

                <li class="four"><a href="/author/%B0%A5%D3%B4%B0%A1" target="_blank" rel="nofollow"> 哎哟啊 </a></li>

                <li class="five"> 连载中 </li>

                <li class="six">2020-12-22 15:20</li>

            </ul>

根据 “唯一” 原则找到

<li class="three"><a href="https://www.txtbook.org/book/13887/" target="_blank">《你们练武我种田》txt 下载 </a><span class="gray">

分析这段代码获取我需要的数据,写规则;

方法一:

<li class="three"><a href=".*?" target="_blank">(.*?)》txt 下载 </a><span class="gray">

方法二:

<li class="three"><a href=".*?" target="_blank">(.*?)txt 下载 </a><span class="gray">

这两种方法的区别在于方法需要替换掉《》,我用了方法二。

7、小说书号

分析代码

<li class="three"><a href="https://www.txtbook.org/book/13887/" target="_blank">《你们练武我种田》txt 下载 </a><span class="gray">

规则

<li class="three"><a href="https://www.txtbook.org/book/(\d*)/" target="_blank">.*?</a><span class="gray">

\d* 表示纯数字,(\d*)表达我们要获取这里数字。

8、信息页地址

根据 URL 分析,是 https://www.txtbook.org/book/+ 书号。

在官方教程文档中有相应的参数,

[subnovelid] == 分类 ID

[novelid] == 小说 ID

[chapterid] == 章节 ID

8、小说名称、小说作者、小说封面、小说分类、小说简介、小说进度

这些规则都很好找不再多写,直接看下面图片。主要说一下小说进度,也是这次为什么用这个网站作为案例讲解的原因。

在源代码查到不到连载,通过小说图片左上角的 “连载中” 小图标找到代码

<div class="novel_status" data-status="1"></div>

再找一本完结的小说对比一下

<div class="novel_status" data-status="2"></div>

然后我们获取 1、2 再进行规则替换

9、通过上面学习之后,章节以及内容就很容易写了。