Python - 爬虫 - Xpath定位之starts-with()和string()函数的简单使用
Python - 爬虫 - Xpath定位之starts-with()和string()函数的简单使用
文章目录
- Python - 爬虫 - Xpath定位之starts-with()和string()函数的简单使用
- starts-with()
- 1. 函数原型
- 2. 使用starts-with()获取相同字符开头的多个标签
- string()
- 1. 函数原型
- 2. 使用string()获取标签套标签的文本内容
- 参考
starts-with()
1. 函数原型
函数 | 解释 |
---|---|
fn:starts-with(string1,string2)
|
如果 string1 以 string2 开始,则返回 true,否则返回 false。 例子:starts-with(‘XML’,‘X’) 结果:true |
2. 使用starts-with()获取相同字符开头的多个标签
测试用的HTML
<li class="tag-1">列表项_1</li>
<li class="tag-2">列表项_2</li>
<li class="tag-3">列表项_3</li>
<li class="item-4">列表项_4</li>
使用starts-with()
获取class
属性开头为"tag"
的<li>
标签的文本
from lxml import etreehtml_txt = """
<li class="tag-1">列表项_1</li>
<li class="tag-2">列表项_2</li>
<li class="tag-3">列表项_3</li>
<li class="item-4">列表项_4</li>
"""# etree选择器
selector = etree.HTML(html_txt)
# 使用starts-with()获取class属性开头为"tag"的<li>标签的文本
contents = selector.xpath('//li[starts-with(@class, "tag")]/text()')# 打印获取到的文本
for content in contents:print(content)
运行结果
列表项_1
列表项_2
列表项_3
代码解释
- 可以看到结果不包括这一项
<li class="item-4">列表项_4</li>
starts-with(string1,string2)
该函数比较的是两个字符串,我们先通过@class
获取到相应<li>
标签的class
属性值,然后再根据string2
匹配,成功则返回true
,选取该<li>
标签,false
则不选取
string()
1. 函数原型
函数 | 解释 |
---|---|
fn:string(arg)
|
返回参数的字符串值。参数可以是数字、逻辑值或节点集。 例子:string(314) 结果:“314” |
2. 使用string()获取标签套标签的文本内容
测试用的HTML
<div class="red">内容1<div>内容2<div>内容3</div></div>
</div>
使用string()
获取标签套标签的文本内容
from lxml import etreehtml_text = """
<div class="red">内容1<div>内容2<div>内容3</div></div>
</div>
"""selector = etree.HTML(html_text)# 选择class属性为"red"的list,选择0号项(因为只有1个符合条件的div)
content1 = selector.xpath('//div[@class="red"]')[0]
# 选择当前结点返回字符串
content2 = content1.xpath('string(.)')# 打印输出字符串
print(content2)
运行结果
内容1内容2内容3
代码解释
string()
参数可以是数字、逻辑值或节点集string(.)
表示选择当前结点返回字符串尝试使用
string(div)
content2 = content1.xpath('string(div)') print(content2)
运行结果
内容2内容3
参考
菜鸟教程XPath、XQuery 以及 XSLT 函数函数参考手册:https://www.runoob.com/xpath/xpath-functions.html
《从零开始学Python网络爬虫》 - 罗攀 蒋仟
Python - 爬虫 - Xpath定位之starts-with()和string()函数的简单使用相关推荐
- Python爬虫——XPath的使用
Python爬虫--XPath的使用 使用实例一:获取需要的文字 1.导入需要使用的模块 import urllib.request from lxml import etree 2.发送请求访问网站 ...
- Python 爬虫 xpath 数据解析基本用法
Python 爬虫 xpath 数据解析基本用法 1. 基本语法 1.1 解析 html 语法 1.2 获取标签 1.3 获取标签中的内容 1.4 获取标签中的属性 1.5 通过内容寻找结点 2. 实 ...
- python爬虫,记录爬取全球所有国家-首都的简单爬虫
python爬虫,记录爬取全球所有国家-首都的简单爬虫 本来以为简单至极,没想到获取数据还是花费了大把功夫.先上图 <table> <tr> <td> <st ...
- python中xpath定位_xpath最新:关于python中的xpath解析定位_爱安网 LoveAn.com
关于"xpath"的最新内容 聚合阅读 这篇文章主要介绍了关于python中的xpath解析定位,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧... 这篇文章主要 ...
- Python爬虫xpath语法及案例使用
Python爬虫之xpath语法及案例使用 ---- 钢铁侠的知识库 2022.08.15 我们在写Python爬虫时,经常需要对网页提取信息,如果用传统正则表达去写会增加很多工作量,此时需要一种对数 ...
- python爬虫xpath的语法
有朋友问我正则,,okey,其实我的正则也不好,但是python下xpath是相对较简单的 简单了解一下xpath: XPath 是一门在 XML 文档中查找信息的语言.XPath 可用来在 XML ...
- pythonxpath定位_selenium+python自动化-xpath定位语法
前言 右键查看目标元素的xpath地址,这样查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. 什么是xpath呢? ...
- python—selenium —xpath定位方法详解
前言 今天我们来聊聊selenium -- xpath定位方法,我们都知道selenium有八大定位策略分别是id.name.class name.tag name.link text.partial ...
- python xml xpath定位_selenium3 + python - xpath定位
什么是xpath呢? 官方介绍:XPath即为XML路径语言,它是一种用来确定XML1(标准通用标记语言3的子集)文档中某部分位置的语言.反正小编看这个介绍是云里雾里的,通俗一点讲就是通过元素的路径来 ...
最新文章
- 全局组、域本地组、通用组到底有什么区别?它们之间的关系如何?
- 牛客 - 交换(思维+找循环节)
- C++之字节对齐与结构体大小
- RMI强制Full GC每小时运行一次
- linux查看cpu缓存大小,如何在Linux中获取CPU Cache的大小
- 一个德国设计奖,怎么就成了中国品牌的财富密码
- 什么是本地化部署、IaaS、PaaS、SaaS、DaaS?
- [python3]读取docx每个段落下的table数据
- Qt实现全局键盘事件监听器-Windows
- everedit选择_everedit选择_文本编辑器软件EverEdit怎么样?EverEdit相关功能介绍
- 微信小程序跳转公众号h5页面
- 2023.02.09 草图大师厨房效果图1skp素材效果图
- 游戏开发之路-hxx
- Java设计模式-程序员内功修炼-目录
- C++ 对OPENCV rect矩形进行颜色填充
- 信息系统项目管理师论文范文:整体管理篇
- 尚硅谷Shell学习笔记
- libgdx教程_使用libgdx进行Android游戏开发–一天中的原型,第1a部分
- 目标检测论文解读复现之一:基于改进YOLOv5的整车原木数量检测方法——TWD-YOLOv5(代码已复现)
- Python Argparse 库讲解特别好的