xpath:
全称:XML PATH Language, 一种小型的查询语言;
支持的解析:
XML格式
html格式
通过元素,和属性进行导航
xpath的常用规则
html = """
<!DOCTYPE html>
<html>
<head lang="en">
<title>xpath测试</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<div id="content">
<ul id="ul">
<li>NO.1</li>
<li>NO.2</li>
<li>NO.3</li>
</ul>
<ul id="ul2">
<li>one</li>
<li>two</li>
</ul>
</div>
<div id="url">
<a href="http:www.58.com" title="58">58</a>
<a href="http:www.csdn.net" title="CSDN">CSDN</a>
</div>
</body>
</html>
"""
1).先将html内容转化为xpath可以解析/匹配的格式
selector = etree.HTML(html)
2).使用xpath规则对页面进行解析
例:
需求: 获取文件中div的属性id为”content“里面的所有id为“ul的”ul标签的所有li标签的内容
str = selector.xpath('//div[@id="content"]/ul[@id="ul"]/li/text()')
print(str)
# ['NO.1', 'NO.2', 'NO.3']
print(type(str))
# <class 'list'>
需求: 获取文件中div的属性id为”url“里面的所有a标签的href属性
str = selector.xpath('//div[@id="url"]/a/@href')
print(str)
# ['http:www.58.com', 'http:www.csdn.net']