Can take a look at this.
from bs4 import BeautifulSoup
html = '''\
<g class="column column-0" id="dataPointLayerNr0">
<g class="dotGroup group-0" id="dotGroupNr0"><circle cx="137" cy="203.25" r="10.8" id="Gesamt" class="dot Gesamt" stroke="white" stroke-width="3" fill="#000000"></circle>
<circle cx="137" cy="203.25" r="43.2" id="GesamtFallback" class="dot fallback Gesamt" stroke="white" stroke-width="3" fill="#000000"></circle>
<text x="137" y="211.25" class="valText" text-anchor="middle" font-size="18" fill="#ffffff">67,35</text></g></g>'''
soup = BeautifulSoup(html, 'lxml')
Usage test:
>>> cy_val = soup.find('circle', class_="dot Gesamt")
>>> cy_val
<circle class="dot Gesamt" cx="137" cy="203.25" fill="#000000" id="Gesamt" r="10.8" stroke="white" stroke-width="3"></circle>
>>> cy_val.get('cx')
'137'
So attributes is a dictionary after found tag as shown over.
>>> cy = cy_val.attrs
>>> cy
{'class': ['dot', 'Gesamt'],
'cx': '137',
'cy': '203.25',
'fill': '#000000',
'id': 'Gesamt',
'r': '10.8',
'stroke': 'white',
'stroke-width': '3'}
>>>
>>> list(cy.items())[1]
('cy', '203.25')
>>> list(cy.items())[1][0]
'cy'
>>> list(cy.items())[1][1]
'203.25'