我试试
necessaryStuffOnly = SoupStrainer("table",{"class": "views-table"})
soup = BeautifulSoup(vegetables,parse_only=necessaryStuffOnly)
在这样的桌子上没有运气:
<div class="view-content">
<table class="views-table sticky-enabled cols-20">
<thead>
<tr>
<td>blablaba</td>
</tr>
</thead>
<tbody>
<tr>
<td>more blablabla</td>
</tr>
</tbody>
</table>
</div>
这适用于div
SoupStrainer("div",{"class": "view-content"})
这样的SoupStrainer不能过滤多个类的元素吗?
答案 0 :(得分:1)
使用的比较是文字等式检查,因此以下工作:
soup('table', {'class': "views-table sticky-enabled cols-20"})
您可以通过将函数传递给过滤器来使其匹配:
soup('table', {'class': lambda L: 'views-table' in L.split()})
可能值得检查你正在使用的版本,因为我觉得不应该再这样了......更新:是的,你去https://bugs.launchpad.net/beautifulsoup/+bug/410304