什么相当于Beautifulsoup的'*' - find_all?

Ste*_*enH 7 python beautifulsoup

我想<tr class="**colour blue** attr1 attr2">从一个页面获取所有内容.

attrs每个时间是不同的,以及一些其他的兄弟的<tr>scolour red,colour pink等类.

所以我在寻找后的任何其他字符colour blueclass要包含在结果中.我尝试过使用*,但它不起作用:

soup.find_all('tr', {'class': 'colour blue*'})
Run Code Online (Sandbox Code Playgroud)

谢谢

fal*_*tru 6

您可以使用常用的CSS选择器和漂亮的汤:

>>> 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>]
Run Code Online (Sandbox Code Playgroud)

tr.colours.blue选择将匹配tr,只要它具有coloursblue类属性.