首页 > 编程语言 >python 爬虫 ----- xpath

python 爬虫 ----- xpath

时间:2022-10-28 20:15:29浏览次数:47  
标签:xpath xml python text tree book ----- result

  • xpath 是在XML文档中搜索内容的一门语言
  • html是xml的一个子集

 

xml代码示例

"""
<book>
    <id>1</id>
    <name>野花遍地香</name>
    <price>1.23</price>
    <author>
        <nick>周大枪</nick>
        <nick>周芷若</nick>
    </author>
</book>
"""

#安装lxml

 

 完整代码

from lxml import etree

xml = """
<book>
    <id>1</id>
    <name>野花遍地香</name>
    <price>1.23</price>
    <author>
        <nick>周大枪</nick>
        <nick>周芷若</nick>
        <div>
            <nick>大</nick>
            <nick>周</nick>
        </div>
    </author>
</book>
"""

tree = etree.XML(xml)
# result = tree.xpath("/book/name/text()")  # 表示层级关系,第一个/是根节点
# text()表示拿文本
# result = tree.xpath("/book/author//nick/text()") # //表示所有 拿出所有的后代
result = tree.xpath("/book/author/*/nick/text()") # *表示任意名字
print(result)

 

 

Xpath 数数是从1开始

[数字]表示第几个

[@属性=“值”]表示筛选

 

 

相对查找:先从根目录里找到需要的当前目录 存入list

再在list里面 通过 “ ./ " 进行相对查找

 

 

拿属性值 @操作符

 

 

 

技巧:

通过F12 检查 来快捷获取Xpath  (可以自行微调)

 

标签:xpath,xml,python,text,tree,book,-----,result
From: https://www.cnblogs.com/slowlydance2me/p/16837325.html

相关文章

  • JavaScript--cookie
    一、概述cookie总是保存在客户端中(浏览器端)。cookie为了保存sessionID出现的。cookie的出现解决了http无状态的问题。二、特性cookie是不安全的cookie是可以被篡......
  • JavaScript--Date
    一、Date的概述在JavaScript中,Date类型是用来保存日期的,它能精确到1970年1月1日之前或之后的285616年。二、Date的声明使用new关键字声明要创建一个日期对象,使用new操......
  • JavaScript--_==_和_===_
    一、""和"="简单介绍1)宽松相等(looseequals)==和严格相等(strictequals)===都用来判断两个值是否“相等”,但是它们之间有一个很重要的区别,特别是在判断条件上。2)正确的解......
  • JavaScript--AJXS
    协议(基于tcp/ip)超文本传输协议(HyperTextTransferProtocol,HTTP)是用于从WWW服务器传输超文本到本地浏览器的传输协议(transport)。它可以使浏览器更加高效,使网络传输减少。......
  • JavaScript--BOM
    一、BOM的概述虽然ECMAScript把浏览器对象模型(BOM,BrowserObjectModel)描述为JavaScript的核心,但实际上BOM是使用JavaScript开发Web应用程序的核心。BOM提供了......
  • Javascrip内置函数--计时器
    延时执行:setTimeout()  setTimeout的三种写法:console.log(1);/***第一个参数是代码,注意代码需用引号包裹,否则会立即执行代码*第二个参数是1000,即1000ms......
  • Python-一个傻瓜可视化的神库Streamlit
    1.如何安装?和安装其他包一样,安装streamlit非常简单,一条命令即可➜pipinstallstreamlit考虑到streamlit会附带安装比较多的工具依赖包,为了不污染当前的主要环境,......
  • 【CF888G】Xor-MST(01Trie,最小生成树)
    看到异或最值要么是线性基要么是01Trie。线性基显然可以排除。那么先把所有的\(a_i\)插入01Trie内。然后发现对于任意两个数\(a_i\)和\(a_j\):你发现它们在\(......
  • JavaScript--初识
    一、JavaScript的了解1995年,网景公司与Sun公司结为开发联盟,共同完成LiveScript的开发。后网景把LiveScript改名为JavaScript。二、JavaScript的概述JavaScript是一个轻......
  • JavaScript--Math
    一、概述ECMAScript提供了Math对象作为保存数学公式、信息和计算的地方。Math对象提供了一些辅助计算的属性和方法。注意:Math对象上提供的计算要比直接在JavaScrip......