我正在抓一个有这样一个链接的页面:
<a id="something" href="place" class="thing" data="12345">
<span class="otherthing"></span></a>
我想在名为data的字段中提取数字。我一直试图像这样使用BeautifulSoup:
soup = BeautifulSoup(response)
for a in soup.findAll('a'):
if 'data' in a['a']:
print a['a']['data']
但我收到了一个关键错误。
答案 0 :(得分:1)
也许这就是你需要的:
for a in soup.findAll('a'):
if a.has_attr('data'):
print(a['data'])
答案 1 :(得分: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+$"))]