可以使用以下语法来提取文本内容中包含“中国银行“并且长度大于20的文本数据:

//text()[contains(.,'中国银行') and string-length(.)>20]

这个XPath表达式用到了以下函数:

  • text():表示当前节点的所有文本子节点。
  • contains(.,'中国银行'):判断文本内容中是否包含“中国银行”。
  • string-length(.)>20:判断文本内容长度是否大于20。其中,“.”代表当前节点,也就是要提取文本的节点。
  • 最终结果会返回所有符合以上两个条件的文本内容。

    可以使用以下XPath定位找到文本内容为"下一页"的标签:

    //a[text()='下一页']
    

    上述语句中,//a 表示选择所有的链接标签。[text()='下一页'] 表示在该选定集合中筛选出文本内容为“下一页”的元素。

    如果您想限制只在某个特定元素下搜索,可以将//替换为该元素的XPath路径。例如,如果要在带有id属性值为paginationdiv元素中搜索下一页链接:

    //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
    粉丝