ich einen Attributwert drucken möchten, basierend auf seinen Namen, nehmen Sie zum BeispielPython: BeautifulSoup - einen Attributwert erhalten basierend auf dem Namen Attribut
<META NAME="City" content="Austin">
Ich möchte so etwas wie dieses
soup = BeautifulSoup(f) //f is some HTML containing the above meta tag
for meta_tag in soup('meta'):
if meta_tag['name'] == 'City':
print meta_tag['content']
tun
Der obige Code geben eine KeyError: 'name'
, ich glaube, das ist, weil Name von Beatifulsoup verwendet wird, so dass es nicht als ein Schlüsselwort Argument verwendet werden kann.
, wie ich das tun kann, wenn ich alle Instanzen finden will, also gerade jetzt, soup.find ("meta", { "name": "Stadt"}) ['Inhalt'] gibt das erste Ergebnis, aber es gibt eine andere Zeile in der Suppe, die war. Wie könnte ich den Code ändern, um "Austin" und "San Francisco" zu erhalten? – overflowname
Alte Frage, aber hier ist eine einfache Lösung für den Fall, dass jemand anderes danach sucht: 'sup.findAll (" meta ", {" name ":" Stadt "}) ['content']' '. Dies wird alle Vorkommen zurückgeben. –