【2022.06.30】huginn常使用的xpath语法函数

在使用huginn的时候,常用到xpath语法和Liquid语法,liquid语法教程还是很好找的,但是xpath function相对来说比较难找一点,在这里自己总结下

translate

translate(string, abc, XYZ)

number

这个直接number(.)就可以用,但是没办法转化逗号,如果要使用,则需要

number(translate(., ',', ''))

sum

前提要可以使用number

contains

参数:contains(attr,keywords)
使用方法:
我们要选择name属性中含有“word”字样的标签,表达式为:
*[contains(@name,“word”)] (ps:字符串使用单引号,双引号均可)

not()

使用方法:
如果选择不包含“word”字样的标签,表达式为*[not(contains(@name,“word”))]

substring-before()

参数:substring-before(str1,str2)
使用方法:
选取文章标题Python爬虫需要的技能:Xpath的使用中“:”前的部分,函数用于返回字符串str1中位于字符串str2之前的部分,表达式为:substring-before(“Python爬虫需要的技能:Xpath的使用”,“:Xpath的使用”)
返回的结果是 Python爬虫需要的技能

substring-after()

参数:substring-after(str1,str2)
使用方法: 选取文章标题Python爬虫需要的技能:Xpath的使用中“:(冒号)”后的部分,函数用于返回字符串str1中位于字符串str2之后的部分,表达式为:substring-after(“Python爬虫需要的技能:Xpath的使用”,“Python爬虫需要的技能:”)
返回的结果是 Xpath的使用

starts-with()

参数:starts-with(attr,keywords)
使用方法: 查找name属性中开始位置包含’user’关键字的标签,表达式为:starts-with(@name,“user”)

last()

//bookstore/book[last()] bookstore 的最后一个 book

//bookstore/book[last()-1] bookstore 的倒数第二个 book

position()

//bookstore/book[position() < 3] bookstore 最前面的两个book

ceiling(num)

大于它的最小整数

floor(num)

小于它的最大整数

round(num)

四舍五入

字符串相关

函数 功能
string(arg) 转字符串,参数可以是数字、逻辑值或节点集
concat(string, string, …) 拼接
substring(string, start, [len]) 切片
string-length(string) 字符串长度
normalize-space(string) 删除开头结尾的空白,中间空白只保留一个
translate(string1, string2, string3) 以 string2 对应的 string3 序列,对 string1 进行替换
contains(string1, string2) 包含
starts-with(string1, string2) 以xx开头
substring-before(string1, string2) 提取xx之前的字符串
substring-after(string1, string2) 提取xx之后的字符串

substring

substring(string, start)
substring(string, start, length)

string-length

string-length( [string] )

local-name(.)/name(.)

返回当前节点名称

namespace-uri( [node-set] )

返回链接

或运算

//book/title | //book/price book 的所有 title 和 price

参考链接

(4条消息) 【Python】Python爬虫需要的技能:Xpath的使用_只剩渣了的博客-CSDN博客

posted @ 2022-06-30 10:38  Mokou  阅读(220)  评论(0编辑  收藏  举报