当前位置:网站首页>【爬虫】数据提取之xpath
【爬虫】数据提取之xpath
2022-07-04 22:46:00 【语音不识别】
安装
pip install lxml
导包
from lxml import etree
使用
将html字符串 转换为element对象
# 将html字符串 转换为element对象
from lxml import etree
element = etree.HTML(html_str)
以下是通过element对象.xpath('匹配规则')
来提取内容
获取标签
使用 /
表示根节点,路径和路径之间的过渡
/html/xx/xx/xxx
使用 //
跨节点选取,直接到想要的标签或者文本
//xxx # 获取所有xxx标签
使用.
./ 当前节点
使用 ..
../ # 当前节点的上一级节点
.//
当不是完整的html时,使用 ,获取相对路径
获取属性
@属性名
获取当前标签 这个属性对应的属性值
//img/@src # 所有img 的scr属性
获取文本
/text()
获取标签里面的文本内容//标签名[contains( text() , ' 文字 ' ) ]
获取包含 文字的 标签
//ol/li//span[contains(text(),'可播放')]
获取特定条件标签
//标签名[@属性名=值]
根据标签的属性值去定位具体的标签
//span[@class='title'] # 可以通过类名进行获取了
//标签名[索引]
索引从1开始
从前边获取//上一级标签/标签名[position()>3]
从第4个开始
从后边获取//上一级标签/标签名[last()]
获取最后一个//上一级标签/标签名[last() - 2]
倒数第3个
结合//ol/li[position()>1][position()<last()-2]
//标签名[text()='值']
根据标签中具体的文本内容定位具体的标签,需要一字不差进行匹配
//ol/li//span[text()='[可播放]'] # 匹配标签内容是[可播放]的标签
边栏推荐
- Gnawing down the big bone - sorting (II)
- D3.js+Three. JS data visualization 3D Earth JS special effect
- 剑指 Offer 67. 把字符串转换成整数
- Async await used in map
- Network namespace
- cout/cerr/clog的区别
- Sword finger offer 68 - ii The nearest common ancestor of binary tree
- HMS core unified scanning service
- MySQL Architecture - logical architecture
- S32 Design Studio for ARM 2.2 快速入门
猜你喜欢
Unity vscode emmylua configuration error resolution
【机器学习】手写数字识别
Redis入门完整教程:初识Redis
Redis入门完整教程:键管理
Excel 快捷键-随时补充
Google Earth engine (GEE) - tasks upgrade enables run all to download all images in task types with one click
Advanced area of attack and defense world misc 3-11
智力考验看成语猜古诗句微信小程序源码
Attack and defense world misc advanced grace-50
A complete tutorial for getting started with redis: hyperloglog
随机推荐
mamp下缺少pcntl扩展的解决办法,Fatal error: Call to undefined function pcntl_signal()
VIM editor knowledge summary
攻防世界 MISC 進階區 Erik-Baleog-and-Olaf
Redis入门完整教程:Pipeline
Serial port data frame
Is Huatai Securities a nationally recognized securities firm? Is it safe to open an account?
Redis入门完整教程:HyperLogLog
Duplicate ADMAS part name
How to send a reliable request before closing the page
A complete tutorial for getting started with redis: transactions and Lua
Redis démarrer le tutoriel complet: Pipeline
[OpenGL] note 29 anti aliasing (MSAA)
【二叉树】节点与其祖先之间的最大差值
浅聊一下中间件
云服务器设置ssh密钥登录
PS style JS webpage graffiti board plug-in
ECS settings SSH key login
【ODX Studio编辑PDX】-0.3-如何删除/修改Variant变体中继承的(Inherited)元素
EditPlus--用法--快捷键/配置/背景色/字体大小
Redis: redis configuration file related configuration and redis persistence