书源规则说明

2021-09-15  本文已影响0人  CGsir陈

书源规则说明

概况

1、语法说明

2、特殊规则

  1. 请求头
  1. GET请求
  1. POST请求
  1. @put与@get
    只能用于js以外的规则中,@put里使用JSONPath不需要加引号,其他规则需要加引号,
    例:@put:{bid:"//*[@bid-data]/@bid-data"}

  2. java.put与java.get
    只能用于js中,在js中无法使用@get

  1. 在搜索URL与发现URL中的{{}}
    在{{}}里只能使用js

  2. 在搜索URL与发现URL以外的{{}}
    可在{{}}中使用任意规则(正则除外?),默认为js,使用其他规则需要有明显的标志头,
    如:Default规则需要以@@开头,XPath需要以@xpath:或//开头,JSONPath需要以@json:或$.开头,CSS需要以@css:开头

  3. {}规则
    留用了阅读2.0的规则,只能使用JSONPath,尽量避免使用

  1. 在js中调用java的常规方法:由于java这个关键字已经被使用,调用java开头的包名时需使用全局变量Packages 参考脚本之家
  1. 下面是一些常用的函数/变量
//访问网络,urlStr为url字符串,返回Response<String>,已废弃

java.connect(urlStr: String)



//文件下载,content为十六进制字符串,url用于生成文件名,返回String文件路径

java.downloadFile(content: String, url: String)

//文件解压,zipPath为压缩文件路径,返回String解压路径,会删除原文件只保留解压后的文件

java.unzipFile(zipPath: String)

//文件夹内所有文件读取,返回内容String,会删除原文件

java.getTxtInFolder(unzipPath: String)

//删除文件/文件夹路径,path为路径

java.deleteFolder(path: String)


//实现重定向拦截,返回[Connection.Response](https://jsoup.org/apidocs/org/jsoup/Connection.Response.html)

java.get(url: String, headers: Map<String, String>)
java.post(urlStr: String, body: String, headers: Map<String, String>)



//实现cookie读取,返回String
java.getCookie(tag: String, key: String?)



//base64解码,返回类型String

java.base64Decode(str: String)
java.base64Decode(str: String, flags: Int)

//base64解码,返回类型ByteArray?

java.base64DecodeToByteArray(str: String?)
java.base64DecodeToByteArray(str: String?, flags: Int)



//base64编码,返回类型String?
java.base64Encode(str: String)
java.base64Encode(str: String, flags: Int)

//md5编码,返回类型String?
java.md5Encode(str: String)
java.md5Encode16(str: String)

//格式化时间戳,返回类型String
java.timeFormat(timestamp: Long)
java.timeFormat(time: String)


//utf8编码转gbk编码,返回String

java.utf8ToGbk(str: String)


//实现字符串的URI编码,enc为编码格式,返回String

java.encodeURI(str: String) //默认enc="UTF-8"

java.encodeURI(str: String, enc: String)



//html格式化,返回String

java.htmlFormat(str: String)

//读取本地文件,返回ByteArray

java.readFile(path: String)

//读取本地文本文件,charsetName为编码格式

java.readTxtFile(path: String) //默认charsetName="UTF-8"

java.readTxtFile(path: String, charsetName: String)


//解析字体,返回字体解析类QueryTTF?

java.queryBase64TTF(base64: String?)
java.queryTTF(str: String?)

java.replaceFont(text: String,font1: QueryTTF?,font2: QueryTTF?)


//输出调试日志

java.log(msg: String)



/**************以下部分方法由于JAVA不支持参数默认值,调用时不能省略***************/
//设置需解析的内容content和baseUrl,返回类型AnalyzeRule
java.setContent(content: Any?, baseUrl: String? = this.baseUrl)

//输入规则rule和URL标志isUrl获取文本列表,返回类型List<String>?
java.getStringList(rule: String, isUrl: Boolean = false)

//输入规则rule和URL标志isUrl获取文本,返回类型String
java.getString(ruleStr: String?, isUrl: Boolean = false)


//输入规则ruleStr获取节点列表,返回类型List<Any>
java.getElements(ruleStr: String)

3、书源之「基本」

4、书源之「搜索」

5、书源之「发现」

6、书源之「详情」

7、书源之「目录」

8、书源之「正文」

9、补充说明

上一篇 下一篇

猜你喜欢

热点阅读