Python爬虫基础讲解(七):xpath的语法

Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542 

xpath语法

XPath使用路径表达式来选取XML文档中的节点或者节点集。这些路径表达式和我们在常规的电脑文件系统中看到的表达式非常相似。

下面列出了最有用的表达式:

Python爬虫基础讲解(七):xpath的语法_第1张图片

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:


Python爬虫基础讲解(七):xpath的语法_第2张图片

选取未知节点


Python爬虫基础讲解(七):xpath的语法_第3张图片

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:


Python爬虫基础讲解(七):xpath的语法_第4张图片
案例
Python爬虫基础讲解(七):xpath的语法_第5张图片
import parsel # str --> Selector对象具有xpath方法
提取到的数据返回一个列表

html_str = """
    
# 1、转换数据类型 # data = parsel.Selector(html_str).extract() # parsel能够把缺失的html标签补充完成 data = parsel.Selector (html_str) # parsel能够把缺失的html标签补充完成 # 2、解析数据--list类型 # print(data) # 2、1从根节点开始,获取所有标签 result = data.xpath(' /html/body/ div/ul/li/a').extract() # 2、2跨节点获取所有标签 result = data. xpath('/ /a').extract() # 2、3选取当前节点――使用场景:需要对选取的标签的下一级标签进行多次提取 result = data.xpath('//ul') result2 = result.xpath(' ./li').extract() #提取当前节点下的
  • 标签 result3 = result.xpath(' ./li/a').extract() #提取当前节点下的标签 # 2、4选取当前节点的父节点,获取父节点的class属性值 result = data.xpath(' //a') result4 = result.xpath('../@class').extract() # 2、5获取第三个
  • 标签的节点(两种方法) result = data. xpath('//li[3]').extract() result = data. xpath(' / /1i')[2].extract() # 2、6 通过定位属性的方法获取第四个标签 result = data. xpath(' / / a [@href="link4.html"]’).extract() #2、7用属性定位标签,获取第四个标签包裹的文本内容 result = data.xpath('//a[@href="link4.html"]/text()' ). extract() #2、8获取第五个标签的href属性值 result = data. xpath(' / /1i[5]/a/@href').extract(#了解模糊查询 result = data.xpath('//li[contains(@class,"it")]’).extract () #同时获取
  • 标签的属性以及标签的文本 # result = data.xpath('//li/@class|//a/text()').extract() print (result)
  • 如何选取多个标签?

    通过在路径表达式中使用“”运算符,您可以选取若干个路径。(逻辑运算符)

    小结

    1. xpath的概述XPath (XML Path Language),解析查找提取信息的语言
    2. xpath的节点关系:根节点,子节点,同级节点
    3. xpath的重点语法获取任意节点://
    4. xpath的重点语法根据属性获取节点:标签[@属性=’值’]
    5. xpath中获取节点的文本:text )
    6. xpath的获取节点属性值:@属性名

    你可能感兴趣的:(Python爬虫基础讲解(七):xpath的语法)