我正在尝试从页面获取所有<tr class="**colour blue** attr1 attr2">
attrs每次都不同,其他一些同级<tr>s具有colour redcolour pink等类。

所以我正在寻找colour blueclass之后的其他任何字符以包括在结果中。我尝试使用*,但是没有用:

soup.find_all('tr', {'class': 'colour blue*'})

谢谢

最佳答案

您可以将常用的CSS Selectors与漂亮的汤一起使用:

>>> soup = BeautifulSoup('''
...     <tr class="colour blue attr1 attr2"></tr>
...     <tr class="colour red attr1 attr2"></tr>
...     <tr class="unwanted attr1 attr2"></tr>
...     <tr class="colour blue attr3"></tr>
...     <tr class="another attr1 attr2"></tr>
... ''')
>>> soup.select('tr.colour.blue')
[<tr class="colour blue attr1 attr2"></tr>, <tr class="colour blue attr3"></tr>]

只要tr.colours.blue选择器具有trcolours类属性,它将与blue匹配。

关于python - 相当于Beautifulsoup的 '*'-find_all?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42466275/

10-12 18:50