我正在尝试从页面获取所有<tr class="**colour blue** attr1 attr2">
。attrs
每次都不同,其他一些同级<tr>s
具有colour red
,colour pink
等类。
所以我正在寻找colour blue
中class
之后的其他任何字符以包括在结果中。我尝试使用*
,但是没有用:
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
选择器具有tr
和colours
类属性,它将与blue
匹配。关于python - 相当于Beautifulsoup的 '*'-find_all?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42466275/