如何访问PyQuery查询中的第一个(或第x个)项?

4 投票
2 回答
1282 浏览
提问于 2025-04-18 02:29

我有一个测试查询,它返回了两个结果。具体来说,是通过以下方式找到的一个大纲的第三层。

query = html("ul ol ul")

我该如何选择第一个或第二个无序列表呢?

query[0]

这个查询会变成一个HTML元素。

list(query.items())[0]

或者

query.items().next() #(in case of the first element)

有没有其他更好的方法我没有想到的呢?

注意:

query = html("ul ol ul :first")

这个方法获取的是每个列表的第一个元素,而不是第一个列表。

2 个回答

2

在jQuery中,你可以使用

html("ul ol ul").first()

.first() - 这个方法会把匹配到的元素集合缩减到第一个元素。

或者

html("ul ol ul").eq(0)

.eq() - 这个方法会把匹配到的元素集合缩减到指定位置的那个元素。

6

根据PyQuery的文档,你可以通过以下方式选择第一个无序列表:

query('ul').eq(0)

所以,你可以通过以下方式获取第二个无序列表:

query('ul').eq(1)

撰写回答