最新关关采集器规则编写教程(图文详解版)

最新关关采集器规则编写教程(图文详解版)
最新关关采集器规则编写教程(图文详解版)

首先介绍一下关关采规则当中需要用到的一些标签

\d* 表示数字 \s* 表示空格+换行 .+? 表示字符(不能为空) .* 表示字符(可以为空) () 表示我们需要的部分 ((.|\n)*) 章节的内容部分,包括了换行。

=====与杰奇后台标签的对应关系=====

!!!! 相当于 ([^><]*)

~~~~ 相当于 ([^><'"]*)

^^^^ 相当于 ([^><\d]*)

$$$$ 相当于 ([\d]*)

**** 相当于 (.*)

第一步: 我们先复制一份原来的规则做模板(规则文件存放在Rules目录下)。比如说我今天演示的采集站点是阅微阁(https://www.360docs.net/doc/c87471334.html,)这个小说站点

那么我就把我复制的那份做模板的规则命名为:阅微阁.xml 这个主要是便于规则的管理。

第二步:运行采集器里的规则管理工具,打开后载入刚刚我们命名为阅微阁.xml的文件。

第三步:现在可以正式的编写规则了,我们写规则时要找的标志性代码必需是整个页面里唯一的代码,其次我们取用的部份代码越精简越好。

1. GetSiteName(站点名称) 这里我们写阅微阁(在执行任务时会在上方显示)

2. GetSiteCharset(站点编码) 这里我们打开https://www.360docs.net/doc/c87471334.html,源代码查找 charset= 得到c harset=gbk这个gbk就是我们需要的站点编码

3. GetSiteUrl(站点地址) 写入https://www.360docs.net/doc/c87471334.html,

4. NovelListUrl(站点最新列表地址) 因为这些每个站点的不同,这个就需要自己去找了阅微阁的是https://www.360docs.net/doc/c87471334.html,/modules/article/toplist.php?sort=lastupdate

5. NovelList_GetNovelKey(从最新列表中获得小说编号) 此规则中需要同时获得书名,获得书名是在手动模式的时候用到,如果你要用手动模式那么必须获得书名,否则手动模式将会无法使用。我们打开https://www.360docs.net/doc/c87471334.html,/modules/article/toplist.php?sort=last update 这个地址查看源文件,我们编写这个规则的时候找到想要获得的内容所在的地方,

比如我们打开地址看到想要获得的内容的第一本小说的名字是“赘婿”我们在源文件里面找到“赘婿”复制代码我们编写规则用到的代码其实也不是很多,编写规则的原则是能省则省,也就是说代码越短越好除非万不得已一般精短一些比较好。好了不废话了,在这个规则里面我们需要用到的是《赘婿》复制代码我们将这段改改成:《(.+?)

复制代码其中 (\d*) 表示编号 (.+?) 表示小说名 .+?表示代替此位置字符,经过测试正确

6. NovelUrl(小说信息页地址) 这个很容易,我们随便点开一本小说就能知道了,比如说h ttp://https://www.360docs.net/doc/c87471334.html,/modules/article/articleinfo.php?id=633这本小说,我们可以看到的我们改下将里面的633换成 {NovelKey}

7. NovelName(获得小说名称正则) 我们还打开刚才那本书https://www.360docs.net/doc/c87471334.html,/module s/article/articleinfo.php?id=633查看源代码,获得小说名称那我们在源代码里查找

赘婿,此代码要源码中唯一

赘婿复制代码这一段我们改下

(.+?)

下面的 NovelAuthor(获得小说作者)、LagerSort(获得小说大类)、SmallSort(获得小说大类)、NovelIntro(获得小说简介)、NovelKeyword(获得小说主角(关键字))、NovelDegree(获得写作进程)、NovelCover(获得小说封面)这些呢我就不详细演示了,这些跟上面的那个获得小说名方法是一样的,也就所谓的一通百通。需要说到的是获得简介的时候最好用 ((.| \n)*)来代替,因为中间可能包含换行。

8. NovelInfo_GetNovelPubKey(获得小说公众目录页地址)很多站目录页的地址有子ID在前边,所以我们要采集目录页的地址我们获得代码如下:

ef="https://www.360docs.net/doc/c87471334.html,/files/article/html/0/633/index.html">打开完整目录列表< /a>

复制代码这一段我们改成:打开完整目录列表< /span>

9. PubIndexUrl(公众目录页地址) 这个里面写入{NovelPubKey}

1.10. PubVolumeSplit(分割分卷),这个分割分卷,有些地方需要注意到,如果分割

分卷的正则没对,那么有可能对于下面的获得章节名那些有很大的影响,这里我们怎么获得分割部分的代码呢?按我的经验,是找到第一个分卷跟下面的分卷查看他们的共同处,现在我们分析https://www.360docs.net/doc/c87471334.html,/files/article/html/0/622/in dex.html 这个目录章节的源代码,可以看出分卷的代码为

2.标签,因此分割分卷就填写

11 . PubVolumeName(获得分卷名) 分割部分用到

因此分卷名为

(.+?)

12. PubChapterName(获得章节名) 这个我们拿一段来说明

  • 第一章降临五行山
  • 复制代码如果有碰到时间、日期、更新字数什么的我们直接忽略,因为这些不是我们要获得的内容,这个我们可以用 .+? 来表示。好了我们吧上面的那一段改下改成表达式

  • (.+?)
  • (如果不是单行的话我们用\s* 来表示N个换行符)

    13. PubChapter_GetChapterKey(获得章节地址(章节编号)) 这里说明下这个里面的章节编号是在下面的 PubContentUrl(章节内容页地址)用到,那么这里我们需要获得的是章节地址分析得到

  • .+?
  • 这里既然是获得章节地址那为什么我们还有用到章节名的呢?这个说下主要就是为了避免获得的章节名跟获得的章节地址不匹配。

    如果是章节页是乱序的这里就要获得章节编号了(强烈建议用户用获得章节编号)

    14. PubContentUrl(章节内容页地址) 这里拿https://www.360docs.net/doc/c87471334.html,/files/article/htm l/0/622/502347.html 这个来说明下该怎么设置,直接填入:{ChapterKey}.html即可

    15. PubContentText(获得章节内容) 这个我们就拿https://www.360docs.net/doc/c87471334.html,/files/articl e/html/0/622/502347.html这个地址来说吧,打开源代码我们看到

    在文章内容前后有这样两处代码

    复制代码这里我就直接改成正规的内容获得代码如下

    ((.|\n)+?)

    复制代码这里说明下((.|\n)+?)为我们要获取的内容,切记这两处代码必需要是源码文件里唯一的。

    16. PubContentImages(章节内容中提取图片正则) 章节中图片也就是我们所说的图片章节,这里我们可以用万能图片规则

    <[^<]*((?<=<(?:img|IMG)[^>]*(?:(?:src|SRC)(?:\s*=\s*(?:["']?))))(?:[^\s"'>]*)\. (?:jpg|gif|jpeg|bmp|png|GIF|JPG))[^>]*>

    最后:现在说下替换,每行一个替换,格式如下需要替换的内容♂替换结果

    复制代码这个表示过滤


    复制代码这个表示替换现在的站长们都会在小说章节内容上加入自己的广告

    如(**站第一时间更新vip章节)、(**站首发)等广告我们可以用

    **站第一时间更新vip章节♂替换的内容

    **站首发♂替换的内容

    复制代码其他的替换类似

    出现空章节情况有可能是目标站正好重启网站或者你的采集IP被封等原因

    如果不是以上原因,请先检查你采集的章节是否是图片章节,如果你的PubContentImages (章节内容中提取图片) 没有获得图片章节内容的话软件就会检查你的采集文字内容 PubCo ntentText(获得章节内容)这个里面的正则的匹配,如果 PubContentImages(章节内容中提取图片) 跟PubContentText(获得章节内容) 都没有匹配的内容,那么就出现了上面我们说的空章节的原因。

    关关最新采集规则3

    https://www.360docs.net/doc/c87471334.html, https://www.360docs.net/doc/c87471334.html, https://www.360docs.net/doc/c87471334.html, RuleVersion v1.0 Match None RuleID https://www.360docs.net/doc/c87471334.html, Match None GetSiteName https://www.360docs.net/doc/c87471334.html, Match None

    GetSiteCharset utf-8 Match None GetSiteUrl https://www.360docs.net/doc/c87471334.html, Match None NovelSearchUrl Match None NovelSearchData Match None NovelSearch_GetNovelKey

    言情小说关关采集规则

    Match None 0702 RuleVersion Match None 3789287 RuleID Match None 看啦又看 GetSiteName Match None gbk GetSiteCharset Match None https://www.360docs.net/doc/c87471334.html, GetSiteUrl Match None NovelSearchUrl

    最新关关采集器规则编写教程(图文详解版)

    首先介绍一下关关采规则当中需要用到的一些标签 \d* 表示数字 \s* 表示空格+换行 .+? 表示字符(不能为空) .* 表示字符(可以为空) () 表示我们需要的部分 ((.|\n)*) 章节的内容部分,包括了换行。 =====与杰奇后台标签的对应关系===== !!!! 相当于 ([^><]*) ~~~~ 相当于 ([^><'"]*) ^^^^ 相当于 ([^><\d]*) $$$$ 相当于 ([\d]*) **** 相当于 (.*) 第一步: 我们先复制一份原来的规则做模板(规则文件存放在Rules目录下)。比如说我今天演示的采集站点是阅微阁(https://www.360docs.net/doc/c87471334.html,)这个小说站点 那么我就把我复制的那份做模板的规则命名为:阅微阁.xml 这个主要是便于规则的管理。 第二步:运行采集器里的规则管理工具,打开后载入刚刚我们命名为阅微阁.xml的文件。 第三步:现在可以正式的编写规则了,我们写规则时要找的标志性代码必需是整个页面里唯一的代码,其次我们取用的部份代码越精简越好。

    1. GetSiteName(站点名称) 这里我们写阅微阁(在执行任务时会在上方显示) 2. GetSiteCharset(站点编码) 这里我们打开https://www.360docs.net/doc/c87471334.html,源代码查找 charset= 得到c harset=gbk这个gbk就是我们需要的站点编码 3. GetSiteUrl(站点地址) 写入https://www.360docs.net/doc/c87471334.html, 4. NovelListUrl(站点最新列表地址) 因为这些每个站点的不同,这个就需要自己去找了阅微阁的是https://www.360docs.net/doc/c87471334.html,/modules/article/toplist.php?sort=lastupdate 5. NovelList_GetNovelKey(从最新列表中获得小说编号) 此规则中需要同时获得书名,获得书名是在手动模式的时候用到,如果你要用手动模式那么必须获得书名,否则手动模式将会无法使用。我们打开https://www.360docs.net/doc/c87471334.html,/modules/article/toplist.php?sort=last update 这个地址查看源文件,我们编写这个规则的时候找到想要获得的内容所在的地方, 比如我们打开地址看到想要获得的内容的第一本小说的名字是“赘婿”我们在源文件里面找到“赘婿”复制代码我们编写规则用到的代码其实也不是很多,编写规则的原则是能省则省,也就是说代码越短越好除非万不得已一般精短一些比较好。好了不废话了,在这个规则里面我们需要用到的是《赘婿》复制代码我们将这段改改成:《(.+?)》 复制代码其中 (\d*) 表示编号 (.+?) 表示小说名 .+?表示代替此位置字符,经过测试正确

    相关主题
    相关文档
    最新文档