从pag上的字段中刮取值

2024-10-05 11:00:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在抓取一个链接如下的页面:

<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']

但我有个关键错误。你知道吗


Tags: iniddata链接place页面somethingclass
2条回答

要仅获取具有<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+$"))]

也许这就是你需要的:

for a in soup.findAll('a'):
    if a.has_attr('data'):
        print(a['data'])

相关问题 更多 >

    热门问题