可以使用以下语法来提取文本内容中包含“中国银行“并且长度大于20的文本数据:
//text()[contains(.,'中国银行') and string-length(.)>20]
这个XPath表达式用到了以下函数:
text()
:表示当前节点的所有文本子节点。
contains(.,'中国银行')
:判断文本内容中是否包含“中国银行”。
string-length(.)>20
:判断文本内容长度是否大于20。其中,“.”代表当前节点,也就是要提取文本的节点。
最终结果会返回所有符合以上两个条件的文本内容。
可以使用以下XPath定位找到文本内容为"下一页"的标签:
//a[text()='下一页']
上述语句中,//a
表示选择所有的链接标签。[text()='下一页']
表示在该选定集合中筛选出文本内容为“下一页”的元素。
如果您想限制只在某个特定元素下搜索,可以将//
替换为该元素的XPath路径。例如,如果要在带有id
属性值为pagination
的div
元素中搜索下一页链接:
//div[@id='pagination']//a[text()='下一页']
其中 //div[@id='pagination']
用于在id
为“pagination”的 div 元素内搜索子元素。
通过确定父级标签找兄弟标签:
xpath("//strong[text()='公司名称:']/../span/text()").get("").strip()
这个 XPath 表达式的含义是:
//
: 从根节点开始搜索
strong
: 元素名为 strong 的元素
[text()='公司名称:']
: 其中包含文本内容为“公司名称:”(注意这里直接判等,如果 strong 标签内有其他字符可能会匹配不成功)
/..
: 向上查找一级,即到这个 strong 标签的父标签
/span
: 在 strong 标签的父标签中寻找一个子标签名为 span 的元素
/text()
: 获取该 span 元素的文本内容
.get('')
: 获取获取到的元素文本内容。如果元素不存在则返回空字符串。
.strip()
: 去除内容首尾的空白符和换行符等。
pycode
77.0k