首页 > 其他分享 >解析库之pyquery

解析库之pyquery

时间:2022-10-11 11:35:18浏览次数:38  
标签:返回 结点 文本 pyquery 标签 html 解析 选择器

pyquery.PyQuery

PyQuery有三种初始化的方式

  1. 提供一个html的字符串
  2. 提供一个url,pyquery使用requests.get(url).text方法获取,获取html的字符串
  3. 提供一个本地文件路径PyQuery(filename=’’)

find()

PyQuery对象可以直接被调用,传入css选择器即可,也可以调用PyQuery的find()方法,实现相同的效果,两种方式的查找范围都是当前tag的所有子孙标签

children()

作用与find()相同,查找范围仅限于当前tag的子标签

parent()

返回直接祖先结点

parents()

返回所有祖先结点,仍然是PyQuery对象,若想对所有祖先结点做出筛选,在parents()返回的对象上继续使用css选择器即可

siblings()

返回兄弟结点,可以继续使用css选择器

items()

当想要遍历PyQuery对象时,调用items方法返回一个生成器

attr()

pq.attr(‘class’) 可以获取class属性

也可以使用pq.attr.class_ 有个下划线

如果选中多个元素调用attr只会返回第一个元素的attr

text()

获取内部文本信息,会忽略内部的标签,但是会保留内部标签的文本信息

对打印为下图的pyquery对象使用text()方法

返回third item

<li class="item-0 active">12313<a href="link3.html"><span class="bold">third item</span></a></li>

会返回12313third item

如果css选择器选取了多个标签,text()方法会返回多个标签的文本信息

注:bs4中使用tag.string返回的文本信息同样会忽略掉内部标签保留文本信息,但是如果当前标签有文本信息,内部标签也有文本信息,会返回None;lxml的text()方法只会返回本标签的文本信息,内容标签及文本信息会全部被忽略。

html()

返回内部文本信息,不会忽略内部标签

选取多个元素时只会返回第一个的html内容

结点操作

addClass()和removeClass()

动态修改tag的class属性

attr(s1,s2)

修改s1属性为s2

text(s),html(s)

修改文本或者html为s

remove()

在tag上使用remove会删除掉当前结点

当选中多个元素时,会删除所有的元素

伪类选择器

第一个、最后一个,第二个,第三个及之后,偶数个,文本包含second的li结点。

标签:返回,结点,文本,pyquery,标签,html,解析,选择器
From: https://www.cnblogs.com/wy12148/p/16778645.html

相关文章

  • MySQL架构总览->查询执行流程->SQL解析顺序
    前言:一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了。本文将从MySQL总体架构--->查询执行流程--->语......
  • Linux awk、tr命令妙用,解析合并经纬度参数输出到终端窗口,方便一键复制
    场景概述场景:很多时候我们从数据源(数据库、文本文件、Excel表格)等取到经纬度数据,需要拿到其他地方查询或者使用,各个平台需要的参数格式可能大不相同,比如有的平台需要经度+......
  • 解析库之bs4
    bs4.Beautiful第一个参数字符串类型的html源代码,可以使用urlopen发起请求后使用read()方法或者requests.get()发起请求后使用text()获取源码第二个参数是html解析器,可以选择使......
  • 斗鱼 H5 直播原理解析,它是如何省了 80% 的 CDN 流量?
    斗鱼直播相信大家都听说过,打开斗鱼官网就可以直接在浏览器中观看直播。那么斗鱼是如何实现浏览器视频直播的呢?本篇文章就来解析斗鱼是如何实现直播的,以及它是如何节省80%......
  • 解析库之lxml
    etree解析html解析html字符串,将字符串传递给etree.HTML()方法:解析html文件,传递文件路径和解析器:xpath方法html.xpath()方法参数为xpath规则,选取html中的元素,返回为封装好的......
  • 不再只有Yolo,现在轻量级检测网络层出不穷(框架解析及部署实践)
    计算机视觉研究院专栏作者:Edison_GNanoDet总体而言没有特别多的创新点,是一个纯工程化的项目,主要的工作就是将目前学术界的一些优秀论文,落地到移动端的轻量级模型上。最后通......
  • ETCD Raft模块解析
    1.Raft简介raft是一个管理复制式日志的共识算法,它是通过复制日志的方式来保持状态机里的数据是最终一致的。 整体的一个运行描述图:  从图中可以看到由几部分组......
  • 如何实现汇川PLC和工业机器人的协议解析与数据采集?
    汇川是一家专注于工业自动化的设备制造商,具备一整套完善的产品与服务,涉及变频器、伺服系统、PLC、HMI触摸屏、电动汽车电机控制器、光伏逆变器等等,在制造业、新能源、环保节......
  • @网络通信及dns解析
    网络通信文章目录​​网络通信​​​​一.网络通信的实现​​​​二.通信实现的过程​​​​三.DNS域名解析​​​​1.dns的出现​​​​2.dns的作用​​​​3.dns的查询​......
  • 深入理解c11(c11新特性解析与应用) pdf
    高清扫描版下载链接:https://pan.baidu.com/s/1T2Zyh0PqNFRdllUIWmkcTQ点击这里获取提取码 ......