1.xpath
1.1 基本概念
- XPath(XML Path Language)是⼀种XML的查询语⾔,他能在XML树状结构中寻找节点。XPath 用于在XML文档中通过元素和属性进行导航
- xml是⼀种标记语法的文本格式,xpath可以⽅便的定位xml中的元素和其中的属性值。lxml是python中的⼀个包,这个包中包含了将html⽂本转成xml对象,和对对象执行xpath的功能
1.2 节点的关系
xml_content = '''
<html>
<head>
<title>Title</title>
</head>
<body>
<span1 class=" ">Span1</span1>
<span2 class=" ">Span2</span2>
<span3 href =" ">Span3</span3>
</body>
</html>
'''
在上面的XML文档中
- 文档节点:<html>,<head>,<body>
- 元素节点:<title>Title</title> ,<span1 class=" ">Span1</span1>等
- 属性节点:class=" “,href =” "
- 子节点:内部不再存在元素节点的节点,例如:title,span1,span2,span3,span4
- 父节点:内部还存在元素节点的节点,例如:head,body
- 同胞:共同属于同一父节点的子节点,例如:span1,span2,span3,span4
- 先辈:指子节点的父节点以及父节点的父节点,例如:html,head,body
2.基本使用
2.1 工具安装
常用节点选择工具:
- chrome插件XPath Helper
- Firefox插件XPath Checke
XPath Helper常用表达式
| 表达式 | 功能 |
|---|---|
| nodename | 选取根节点nodename的所有子节点 |
| / | 从根节点进行选取 |
| // | 从文档中匹配所有选择节点 |
| . | 选取当前节点 |
| .. | 选取当前节点的父节点 |
| @ | 选取属性 |
查找某个特定的节点或者包含某个指定的值的节点
| 路径表达式 | 结果 |
|---|---|
| /html/head/title | 选取title节点 |
| /html/body[1] | 选取span1节点 |
| /html/body[last()] | 选取span3节点 |
| //span1[@class=" "] | 选取class=" "的span1节点 |
2.2 模块的使用
- 在Python中,我们安装lxml库来使⽤XPath 技术
- lxml 是 ⼀个HT

本文介绍了Python中的XPath和lxml模块,用于XML和HTML文档的节点定位。XPath是一种查询语言,方便在文档中找到元素和属性。lxml库提供了将HTML文本转换为XML对象并应用XPath的功能。文章详细讲解了XPath的基本概念,如节点关系,以及在Python中安装和使用lxml的方法。最后,通过实例展示了如何利用lxml爬取豆瓣电影Top 250的数据,包括电影名、评分、引言和链接,并将其保存到CSV文件。
最低0.47元/天 解锁文章
279

被折叠的 条评论
为什么被折叠?



