0

这是片段

containers = file.findAll("tr")
len(containers)      # return 18

type(containers)     # returns bs4.element.ResultSet

我如何才能在“tr”中仅获取第 3 到第 17 项的元素,即通过排除 ResultSet 中的 1,2 和最后一项?

4

1 回答 1

3

由于 BeautifulSoup 中 findAll 方法的结果是一个列表,因此您可以对列表进行切片以从中获取相关元素

containers = file.findAll("tr")
containers[3:18]

或者

containers = [v for i, v in enumerate(containers) if 2 < i < 18]

如果您想通过列表比较来做到这一点

于 2020-05-08T08:02:23.977 回答