联盟2套美丽的汤选

时间:2014-08-22 02:37:27

标签: python html beautifulsoup

我从表格中得到以下html,其中包含交替的浅色和深色行:

<tr class="light">
    <td>....
    </td>
  </tr>

  <tr class="dark">
    <td>....

我可以使用以下方式获得所有光线或所有暗线:

soup.select('tr.light') or soup.select('tr.dark')

有没有办法在一个声明中合并两者?

1 个答案:

答案 0 :(得分:1)

美丽的汤支持CSS selectors,因此它应该允许您使用grouping

如果是,那么您可以通过以下方式选择:

soup.select('tr.dark, tr.light')  # note the comma between.

编辑:美丽的汤似乎有相当有限的CSS选择器支持,所以你也可以试试这个:

import re
soup.find_all("td" class_=re.compile("light|dark"))

另一种选择是lxml应该支持所有CSS选择器。