python爬虫基础 - XPATH

XPath常用规则

在这里插入图片描述

示例HTML

<div id="songs-list">
	<h2 class"title">经典老歌</h2>
	<p class="introduction"> 经典老歌</p>
	<ul id="list" class="list-group">
		<li data-view="2 ">一路上有你</ li>
		<li data-view="7">
			<a href ="/2.mp3" singer="任贤齐">沧海一卢笑</a>
		</li>
		<li data-view="4" class="active">
			<a class="li item" name="item" href ="/4.mp3 singer ="齐泰">往事随风</a>
		</li>
		<li data-view="飞"><a href="/4.mp3" singer="beyond">光辉岁月</a></li>
		<li data-view="5"><a href="/S.mp3" singer="除也琳">记事本</a></li>
		<li data-view="5"><a href="/6.mp3" singer="邓丽君">但愿人长久</a>
		</li>
	</ul>
</div>

所有节点

//*

子节点

//li/a

父节点

//li/.. 或 //li/parent::ul

文本获取

//li/a/text()

属性匹配

//li/a[@href="/4.mp3"]
//li/a[@href]
//li/a[not(@href)]

属性获取

//li/a/@href

属性多值匹配(适用于属性包含多个值,如class=“li item”)

//li/a[contains(@class, “li”)]

多属性匹配(适用于匹配多个属性,如 <a class=“li item” name=“item”/>)

//li/a[contains(@class, “li”) and @name=“item”]
在这里插入图片描述

按序索引(顺序从1开始)

//li[1]
//li[last()]
//li[position() < 3]
//li[last() - 1]

节点轴选择

//li/parent:: *
//li/parent::ul
//li/child::a[@href="/4.mp3"]
//li/ancestor::div
//li/descendant::a[@href]
//li[1]/following::a[1]
//li[1]/following-sibling::li[1]

发布了56 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/luo15242208310/article/details/104222353