首先需要了解下 关关采集器通用替代符

1.  \d*  表示数字

2.  \s*  空格或换行

3.  .+? 表示不需要的字符

4.   .* 表示字符

5.  ()  表示需要截取的部分

6.    ((.|\n)*) 章节内容截取

7.  .  表示单个字符

8.  $   表示结束字符 例如正则表达式weasel$ 能够匹配字符串"He's a weasel"的末尾,但是不能匹配字符串"They are a bunch of weasels."。

9.  ^  表示一行的开始

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

------------------------------------------------------------- 下面用以上字符演示下如何编写关关规则---------------------------------------------------

第一步 1.寻找目标站 这里我们拿 遮天小说吧 http://www.zhetianxs8.com为例子

2. 复制原有规则为采集模板 zhetianxs8.xml 重新复制一份

3.打开关关规则编辑器  选择 zhetianxs8复件.xml 读取

4. 开始编写规则.

第二步  1.RULEID(规则编号)这个任意写即可

2.GetSiteName(站点名称)这里我们写zhetianxs8

3.GetSiteCharset(站点编码) 这里我们打开www.zhetianxs8.com源代码查找 charset= 得到charset=gbk这个gbk就是我们需要的站点编码
            4.GetSiteUrl(站点地址)目标站地址 写入http://www.zhetianxs8.com

5.NovelSearchUrl(站点搜索地址) 这个搜索栏地址的获得,按照每个网站程序的不同,适当的修改(也可以忽略)

6. NovelListUrl(站点最新列表地址) 目标站点显示更新的网址 例如 http://www.zhetianxs8.com/modules/article/toplist.php?sort=lastupdate

7.NovelList_GetNovelKey(从最新列表中获得小说编号)在这个规则中我们要获取小说名和小说编号 例如  这个地址查看源文件,我们编写这个规则的时候找到想要获得的内容所在的地方,比如我们打开地址看到想要获得的内容的第一本小说的名字是“遮天”我们在源文件里面找到“遮天”

<ul>
<li class="t1 red12">1</li>
<li class="tt3"><a href=http://www.zhetianxs8.com/book/1258.html]http://www.zhetianxs8.com/book/1258.html title="《遮天》
小说内容提要:    【作品简介】:
" target="_blank">遮天</a></li>

<li class="t5"><a href="/bookreader/10071-3622060.html">遮天</a></li>
<li class="t4"><a target="_blank" href="http://www.zhetianxs8.com/modules/article/authorarticle.php?author]=辰东">辰东</a></li>
<li class="t7">3624007</li>
<li class="t6">连载中</li>
<li class="t8">12-13-09 22:13</li>

</ul>

以上代码中 我们要找到 <li class="tt3"><a href=http://www.zhetianxs8.com/book/1258.html title="《遮天》 把这段代码 改成

<li class="tt3"><a href=http://www.zhetianxs8.com/book/(\d*).html title="《(.+?)》  (\d*) 表示小说编号 (.+?) 表示小说名 测试下 获取正常
8.NovelUrl(小说信息页地址)这个很简单  比如http://www.zhetianxs8.com/book/1258.html这本小说 我们可以看到的 我们改下 将里面的1258 换成 {NovelKey} 一般情况表示小说编号 就是  http://www.zhetianxs8.com/book/{NovelKey}.html

9.NovelErr(小说信息页错误识别标记) 这个我们随便输入一个没的小说的编号如http://www.zhetianxs8.com/book/1234465460.html这样我们获得的错误标记就是:对不起,该文章不存在! 
10. NovelName(获得小说名称正则)我们随便打开一本小说http://www.zhetianxs8.com/book/1258.html查看源代码 获得小说名称 这个我们可以从固定模式着手 比如我们刚才打开的 遮天 这本小说 我们看到他的固定小说名格式是《遮天》 那我们在源代码里 找到《遮天》 这个 我们得到的内容是

《<a href="/book /1258.html" id="htmltimu" title="遮天">遮天</a>》 改成 《<a href=" /book/\d*.html" id="htmltimu" title=".+?">(.+?)</a>》

NovelAuthor(获 得小说作者)、LagerSort(获得小说大类)、SmallSort(获得小说大类)、NovelIntro(获得小说简介)、 NovelKeyword(获得小说主角(关键字))、NovelDegree(获得写作进程)、NovelCover(获得小说封面) 这些同 10. 一样获取即可

11.NovelInfo_GetNovelPubKey(获得小说公众目录页地址)这个的地址获得跟上面的一样的方法

12.PubIndexUrl(公众目录页地址) 这个我说明一下,这个的用法这个一般是在知道采集目标站的动态地址的时候用到,如果不知道对方动态地址的话就在这个里面写入{NovelPubKey} 如果知道动态路径比如说http://www.zhetianxs.com这个站的没本小说的章节目录的动态地址是那么 PubIndexUrl 这个的规则就是

