gedoor
|
19027427cc
|
字典
|
3 years ago |
gedoor
|
8e18de3129
|
字典
|
3 years ago |
bushixuanqi
|
47aa7095b8
|
Update RuleAnalyzer.kt
优化排版
|
3 years ago |
bushixuanqi
|
408fb77019
|
Update AnalyzeByJSoup.kt
进一步简化 AnalyzeByJSoup 中的 ElementsSingle,尽量以共享代替传递
|
3 years ago |
bushixuanqi
|
d5aba03fcf
|
Update AnalyzeByJSonPath.kt
新增设置平衡函数的参数
|
3 years ago |
bushixuanqi
|
c5c72511b4
|
Update RuleAnalyzer.kt
进一步简化 AnalyzeByJSoup 中的 data class ElementsSingle,尽量以共享变量代替传递变量。
|
3 years ago |
bushixuanqi
|
0aa63a9c69
|
Update AnalyzeByJSoup.kt
简化
|
3 years ago |
bushixuanqi
|
f18ff8a1ff
|
Update AnalyzeByJSoup.kt
简化
|
3 years ago |
bushixuanqi
|
69ea1ee3b4
|
Update AnalyzeByJSoup.kt
简化代码
|
3 years ago |
bushixuanqi
|
5ba01ddab9
|
Update RuleAnalyzer.kt
解决采用新平衡组后,{$.rule}内嵌规则起始位置未记录,导致未将$.当中规则一部分的问题
|
3 years ago |
bushixuanqi
|
93194909b9
|
Update RuleAnalyzer.kt
调整下参数指向
|
3 years ago |
bushixuanqi
|
ff1398eae9
|
Update RuleAnalyzer.kt
将平衡组分成采用实体字符的规则平衡组(jsoup、xpath),和允许转义字符的代码平衡组(json、JavaScript),分别对应两种情况,经测试完美解决过去遗留的问题。
|
3 years ago |
bushixuanqi
|
d408265fe2
|
Update RuleAnalyzer.kt
原来的规则还有点问题,有些情况下会跳过不分隔规则。
原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。
我重新梳理了一遍,更改了所有所有相关规则,新增了类成员变量保存另一种状态。
然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。
|
3 years ago |
bushixuanqi
|
2f38448c29
|
Update AnalyzeByJSoup.kt
将AnalyzeByJSoup中,getElementsSingle,findIndexSet,getIndexs三个函数统一整合进 data class ElementsSingle,因为它们是个整体。
|
3 years ago |
bushixuanqi
|
08d53a974c
|
Update RuleAnalyzer.kt
原来的规则还有点问题,有些情况下会跳过不分隔规则。
原因是拿一个变量记录了两个状态,有时忘记回退切换状态,导致队列位置处理混乱。
我重新梳理了一遍,更改了所有所有相关规则,新增了类成员变量保存另一种状态。
然后测试了我自己写的那几个书源,和其它用大量采用“||”、“&&”、“%%”分隔规则的书源,总算搞定。
|
3 years ago |
gedoor
|
beb03a5cf2
|
dict
|
3 years ago |
gedoor
|
78a75687d1
|
优化
|
3 years ago |
gedoor
|
9c921fcc91
|
优化
|
3 years ago |
gedoor
|
c454a8f8f1
|
优化
|
3 years ago |
gedoor
|
1dd592405a
|
优化
|
3 years ago |
gedoor
|
2237ae638e
|
优化
|
3 years ago |
bushixuanqi
|
a3dbb32812
|
Update RuleAnalyzer.kt
搞错了,那两个不是逻辑错误
|
3 years ago |
bushixuanqi
|
808e58d4b5
|
Update updateLog.md
|
3 years ago |
bushixuanqi
|
9691228561
|
Update updateLog.md
|
3 years ago |
bushixuanqi
|
b71d37fc04
|
Update RuleAnalyzer.kt
简化规则,并修正两个逻辑错误
|
3 years ago |
bushixuanqi
|
514dbf4ff9
|
Update RuleAnalyzer.kt
简化规则
|
3 years ago |
bushixuanqi
|
0dc8604b6c
|
Update RuleAnalyzer.kt
修正两个逻辑错误
|
3 years ago |
bushixuanqi
|
e2b4f77c32
|
Update RuleAnalyzer.kt
简化规则
|
3 years ago |
bushixuanqi
|
d55b264db0
|
Update RuleAnalyzer.kt
|
3 years ago |
bushixuanqi
|
8d957e2ce2
|
Update RuleAnalyzer.kt
优化代码,减少不必要的变量和操作
|
3 years ago |
bushixuanqi
|
9e6ecbf2ca
|
Update AnalyzeByJSoup.kt
查找是否存在索引列表时,当区间与当前数字都空时跳出,避免jsoup选择器被当做索引列表而导致出错。
|
3 years ago |
bushixuanqi
|
32242537f8
|
Update RuleAnalyzer.kt
修正刚才的更新中,找到筛选器起始字符时,未重置位置导致分隔字串被划分到下一段规则的问题。
|
3 years ago |
bushixuanqi
|
162cf0c6cd
|
Update RuleAnalyzer.kt
改进筛选器起始字符位置查找规则,改为逐个比对,先匹配到“(”就拉取“()”平衡,先匹配到“[”就拉取“[]”平衡,避免()和[]嵌套时出现边缘情况。
跳转筛选器匹配优先顺序,从“(”优先改为“[”优先。
|
3 years ago |
bushixuanqi
|
e8bc90fd9f
|
Revert AnalyzeByJSoup.kt
复制错了,回退
|
3 years ago |
bushixuanqi
|
d0f87aee76
|
Update AnalyzeByJSoup.kt
改进筛选器起始字符位置查找规则,改为逐个比对,先匹配到“(”就拉取“()”平衡,先匹配到“[”就拉取“[]”平衡,避免()和[]嵌套时出现边缘情况。
跳转筛选器匹配优先顺序,从“(”优先改为“[”优先。
|
3 years ago |
bushixuanqi
|
d01d77fc4f
|
Update AnalyzeByJSoup.kt
扩大索引向前的匹配范围,索引前无规则时相当于前面的规则是children
|
3 years ago |
bushixuanqi
|
0978ff83fd
|
Update RuleAnalyzer.kt
修正注释描述
|
3 years ago |
bushixuanqi
|
c9f2071e00
|
Update AnalyzeByJSoup.kt
允许索引作为首规则,此时相对于children。
head@[1]@text 与 head@children[1]@text 等价
|
3 years ago |
bushixuanqi
|
d8a83f9e15
|
Update RuleAnalyzer.kt
优化注释描述
|
3 years ago |
bushixuanqi
|
9a00fb82da
|
Update RuleAnalyzer.kt
简化部分规则,调整压入切分出的规则时的判断顺序,避免重复压入
|
3 years ago |
bushixuanqi
|
ad22929c38
|
Update AnalyzeByJSoup.kt
继续优化代码,避免不必要的操作
|
3 years ago |
bushixuanqi
|
a04e54543c
|
Update AnalyzeByJSoup.kt
更改重置区间操作的位置,避免不必要的操作
|
3 years ago |
bushixuanqi
|
91f721e28c
|
Update AnalyzeByJSoup.kt
重置区间暂存列表,解决存在多个区间时的问题
|
3 years ago |
bushixuanqi
|
464c8fe66e
|
Update AnalyzeByJSoup.kt
修正一个错误
|
3 years ago |
bushixuanqi
|
38f0f832ed
|
Update AnalyzeByJSonPath.kt
优化注释描述
|
3 years ago |
bushixuanqi
|
6caa0c39a7
|
Update AnalyzeByJSonPath.kt
注释优化,复制错代码修正
|
3 years ago |
bushixuanqi
|
db6db67f1e
|
Update AnalyzeByJSonPath.kt
注释优化
|
3 years ago |
bushixuanqi
|
5d55e0e5a8
|
Update AnalyzeByJSoup.kt
0. 新增专门用于切分各种规则的类,分解完所有规则后才切片,其余操作都只改变变量指向规则字符串中的位置。暂时只用于处理三大规则的“&&”、“||”,“%%”、“@”切分,以后将扩展到全部解析规则。
改进jsonPath,jsoup,xpath中的规则切分方法,允许查询规则的正则或字符串中存在“&&”,“||”,“%%”,“@”而不切错。
/**
* 改进解析方法
* 解决阅读”&&“、”||“与jsonPath支持的”&&“、”||“之间的冲突
* 解决{$.rule}形式规则可能匹配错误的问题,旧规则用正则解析内容含‘}’的json文本时,用规则中的字段去匹配这种内容时,会匹配错误.现改用平衡嵌套方法解决这个问题
* */
1. 加强AnalyzeByJSoup中的索引写法
/**
* 1.支持阅读原有写法,':'分隔索引,!或.表示筛选方式,索引可为负数
*
* 例如 tag.div.-1:10:2 或 tag.div!0:3
*
* 2. 支持与jsonPath类似的[]索引写法
*
* 格式形如 [it,it,。。。] 或 [!it,it,。。。] 其中[!开头表示筛选方式为排除,it为单个索引或区间。
*
* 区间格式为 start:end 或 start🔚step,其中start为0可省略,end为-1可省略。
*
* 索引,区间两端及间隔都支持负数
*
* 例如 tag.div[-1, 3:-2:-10, 2]
*
* 特殊用法 tag.div[-1:0] 可在任意地方让列表反向
*
* */
-------------------
已测试过各种“&&”、“||”,“%%”切分的规则及两者索引写法,没发现大问题,坤飞大大可以再测试看看
|
3 years ago |
bushixuanqi
|
9760d4ebee
|
Update AnalyzeByJSoup.kt
精简
|
3 years ago |
bushixuanqi
|
5d10c5ab83
|
1. 改进jsonPath,jsoup,xpath中的规则切分方法,允许查询规则的正则或字符串中存在“&&”,“||”,“%%”而不切错。
----------------------
2. 加强AnalyzeByJSoup中的索引写法
/**
* '.'开头表示选择元素,或'!'开头排除那些元素。两者都支持以索引列表按顺序指定元素列表
* ':'分隔不同索引或区间
* 区间格式为 start~end+step,其中start为0可省略,end为-1可省略。
* 索引,区间两端及间隔都支持负数
* 例如 tag.div.-1:3~-2+-10:2
* 特殊用法 tag.div.-1~0 可在任意地方让列表反向
* */
-------------------
已经测试三天没发现大问题,坤飞大大可以再测试看看
|
3 years ago |