【发布时间】:2021-12-01 15:43:03
【问题描述】:
我在使用 Beautifulsoup 抓取 XBRL 文件时遇到问题。
代码:
openxbrl = open(file.file_path, 'r')
readxbrl = openxbrl.read()
contextsoup = xbrlsoup.findAll('xbrli:context')
print(contextsoup)
给出以下输出(示例,有多个孩子)
<xbrli:context id="context0">
<xbrli:period>
<xbrli:instant>
2020-12-31
</xbrli:instant>
</xbrli:period>
我似乎无法弄清楚如何在不打印整个 contextsoup 的情况下解析上下文 ID:id="context0"。我尝试通过解析名称来打印 id:
for child in contextsoup:
pprint.pprint(child.name)
pprint.pprint(child.find('xbrli:period'))
但不给我id
'xbrli:context'
<xbrli:period>
<xbrli:instant>
2020-12-31
</xbrli:instant>
</xbrli:period>
如何在不打印整个 xbrl 的情况下解析 id?
【问题讨论】:
-
什么是
complete name? -
id不是name的一部分,但它是attribute,您可以通过child['id']或child.get('id')获得它 -
child['id'] 有效!谢谢弗拉斯。不知道id是一个属性。
标签: python beautifulsoup xbrl