http://www.zhetianxs8.com/modules/article/reader.php?aid={NovelPubKey}

PubVolumeSplit(分割分卷)这个分割分卷 有写地方需要注意到 如果分割分卷的正则没对 那么有可能 对于下面的 获得章节名那些有很大的影响 这里 我们获得 分割部分的代码呢 按我的经验呢 是找到第一个 分卷 跟下面的分卷 查看他们的共同处 在我们分析这个目录章节里面的源代码 可以看出他们有个共同点 拿这一段来说明下

<dt>
<strong>遮天正文
</strong>
</dt>

单一代码为 <dt>
<strong>   修改正则 为<dt>\s*<strong>

其中的\s* 表示 匹配 与任何白字符匹配,包括空格、制表符、分页符等 也就是说 在 </ul> 与<dt><strong> 之间 不管有多少个空格 都可以用 \s* 来表示 
14.PubVolumeName(获得分卷名) 想要获得准确的分卷名,必须在上面的分割部分的正则必须正确,一般情况下分割部分跟分卷名是在一块的,上面我们说明分割部分用到的

<dt>
<strong>遮天正文
</strong>
</dt>

大家如果有注意看到的话 会发现 里面有 我们在这一步里面要获得的分卷名
我们 改下代码 <dt>\s*<strong>(.+?)</strong>\s*</dt>

15. PubChapterName(获得章节名) 这个我们拿一段来说明<li><strong><a href="/bookreader/1258-3467015.html">仙墓</a></strong></li>

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

<li><strong><a href=".+?.html">(.+?)</a></strong></li>

不是单行的话我们用\s* 来表示N个换行符

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

<li><strong><a href=" (\d*.html) ">.+? </a></strong></li>

章节地址那为什么我们还有用到章节名的呢?这个说下主要就是为了避免获得的章节名跟获得的章节地址不匹配。 
如果是章节页是乱序的这里就要获得章节编号了(强烈见意用户用获得章节编号)
我们说下章节编号的写法 其实并不麻烦只需要稍微改下就行了。

<li><strong><a href="/zhetianxs8/\d*-(\d*).html">.+?</a></strong></li>改成这样就可以了

17. PubContentUrl(章节内容页地址) 这里我拿http://www.zhetianxs8.com/book/1258-3287009.html这个来说明下该怎么用,其中的1258 这个是小说编号这里我们用{NovelKey} 替代,3287009这个就是在 PubChapter_GetChapterKey 里面获得的 章节编号我们{ChapterKey} 替代,以后我们分两种写法说明

http://www.zhetianxs8.com/bookreader/{NovelKey}-{ChapterKey}.html

注: 这种写法 PubChapter_GetChapterKey里必需是获得章节编号的如 “<li><strong><a href="/book/\d*-(\d*).html">.+?</a></strong></li>”

或者直接用

{ChapterKey}

18. PubContentText(获得章节内容) 这个获得方法我们就拿http://www.zhetianxs8.com/book/1258-3287009.html这个地址来说吧,打开源代码我们看到

</p>

</div>

<div class="novel_content">

&nbsp;&nbsp;&nbsp;&nbsp;辰东_遮天小说吧<br />

................ ................ 中间省了............ ................ .................

&nbsp;&nbsp;&nbsp;&nbsp;完

</div>

<div class="novel_bottom"> 
直接改成 <div class="novel_content">((.|\n)+?)<div class="novel_bottom">

((.|\n)+?)为我们要获取的内容,

19.PubContentImages(章节内容中提取图片正则) 章节中图片可以直接用我们上面提到的万能图片规则

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

20.出现空章节情况有可能是目标站正好重启网站或者你的采集IP被封等原因
如 果不是以上原因,请先检查你采集的章节是否是图片章节,如果你的PubContentImages(章节内容中提取图片) 没有获得图片章节内容的话软件 就会检查你的采集文字内容 PubContentText(获得章节内容)这个里面的正则的匹配,如果 PubContentImages(章节内容中提 取图片) 跟PubContentText(获得章节内容) 都没有匹配的内容,那么就出现了上面我们说的空章节的原因。

