0

次のようなリンクがあるページをスクレイピングしています。

<a id="something" href="place" class="thing" data="12345">
<span class="otherthing"></span></a>

データというフィールドの数値を抽出したいと思います。私は次のように BeautifulSoup を使用しようとしています:

soup = BeautifulSoup(response)
for a in soup.findAll('a'):
        if 'data' in a['a']:
                print a['a']['data']

しかし、キーエラーが発生しています。

4

2 に答える 2

1

属性<a>を持つ要素のみを取得するには:data

data = [a['data'] for a in soup.findAll('a', data=True)]

data属性に整数を含む要素のみを保持するには:

import re

data = [int(a['data']) for a in soup.findAll('a', data=re.compile(r"^\d+$"))]
于 2013-04-28T03:20:57.580 に答える