PyQuery的不详细解释

本文介绍了PyQuery库的基本使用方法,包括实例化、查找元素、使用伪类选择器及获取文本等,适合初学者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面

用了两天的PyQuery来做爬虫,但对这个库还是云里雾里的,今天特意抽空总结一下,下面可以先看他的源码。
这里贴出网址:https://github.com/gawel/pyquery/
其实我们用这个库,常用的方法也就那几个,我也是简单总结一下最常用的方法的用法。

html = '''
<div id="container">
    <ul class="list">
         <li class="item-0">first item</li>
         <li class="item-1"><a href="link2.html">second item</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
         <li class="item-1 active"><a href="link4.html">fourth item</a></li>
         <li class="item-0"><a href="link5.html">fifth item</a></li>
     </ul>
 </div>
'''

常用方法

1、PyQuery是个类
from pyquery import PyQuery as pq
doc = pq(html)     #对这个类进行实例化
2、查找元素及其子元素
from pyquery import PyQuery as pq
doc = pq(html)
items = doc('.list')
print(items)

lis = items.find('li')   #查找类名为list标签的子标签li
print(lis)
--------------------------------------------------------
还可以这么写
lis=doc(".list li")     #list与li用空格隔开
3、查找父元素和兄弟元素

我感觉没啥用,现在还没用过,就不写了,以后感觉有用了,用到了在写。(可能是我刚开始学,还太菜,不懂得这两个的好处)

4、伪类选择器
html = '''
<div class="wrap">
    <div id="container">
        <ul class="list">
             <li class="item-0">first item</li>
             <li class="item-1"><a href="link2.html">second item</a></li>
             <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
             <li class="item-1 active"><a href="link4.html">fourth item</a></li>
             <li class="item-0"><a href="link5.html">fifth item</a></li>
         </ul>
     </div>
 </div>
'''
-----------------------------------
from pyquery import PyQuery as pq
doc = pq(html)
li = doc('li:first-child')   #获取第一个li
print(li)
li = doc('li:last-child')   #获取最后一个li
print(li)
li = doc('li:nth-child(2)')  #获取第二个li
print(li)
li = doc('li:gt(2)')  #获取最后两个li
print(li)
li = doc('li:nth-child(2n)')  #获取编号为偶数的li,以0开始编号
print(li)
li = doc('li:contains(second)')  #获取内容中包含字符串  "second" 内容的li
print(li)
5、获取文本

用到text()方法即可

html = '''
<div class="wrap">
    <div id="container">
        <ul class="list">
             <li class="item-0">first item</li>
             <li class="item-1"><a href="link2.html">second item</a></li>
             <li class="item-0 active"><a href="link3.html"><span class="bold">third item</span></a></li>
             <li class="item-1 active"><a href="link4.html">fourth item</a></li>
             <li class="item-0"><a href="link5.html">fifth item</a></li>
         </ul>
     </div>
 </div>
'''
from pyquery import PyQuery as pq
doc = pq(html)
a = doc('.item-0.active a')
print(a)
print(a.text())

写在最后

以上代码全部来源于崔庆才大神的教程,如有侵权,联系删除!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值