关关采集器规则编写教程(最详细的教程)相关推荐

  1. 大数据信息资料采集:公众号武志红文章评论爬取八爪鱼采集器规则

    大数据信息资料采集:公众号武志红文章评论爬取八爪鱼采集器规则 大数据信息资料采集 公众号历史文章采集 公众号评论爬取 微信公众号历史文章导出 抓取微信公众号所有文章. 公众号文章抓取工具 抓取公众号所 ...

  2. centos7无界面系统物理机安装教程超详细完整教程图解

    centos7无界面系统物理机安装教程超详细完整教程图解 安装系统所需要用到的相关工具: 一个U盘(此U盘之后会被格式化,请先备份好里面重要内容) 系统镜像(自定义镜像文件,博主的镜像可在下面链接提取 ...

  3. python软件下载安装教程,python详细安装教程视频

    python安装教程 python安装教程具体如下:1.确定电脑的系统类型. 在安装python之前,你要先确定一下你的电脑的系统类型及详细配置,具体方法如下:点击桌面上的快捷图标"此电脑& ...

  4. 火车头双标题插件-火车头采集器双标题插件下载及安装教程

    火车头双标题插件,为什么这么多人使用火车头双标题插件?因为双标题组合增强了标题的相关性和关键词密度,同时在词库方面也有了更多的展现,收录后也会有2个长尾词参与排名.详细参考图片 怎么设置火车头双标题? ...

  5. python35安装教程_python详细安装教程,非常值得看的一篇文章

    Python安装教程 本文简单介绍python编程语言的安装教程,python安装有很多方式.你可以直接在官网下载python进行安装,也可以下载Anaconda,本文介绍安装Anaconda的方法. ...

  6. ansys2020R1软件Workbench linux版本安装教程 超详细安装教程

    目录 一.前言 二.workbench安装 三.运行workbench 四.运行ansys 五.桌面启动方式 1.编写一个启动程序的脚本 2.编写桌面快捷方式 一.前言 本文主要介绍ansys2020 ...

  7. CentOS7 64位下载配置与安装教程(超详细图文教程)

    场景 CentOS官网: https://www.centos.org/download/ 但是目前官网最新版本是CentOS8,如果想要下载安装CenOS7的话可以在阿里镜像上下载 http://m ...

  8. python电脑安装教程_python详细安装教程

    可以同时安装,步骤如下:一.安装python2(以及pip)1.1.到python的官网下载python的安装文件,对于windows用户来说,如果是32位系统,则选择x86版本;如果. . 1.pi ...

  9. MySQL安装配置教程(超详细图文教程)

    一.从Mysql官网下载 二.安装教程 下载完成后直接双击进行安装,打开后的页面如下所示: 选择自定义custom,接着下一步 将MySQL Server 展开,添加到右边(点击绿色箭头) 选择安装位 ...

  10. Tomcat安装教程(详细图文教程)

    这次我要做的教程呢是关于Tomcat的新手向安装教程,话不多少直接上货. 一.还是老规矩,首先你要有一个Tomcat的安装包,一如既往的附上官网的地址:http://tomcat.apache.org ...

最新文章

  1. 3年5000家,苏宁小店如何立足“中国第一O2O社区小店”?
  2. android获取小程序音频时长,最新微信小程序获取音频时长与实时获取播放进度...
  3. Python-TKinter布局之pack
  4. cd协议属于计算机网络的应用层,计算机网络 题库 必考 期末 期终 考试 复习 考研 必备...
  5. python except用法和作用_121个问题答对80%那么恭喜你,Python的高薪工作迟早有你一份...
  6. Django框架简介-开头
  7. php中常用的字符串获取函数mb_strcut实例解释
  8. 模拟龟兔赛跑(Java)
  9. java http下载_java http下载文件
  10. 凸优化学习笔记(五):凸优化算法、无约束优化算法、有约束优化算法
  11. win10 1903 专业版 CreateProcessAsUser
  12. Spark SQL 内置函数(六)Window Functions(基于 Spark 3.2.0)
  13. 导弹巡航追踪目标模拟程序(1)源码版--matlab
  14. 转鹤冲天兄反射性能比较
  15. C++ - Copy Elision
  16. 百度:自动驾驶出租车服务在北京全面开放!人工智能牛
  17. c 语言程序设计形考4,国开学习网电大C语言程序设计形考任务4答案
  18. flink 架构、概念介绍
  19. 电脑网络显示小地球却可以上网修复办法
  20. Yolo系列学习笔记

热门文章

  1. 基于python的猜大小游戏
  2. JAVA超市综合管理信息区块链系统毕设论文
  3. 激活Navicat premium12时出现“Rsa public key not find“报错时的解决方法
  4. 服务器闪黄灯硬盘可以修复吗,ibmx3850x5服务器故障|硬盘亮黄灯更换处理过程
  5. java 浏览器脚本_各种浏览器开启JavaScript脚本方法
  6. win10家庭版开启远程桌面(带rdpwrap.ini)
  7. WinRAR的命令行模式用法介绍
  8. android端使用mockServer
  9. ADS 2013 momentum仿真出错
  10. App山寨疯狂 爱加密Apk加密平台防破解