风月残烛のブログヅ风月の残烛
风月读书
友情链接

 
 
  • 月
  • 月
  • 月
  • 月
  • 月
  • 月
  • 月
  • 月
  • 圆角
    10
    透明度
    1
      总字数0
      时长0
      评论数
      总阅读数

    生成海报3 

    # 风月读书DIY书源说明

    参考书源

    # 一、解析器

    # 1、Matcher

    • 说明:Matcher解析器原理为取中间文本,语法最为简单,专门为小白设计,支持html和json数据

    • 语法:左边文本+<text>/<html>+右边文本(+##+函数),通配符(*),函数说明

      • 其中<text>以纯文本形式获取,<html>以html形式解析成纯文本

      • 例如:

        <a href="https://www.37zww.net/1/1812/">斗罗大陆IV终极斗罗</a>
        
        1

        取书名:<a href="(*)"><text></a>------> 斗罗大陆IV终极斗罗

        取链接:<a href="<text>">(*)</a>------> https://www.37zww.net/1/1812/

    # 2、Xpath

    • 说明:实现库hegexiaohuozi/JsoupXpath,仅支持html数据
    • 语法:Xpath语法(+##+函数),函数说明
    • 教程 :XPath教程-入门、XPath教程-基础、XPath教程-高级、XPath库的说明

    # 3、JsonPath

    • 说明:实现库json-path/JsonPath,仅支持json数据
    • 语法:JsonPath语法(+##+函数),函数说明
    • 教程:JsonPath教程

    # 二、函数说明

    # 1、概要

    • 书源规则支持四个普通函数和一个列表函数,分别为@r/@replace,@a/@append,@c/contains,@nc/notContains,!,%
    • 如何使用:在书源规则后添加 ##+函数 ,多个函数以半角分号 ; 分隔,若函数内部出现 ; 请使用 ; 转义

    # 2、@r/@replace替换函数

    • 语法:@r/@replace(oldStr,newStr)

    • oldStr为替换前字符串(支持正则),newStr为替换后的字符串,中间以半角逗号分隔,无需加引号

    • 若替换字符串中含有逗号 **,**请使用 , 转义

    • 例如:

      • <a href="https://www.37zww.net/1/1812/">斗罗大陆IV终极斗罗</a>
        
        1

        取书名并将IV替换为4:<a href="(*)"><text></a>##@r(IV,4)------> 斗罗大陆4终极斗罗

    # 3、@a/@append拼接函数

    • 语法:@a/@append(str1+str2+...+strn)

    • str1-n为任意字符串,无需加引号,各字符串以加号 **+ ** 分隔

    • 若字符串中含有加号 + 请使用 + 转义

    • 若要拼接规则获取的字符串,请使用<text>/<html>

    • 例如:

      • <a href="/1/1812/">斗罗大陆IV终极斗罗</a>
        
        1

        取书籍链接并拼接域名:<a href="<text>">(*)</a>##@a(https://www.37zww.net+<text>)

        ------> https://www.37zww.net/1/1812/

    # 4、@c/contains包含函数

    • 语法@c/contains(str)

    • str为任意字符串,无需加引号

    • 执行结果:如果不包含str,则不获取

    • 例如:

      • <a href="https://www.37zww.net/1/1812/">斗罗大陆IV终极斗罗</a>
        <a href="https://www.37zww.net/0/730/">斗罗大陆III龙王传说</a>
        <a href="https://www.37zww.net/2/2509/">斗破苍穹</a>
        
        1
        2
        3
      • 取包含斗罗大陆的书名:<a href="(*)"><text></a>##@c(斗罗大陆)

        ------> [斗罗大陆IV终极斗罗, 斗罗大陆III龙王传说]

    # 5、@nc/notContains不包含函数

    • 语法@nc/notContains(str)

    • str为任意字符串,无需加引号

    • 执行结果:如果包含str,则不获取

    • 例如:

      • <a href="https://www.37zww.net/1/1812/">斗罗大陆IV终极斗罗</a>
        <a href="https://www.37zww.net/0/730/">斗罗大陆III龙王传说</a>
        <a href="https://www.37zww.net/2/2509/">斗破苍穹</a>
        
        1
        2
        3
      • 取不包含斗罗大陆的书名:<a href="(*)"><text></a>##@nc(斗罗大陆)

        ------> 斗破苍穹

    # 6、!跳过列表前几个函数

    • 语法:!n
    • n为跳过数量
    • 此函数仅支持书籍列表(Xpath、JsonPath),章节列表(Matcher、Xpath、JsonPath)

    # 7、!列表分组反转函数

    • 语法:%n
    • 以n为分组长度进行分组,并对各组进行反转
    • 此函数仅支持书籍列表(Xpath、JsonPath),章节列表(Matcher、Xpath、JsonPath)
    • 例如:
      •   <a href="3.html">第三章</a>
          <a href="2.html">第二章</a>
          <a href="1.html">第一章</a>
        
          <a href="6.html">第六章</a>
          <a href="5.html">第五章</a>
          <a href="4.html">第四章</a>
        
          <a href="9.html">第九章</a>
          <a href="8.html">第八章</a>
          <a href="7.html">第七章</a>
        
          <a href="10.html">第十章</a>
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
      • 以上列表每三个为一组顺序倒置了,故可用此函数:%3 即可的到正确排序的列表

    # 三、书源编辑

    # 1、书源基本信息

    • 1)解析器:默认为Xpath,可根据需要选择,目前一个书源仅支持一个解析器
    • 2)书源URL:书源唯一标识,不能为空
    • 3)书源名称:不能为空
    • 4)书源分组:不同分组以;隔开
    • 5)书源字符编码:默认UTF-8
    • 6)书源说明:这是您留给使用者的说明

    # 2、搜索规则

    • 1)搜索地址:搜索关键词以{key}进行占位;post请求以“,”分隔url,“,”前是搜索地址,“,”后是请求体
    • 2)搜索字符编码:默认使用书源字符编码
    • 3)书籍列表规则:
      • 对于Mathcer解析器:此处填写书籍列表所在区间,支持普通函数;
      • 对于Xpath/JsonPath解析器:此处填写书籍列表规则,不支持普通函数,规则后接##!加数字可以跳过列表前几个
    • ...书名、作者、分类、简介、连载状态、字数、最新章节、更新时间、封面、目录URL...
    • 14)详情也URL规则:为空时使用目录URL
    • 15)关联书籍详情:搜索时是否关联书籍详情页,填true/t表示关联,false/f表示不关联,测试时不生效

    # 3、详情规则

    • 书名、作者、分类、简介、连载状态、字数、最新章节、更新时间、封面、目录URL

    # 4、目录规则

    • 1)章节BaseURL规则:如果章节URL(一般为相对路径)无法定位章节,可填写此规则获取,默认为书源URL

    • 2)目录列表规则:

      • 对于Mathcer解析器:此处填写书籍列表所在区间,支持普通函数;
      • 对于Xpath/JsonPath解析器:此处填写书籍列表规则,不支持普通函数,规则后接##!加数字可以跳过列表前几个
    • 3)章节名称(和URL)规则:

      • 对于Mathcer解析器:此处填写章节名称和URL规则,其中章节名称以<title>占位,章节URL以<link>占位,不支持普通函数,规则后接##!加数字可以跳过列表前几个
        • 例如:<dd><a href="<link>"><title></a></dd>
      • 对于Xpath/JsonPath解析器:此处填写章节名称,支持普通函数
    • 4)章节URL规则:

      • 对于Mathcer解析器:此处不用填写
      • 对于Xpath/JsonPath解析器:此处填写章节URL规则
    • 5)目录下一页URL规则:填写后获取目录时将会不断地从目录下一页获取章节,直至下一页URL为空时停止,注意:千万不要获取恒存在的URL,否则将出现死循环甚至崩溃

    # 5、正文规则

    • 1)正文规则
    • 2)正文BaseURL规则:如果下一页URL(一般为相对路径)无法定位下一页,可填写此规则获取,默认为书源URL
    • 3)正文下一页URL规则:填写后正文时将会不断地从下一页获取内容,直至下一页URL为空时停止,注意:千万不要获取恒存在的URL,否则将出现死循环甚至崩溃

    # 6、URL说明

    • 1)所有URL均支持相对路径
    • 2)如当前规则中获取了BaseURL,则软件将会以此BaseURL获取URL的绝对路径,否则将以书源URL获取URL的绝对路径

    # 四、书源测试

    # 1、概要

    • 书源测试分为测试搜索配置、测试书籍详情、测试目录列表、测试章节内容
    • 测试界面可查看解析结果和网页源码
      • 解析结果以Json格式输出
      • 网页源码高亮显示

    # 2、测试搜索配置

    • 在输入关键词确认后将会跳转至测试界面
    • 解析结果分为信息和结果
      • 信息中输出解析书籍数量
      • 结果中输出书籍列表

    # 3、测试书籍详情

    • 在输入书籍URL确认后将会跳转至测试界面

    • 解析结果为单本书籍信息

    # 4、测试目录列表

    • 在输入目录URL确认后将会跳转至测试界面
    • 解析结果分为信息和结果
      • 信息中输出解析章节数量
      • 结果中输出章节列表

    # 5、测试章节内容

    • 在输入章节URL确认后将会跳转至测试界面
    • 解析结果为章节内容
    lastTime: 2022/5/9 03:39:51
    Contributors: fengyuecanzhu
  • 奶茶
    $ 18
    全味奶茶
    ¥ 11

    推荐阅读

    点击评论
    枯桑知天风
    文章
    7
    标签
    3
    类别
    2
    Github
    文章目录
    最新文章
    标签
    app
    小说阅读
    Copyright © 2022 by  fengyuecanzhu  All Rights Reserved.
    theme Aurora by qsyyke
    小破站已运行0天18小时17分52秒
    Your browser does not support this audio format.