xpath详解

概述

简介

XPath 是一门在XML文档中查找信息的语言。XPath 可用来在XML文档中对元素和属性进行遍历

XPath 是W3C XSLT 标准的主要元素,并且XQuery和XPointer都构建于 XPath 表达之上

文档地址

官网

w3school

浏览器中XPath工具的使用

浏览器-元素-Ctrl+F

匹配规则

路径表达式

              |         选取若干个路径,如:xpath('//div|//table')	获取所有的div与table节点 
               
              标签名字	选取此节点的所有子节点
              /	        根节点【也可以代表包含,如div/a表示div中的a】
              //	任意节点
              .	        当前节点
              ..	当前节点的父节点
              @	        选取属性 

通配符

              *	匹配任意元素节点	
              @	匹配属性节点,如@class="main"	

选择XML文件中节点

              text() (文本节点)
              element(元素节点)
              attribute(属性节点)
              concat(元素节点,元素节点)
              comment (注释节点)
              root (根节点) 

谓语

              谓语被嵌在方括号内,用来查找某个特定的节点或包含某个制定的值的节点
              xpath('/body/div[1]')	        选取body下的第一个div节点
              xpath('/body/div[last()]')	选取body下最后一个div节点
              xpath('/body/div[last()-1]')	选取body下倒数第二个节点
              xpath('/body/div[positon()<3]')	选取body下前两个div节点
              xpath('/body/div[@class]')	选取body下带有class属性的div节点
              xpath('/body/div[@class="main"]')	选取body下class属性为main的div节点
              xpath('/body/div[price>35.00]')	选取body下price元素大于35的div节点

运算符

              +	加法	6 + 4	10
              –	减法	6 – 4	2
              *	乘法	6 * 4	24
              div	除法	8 div 4	2
              =	等于	price=9.80	如果 price 是 9.80,则返回 true。如果 price 是 9.90,则返回 false。
              !=	不等于	price!=9.80	如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 false。
              <	小于	price<9.80	如果 price 是 9.00,则返回 true。如果 price 是 9.90,则返回 false。
              <=	小于或等于	price<=9.80	如果 price 是 9.00,则返回 true。如果 price 是 9.90,则返回 false。
              >	大于	price>9.80	如果 price 是 9.90,则返回 true。如果 price 是 9.80,则返回 false。
              >=	大于或等于	price>=9.80	如果 price 是 9.90,则返回 true。如果 price 是 9.70,则返回 false。
              or	或	price=9.80 or price=9.70	如果 price 是 9.80,则返回 true。如果 price 是 9.50,则返回 false。
              and	与	price>9.00 and price<9.90	如果 price 是 9.80,则返回 true。如果 price 是 8.50,则返回 false。
              mod	计算除法的余数	5 mod 2	1

python中使用

安装

pip install lxml  

使用

from lxml import etree
e = etree.HTML(resp.read())
website_urls = e.xpath('//div[@class="tag-box l"]/a/@href')  # 解析href属性值

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
pandas中的groupby函数用于按照指定的列对数据集进行分组,并对每个分组进行特定的操作。groupby函数的基本语法为: ```python df.groupby(by=None, axis=0, level=None, as_index=True, sort=True, group_keys=True, squeeze=False, **kwargs) ``` 其中,by参数用于指定分组依据的列名或列名列表;axis参数用于指定分组的轴向,默认为0,表示按照行进行分组;level参数用于多层索引时指定分组的级别;as_index参数用于指定分组后的结果是否以分组列作为索引;sort参数用于指定分组后的结果是否按照分组列排序;group_keys参数用于指定是否在分组后的结果中保留分组键;squeeze参数用于指定是否在分组后的结果中压缩单一分组的维度。 groupby函数返回的是一个GroupBy对象,可以对该对象进行多种操作,例如聚合、过滤、变换等。常用的聚合函数包括sum、mean、count、max、min等。groupby函数的原理是先将数据按照行或列进行分组,然后对每个分组进行特定的操作,并将结果合并成一个新的数据集。在实现上,groupby函数使用了split-apply-combine的策略,即先将数据集拆分成多个小组,然后对每个小组进行操作,最后将结果合并成一个新的数据集。 需要注意的是,groupby函数并不会改变原始的数据集,而是返回一个新的数据集,因此在使用groupby函数时需要注意将结果保存到变量中。另外,groupby函数对于大型数据集的性能较低,因此在处理大型数据集时需要谨慎使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

月木@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值