PyQuery 使用 eq() 方法判断和获取特定 class 元素
假设你已经从网页中获取了 HTML 代码并将其存储在变量 html 中,使用 PyQuery 可以按如下方式查找和判断 class:
from pyquery import PyQuery as pq
doc = pq(html)
# 判断是否存在 'c-review__prefix'
if doc('.c-review__prefix'):
print('存在 'c-review__prefix'')
# 判断是否存在 'c-review__prefix c-review__prefix--color-green'
if doc('.c-review__prefix.c-review__prefix--color-green'):
print('存在 'c-review__prefix c-review__prefix--color-green'')
# 找到所有 'c-review__prefix' 元素
prefix_elements = doc('.c-review__prefix')
# 找到第二个 'c-review__prefix' 元素
second_prefix_element = doc('.c-review__prefix').eq(1)
代码解析:
- 导入 PyQuery 库:
from pyquery import PyQuery as pq - 创建 PyQuery 对象:
doc = pq(html) - 判断 class 是否存在:
if doc('.c-review__prefix')- 使用doc('.selector')方法判断是否有符合选择器的元素,若存在则返回 True,否则返回 False。 - 查找所有元素:
prefix_elements = doc('.c-review__prefix')- 使用doc('.selector')方法获取所有符合选择器的元素,并将其存储在prefix_elements变量中。 - 获取指定位置的元素:
second_prefix_element = doc('.c-review__prefix').eq(1)- 使用eq(index)方法获取指定索引位置的元素。索引从 0 开始。
注意:
eq()方法返回的是 PyQuery 对象,你可以通过.text()方法获取元素的文本内容,通过.attr()方法获取元素的属性,或使用其他 PyQuery 方法进行操作。- 如果需要判断多个 class,可以使用
.连接多个 class 名称,例如doc('.c-review__prefix.c-review__prefix--color-green')。
希望这篇文章对您有所帮助。
原文地址: https://www.cveoy.top/t/topic/nTHa 著作权归作者所有。请勿转载和采集!