千家信息网

python中pyquery怎么用

发表于:2025-02-08 作者:千家信息网编辑
千家信息网最后更新 2025年02月08日,小编给大家分享一下python中pyquery怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、pyquery的介绍
千家信息网最后更新 2025年02月08日python中pyquery怎么用

小编给大家分享一下python中pyquery怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

一、pyquery的介绍

使用pyquery需要在Web和了解jQuery的基础上,使用该CSS选择器。

二、pyquery的使用

1、初始化工作

使用pyquery初始化的方式有很多,传入的参数可以是字符串,也可以是URL和文件名,下面将一一介绍初始化方法。

字符串
html = '''    test02.html    
'''from pyquery import PyQuery as pqdoc = pq(html)print(doc('title'))

【运行结果】

test02.html

URL

URL以CSDN首页地址为例:

from pyquery import PyQuery as pqdoc = pq(url = 'https://www.csdn.net/')print(doc('title'))

【运行结果】

CSDN - 专业开发者社区

文件初始化

我们将以下字符串保存为一个HTML文件,通过文件的形式进行初始化。

【test02.html】

      Harry Potter    29.99        Learning XML    39.95  
from pyquery import PyQuery as pqdoc = pq(filename = 'test02.html')print(doc('title'))

【运行结果】

Harry Potter
Learning XML

2、查找节点

(1)查找子节点

查找子节点时需要用到find()方法,此时传入的参数是CSS选择器。

from pyquery import PyQuery as pqdoc = pq(filename = 'test02.html')item = doc('book')print(item)lis1 = item.find('title')lis2 = item.find('price')print(lis1)print(lis2)

【运行结果】


Harry Potter
29.99


Learning XML
39.95

Harry Potter
Learning XML

29.99
39.95
可以看到,我们首先匹配的是book节点,然后匹配book节点下的子节点title和price。

其实使用find方法匹配的是所有的子孙节点,如果只是单纯匹配子节点可以使用children方法。

(2)匹配父节点

使用parent()方法,如果是要匹配祖先节点,则需要使用parents()方法。

(3)匹配兄弟节点

可以使用siblings()方法。

3、遍历

对于获取到的内容如果是单个节点,则可以直接转换为字符串类型,而对于获取到多个节点,因其类型为PyQuery类型,需要对获取到的数据进行遍历,这是需要调用items()方法。

from pyquery import PyQuery as pqdoc = pq(filename = 'test02.html')items = doc('title').items()print(items)print(type(items))for i in items:    print(type(i))    print(i)

【运行结果】




Harry Potter


Learning XML

4、获取信息

(1)获取属性

使用attr()方法

from pyquery import PyQuery as pqdoc = pq(filename = 'test02.html')items = doc('title')for i in items.items():    print(i.attr('lang'))

【运行结果】

eng
eng

遍历获取到的数据,就能获得所有title节点的land属性值。

(2)获取文本

使用text()方法

from pyquery import PyQuery as pqdoc = pq(filename = 'test02.html')items = doc('title')for i in items.items():    print(i.text())

【运行结果】

Harry Potter
Learning XML

同样是遍历,获取到每一个title节点的文本值。

5、节点操作

(1)为某个节点添加或删除一个class

调用的方法为addClass和removeClass

from pyquery import PyQuery as pqdoc = pq(filename = 'test02.html')items = doc('title')for i in items.items():    print(i)    i.addClass('book01')    print(i)    i.removeClass('book01')    print(i)

【运行结果】

Harry Potter

Harry Potter

Harry Potter

Learning XML

Learning XML

Learning XML

可以看到,首先是打印最初始的title节点,加上class属性后再次打印,去掉class属性后再次打印。

(2)attr、text、html

attr:用来改变属性值;

text:用来改变文本值;

html:用来改变节点值;

(3)remove

移除不需要的节点值,将整个节点移除。

6、伪类选择器

支持多种伪类选择器,例如选择第一个节点、最后一个节点、奇数节点、偶数节点、以及包含指定文本的节点等。

以上是"python中pyquery怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

节点 方法 结果 运行 属性 选择 字符 字符串 文件 文本 内容 篇文章 类型 再次 参数 数据 不怎么 专业 信息 偶数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 利亚方舟影楼管理系统服务器配置 幻宇科技 网络安全 合肥学软件开发学校 网络技术 作业 个人信息网络安全的法律 新闻数据库 阿里 北京软件开发成本 网络运营者违反网络安全法的 江西省宣传部网络安全处处长 软件开发工作室需要什么设备 软件开发中专可以就业吗 万方数据库申请加入机构 网络安全案例启示 石河子网络安全技术有哪些 oa管理员提示邮箱服务器升级 量子通信网络技术研究院 新能源软件开发工作内容 乐享视频的服务器 大话西游免费版服务器 60 数据库 精神水晶 u8 v11数据库表设计 视频播放终端解码优于服务器解码 互联网科技公司港交所上市 云服务厂商每年买多少服务器芯片 国家网络安全宣传周主题如何开展 石景山区软件开发服务电话 织梦数据库访问地址 数据库就业形式 网络技术基础知识pdf 数据库db完好时恢复备份
0