我想选择除第一个项目以外的所有目标项目。我使用了':nth-of-type(n + 2)',但是系统显示了错误:仅实现了以下伪类:nth-of-type
像这样:
data1 = soup1.select('#zoom > div > p:nth-of-type(n + 2)')..
答案 0 :(得分:1)
问题出在您的beautifulsoup
版本中,请确保您使用的版本至少为4.7.1+
。
在较低版本中,不支持更高级的CSS选择器。
要获得您的实际版本,您可以
import bs4
print(bs4.__version__)
打印:
4.8.0
然后您可以执行CSS选择器,例如p:not(:nth-child(1))
:
data = '''<div>
<p>
1
</p>
<p>
2
</p>
<p>
3
</p>
</div>'''
soup = bs4.BeautifulSoup(data, 'lxml')
print( soup.select('p:not(:nth-child(1))') )
打印:
[<p>
2
</p>, <p>
3
</p>]