查找包含特定类的所有html元素

时间:2013-05-04 05:14:30

标签: python python-2.7 web-scraping beautifulsoup

我希望BeautifulSoup找到html页面中具有某个类的所有元素。但他们也可以有额外的课程。例如:

soup.findAll('tr', {'class': 'super_class1'})

此代码仅查找仅tr的{​​{1}}。但我希望它能找到包含此类

的所有super_class1
tr

<tr class='super_class1'>aaa</tr>

<tr class='super_class1 super_class2'>bbb</tr>

1 个答案:

答案 0 :(得分:1)

这是一个已修复的错误(https://bugs.launchpad.net/beautifulsoup/+bug/410304);问题基本上是汤不能识别班级名称中的空格。

但是如果你必须使用没有修复的版本,上面的链接也提供了一个解决方案:

soup.findAll(True, {'class': re.compile(r'\bsuper_class1\b')})