0 Pluspunkte 0 Minuspunkte

Wie kann man aus HTML Links die alle möglichen Attribute haben die URL und die Beschriftung extrahieren? In dem gegebenen Code

text = 'Das ist ein <a href="https://google.com" target="_blank" tooltipenabled>Go to goole</a>.'
pattern = r'<a\s+href="([^"]+)">([^<]+)</a>'
transformed_text = re.sub(pattern, r'\2 (\1)', text)

wird der Link nicht erkannt weil zusätzliche Attribute wie "target" und "tooltipenabled" enthalten sind. Wie kann ich alle Links in dieses Format umwandeln 

<a [...] href='a.com' [...] >Ziel A</a> -> "Ziel A (a.com)"

egal welche und wieviele Attribute sie haben?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

Wenn du alle möglichen Attribute und Werte zwischen dem öffnenden <a> und dem schließenden > erfasst, könntest du den gesamten Tag-Inhalt in die Ersetzungsgruppe einbeziehen.

pattern = r'<a\s+[^>]*href="([^"]+)"[^>]*>([^<]+)</a>'

von