1

やってみます

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を使用することはできませんか?

4

1 に答える 1

2

使用される比較は文字通りの同等性チェックであるため、次のように機能します。

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

于 2012-11-16T09:28:37.743 に答える