快捷搜索:  汽车  科技

python爬虫框架scrapy初步学习(Python网络爬虫--scrapy的选择器Xpath)

python爬虫框架scrapy初步学习(Python网络爬虫--scrapy的选择器Xpath)Xpath路径案例一、Xpath路径标签嵌套层次太复杂Xpath是XMLPath的简介,基于XML树状结构,可以在整个树中寻找锁定目标节点。由于HTML文档本身就是一个标准的XML页面,因此我们可以使用XPath的语法来定位页面元素。Xpath定位方法

Xpath简介

一般来说,使用id、name、class等属性就能对节点进行定位就能解决绝大部分解析需求,但有时候遇到以下情况,使用Xpath就更方便:

  • 没有id、name、class等

  • 标签的属性或者文本特征不显著

  • 标签嵌套层次太复杂

Xpath是XMLPath的简介,基于XML树状结构,可以在整个树中寻找锁定目标节点。由于HTML文档本身就是一个标准的XML页面,因此我们可以使用XPath的语法来定位页面元素。

Xpath定位方法

一、Xpath路径

python爬虫框架scrapy初步学习(Python网络爬虫--scrapy的选择器Xpath)(1)

Xpath路径案例

定位节点

#查找html下的body下的form下的所有input节点 /html/body/form/input #查找所有input节点 //input

通配符*选择未知的节点

#查找form节点下的所有节点 //form/*#查找所有节点//* #查找所有input节点(input至少有爷爷辈亲戚节点) //*/input

二、使用索引

如果筛选时元素时出现多个节点,但我们想确定唯一节点。可以使用类似于列表索引的方式精确定位。

<a class="menu_hot" href="/ads/auth/promote.html">应用推广</a>

#定位href属性中包含“promote.html”的所有a节点 //a[contains(@href 'promote.html')] #元素内的文本为“应用推广”的所有a节点 //a[text()='应用推广'] #href属性值是以“/ads”开头的所有a节点 //a[starts-with(@href '/ads')]

五、Xpath轴

这部分类似BeautifulSoup中的sibling、parents、children方法。

python爬虫框架scrapy初步学习(Python网络爬虫--scrapy的选择器Xpath)(2)

猜您喜欢: