新闻资讯
看你所看,想你所想

关关採集规则

关关採集规则

现在小说阅读类网站如雨后春笋办比比皆是,这中间就要说说小说类网站必备的工具“关关採集器”,免费版的很多,但是採集规则会写的朋友就没几个了,在这里简单的教给大家关关採集规则如何编写。

工具

  • 关关採集器5.5 或者6.0
  • 目标站
  • 懂得一点HTML语言就更OK了

操作步骤

  1. 介绍一下关关采规则当中需要用到的一些标籤
    \d* 表示数字 \s* 表示空格+换行 .+? 表示字元(不能为空) .* 表示字元(可以为空)
    () 表示我们需要的部分 ((.|\n)*) 章节的内容部分,包括了换行。
    =====与杰奇后台标籤的对应关係=====
    !!!! 相当于 ([^><]*)
    ~~~~ 相当于 ([^><'"]*)
    ^^^^ 相当于 ([^><\d]*)
    $$$$ 相当于 ([\d]*)
    **** 相当于 (.*)
  2. 现在开始编写规则,假设目标站为小说书库
    首先我们需要複製一份原有的规则做模版(规则档案存放在Rules目录下)。把複製的那份做模板的规则命名为xssk.xml 或小说书库.xml,这个主要是便于规则管理。
  3. 运行採集器里的规则管理工具,打开后载入刚刚我们命名为xssk.xml 或小说书库.xml的档案。
  4. 现在可以正式的编写规则了,我们写规则时要找的标誌性代码必需是整个页面里唯一的代码,其次我们取用的部份代码超精简超好。
    1. GetSiteName(站点名称) 这里我们写小说书库(在执行任务时会在上方显示)
    2. GetSiteCharset(站点编码) 这里我们打开小说书库原始码查找 charset= 得到charset=gbk这个gbk就是我们需要的站点编码
    3. GetSiteUrl(站点地址) 这个就不用我说了吧
    4. NovelListUrl(站点最新列表地址) 因为这些每个站点的不同,这个就需要自己去找了小说书库的是/modules/article/toplist.php?sort=lastupdate
    5. NovelList_GetNovelKey(从最新列表中获得小说编号) 此规则中需要同时获得书名,获得书名是在手动模式的时候用到,如果你要用手动模式那幺必须获得书名,否则手动模式将会无法使用。我们 打开/modules/article/toplist.php?sort=lastupdate 这个地址查看源档案,我们编写这个规则的时候找到想要获得的内容所在的地方,比如我们打开地址看到想要获得的内容的第一本小说的名字是“从零开始”我们在源档案里面找到“从零开始”複製代码我们编写规则用到的代码其实也不是很多,编写规则的原则是能省则省,也就是说代码越短越好除非万不得已一般精短一些比较好。好了不废话了,在这个规则里面我们需要用到的是<td class="L"><a href="/modules/article/articleinfo.php?id=1959">从零开始</a></td>
    複製代码我们将这段改下<td class="L"><a href="/modules/article/articleinfo.php?id=(\d*)">(.+?)</a></td>
    複製代码其中 (\d*) 表示编号 (.+?) 表示小说名 .+?表示代替此位置字元,经过测试正确
    6. NovelUrl(小说信息页地址) 这个很容易,我们随便点开一本小说就能知道了,比如说/modules/article/articleinfo.php?id=1959这本小说,我们可以看到的我们改下将里面的1959换成 {NovelKey} 一般情况表示小说编号/modules/article/articleinfo.php?id={NovelKey}
    7. NovelName(获得小说名称正则) 我们还打开刚才那本书/modules/article/articleinfo.php?id=1959查看原始码,获得小说名称那我们在原始码里查找到“从零开始”,需要得到前后代码为唯一的位置,一般小说站的名称都在H1或者H2标籤里,这个我们得到的内容是
    <h1>从零开始 全文阅读</h1>
    複製代码这一段 我们改下
    <h1>(.+?) 全文阅读</h1>
    下面的 NovelAuthor(获得小说作者)、LagerSort(获得小说大类)、SmallSort(获得小说大类)、NovelIntro(获得小说简介)、NovelKeyword(获得小说主角(关键字))、NovelDegree(获得写作进程)、NovelCover(获得小说封面)这些呢我就不演示了,这些跟上面的那个获得小说名方法是一样的,也就所谓的一通百通。需要说到的是获得简介的时候最好用 ((.|\n)*)来代替,因为中间可能包含换行。
    8. NovelInfo_GetNovelPubKey(获得小说公众目录页地址)很多站目录页的地址有子ID在前边,所以我们要採集目录页的地址我们获得代码如下:
    <a class="read" href="/1959.html" title="从零开始全文阅读">全文阅读</a> 複製代码这一段 我们改下<a class="read" href="/(.+?)" title=".+?">全文阅读</a>
    9. PubIndexUrl(公众目录页地址) 这个里面写入{NovelPubKey}
    10. PubVolumeSplit(分割分卷) 这个分割分卷 有写地方需要注意到 如果分割分卷的正则没对 那幺有可能 对于下面的 获得章节名那些有很大的影响 这里 我们获得 分割部分的代码呢 按我的经验呢 是找到第一个 分卷 跟下面的分卷 查看他们的共同处 在我们分析/1959.html 这个目录章节里面的原始码 可以看出分卷的代码为H2标籤,因此分割分卷就填写<h2>
    11 . PubVolumeName(获得分卷名) 上面我们说明分割部分用到<h2>因此分卷名为
    <h2>(.+?)</h2>
    12. PubChapterName(获得章节名) 这个我们拿一段来说明
    <li style="width:24%;"><div class="novel_num"></div><a href="481855.html" title="一章 时间方恨少">一章 时间方恨少</a></li>
    複製代码如果有碰到时间、日期、更新字数什幺的我们直接忽略,因为这些不是我们要获得的内容,这个我们可以用 .+? 来表示。 好了我们吧上面的那一段改下改成表达式
    <li style="width:24%;"><div class="novel_num"></div><a href="\d*.html" title=".+?">(.+?)</a></li>
    複製代码正常获得内容。(如果不是单行的话我们用\s* 来表示N个换行符)
    13. PubChapter_GetChapterKey(获得章节地址(章节编号)) 这里说明下 这个里面的章节编号是在下面的 PubContentUrl(章节内容页地址)用到,那幺这里我们需要获得的是章节地址分析得到
    <li style="width:24%;"><div class="novel_num"></div><a href="(\d*).html" title=".+?">.+?</a></li>
    这里既然是获得章节地址那为什幺我们还有用到章节名的呢?这个说下主要就是为了避免获得的章节名跟获得的章节地址不匹配。
    如果是章节页是乱序的这里就要获得章节编号了(强烈见意用户用获得章节编号)
    14. PubContentUrl(章节内容页地址) 这里拿/1959/432738.html 这个来说明下该怎幺用,其中/1959/432738这个是前边获得的目录地址我们用{NovelPubKey}替代,1693778这个就是在 PubChapter_GetChapterKey 里面获得的 章节编号我们{ChapterKey} 替代,填入{NovelPubKey}{ChapterKey} .html
    15. PubContentText(获得章节内容) 这个获得方法我们就拿/1959/432738.html这个地址来说吧,打开原始码在内容上下我们看到
    複製代码这里我就直接改成正规的内容获得代码如下
    <dd id="contents">((.|\n)+?)</dd>
    複製代码这里说明下((.|\n)+?)为我们要获取的内容,<dd id="contents">这个必需要是唯一的。
    16. PubContentImages(章节内容中提取图片正则) 章节中图片也就是我们所说的图片章节,这里我们可以用万能图片规则
    <[^<]*((?<=<(?:img|IMG)[^>]*(?:(?:src|SRC)(?:\s*=\s*(?:["']?))))(?:[^\s"'>]*)\.(?:jpg|gif|jpeg|bmp|png|GIF|JPG))[^>]*>
    现在说下替换,每行一个替换,格式如下需要替换的内容♂替换结果
    <div.+?>
    複製代码这个表示过滤
    <div.+?>♂<br>
    複製代码这个表示替换现在的站长们都会在小说章节内容上加入自己的广告
    如(**站第一时间更新vip章节)、(**站首发)等广告我们可以用
    **站第一时间更新vip章节♂替换的内容
    **站首发♂替换的内容
    複製代码其他的替换类似
    出现空章节情况有可能是目标站正好重启网站或者你的採集IP被封等原因
    如果不是以上原因,请先检查你採集的章节是否是图片章节,如果你的PubContentImages(章节内容中提取图片) 没有获得图片章节内容的话软体就会检查你的採集文字内容 PubContentText(获得章节内容)这个里面的正则的匹配,如果 PubContentImages(章节内容中提取图片) 跟PubContentText(获得章节内容) 都没有匹配的内容,那幺就出现了上面我们说的空章节的原因。

注意事项

  • 现有採集器中6.0的好像采不了图片,5.5的没问题。
  • 在规则编写中,可能每个站的代码都不相同,灵活运用各种标籤来达到替换作用

转载请注明出处海之美文 » 关关採集规则

相关推荐

    声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:ailianmeng11@163.com