Ich möchte einen Attributwert basierend auf seinem Namen drucken, zum Beispiel
<META NAME="City" content="Austin">
Ich möchte so etwas tun
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']
Der obige Code gibt ein KeyError: 'name'
, ich glaube, das liegt daran, dass der Name von BeatifulSoup verwendet wird und daher nicht als Schlüsselwortargument verwendet werden kann.
python
beautifulsoup
Ruth
quelle
quelle
soup.findAll("meta", {"name":"City"})['content']
. Dies gibt alle Vorkommen zurück.theharshest beantwortete die Frage, aber hier ist eine andere Möglichkeit, dasselbe zu tun. Außerdem haben Sie in Ihrem Beispiel NAME in Großbuchstaben und in Ihrem Code Namen in Kleinbuchstaben.
quelle
6 Jahre zu spät zur Party, aber ich habe gesucht, wie man den Tag- Attributwert eines HTML-Elements extrahiert , also für:
Ich möchte "addressLocality". Ich wurde immer wieder hierher zurückgeleitet, aber die Antworten lösten mein Problem nicht wirklich.
Wie ich es schließlich geschafft habe:
Da es ein Diktat ist, können Sie dann auch
keys
und 'Werte' verwenden.Hoffentlich hilft es jemand anderem!
quelle
Folgendes funktioniert:
quelle
Die Antwort von theharshest ist die beste Lösung, aber zu Ihrer Information, das Problem, auf das Sie gestoßen sind, hat damit zu tun, dass sich ein Tag-Objekt in Beautiful Soup wie ein Python-Wörterbuch verhält. Wenn Sie auf das Tag ['name'] eines Tags zugreifen, das kein 'name'-Attribut hat, erhalten Sie einen KeyError.
quelle
Man kann auch diese Lösung ausprobieren:
Um den Wert zu finden, der in der Tabelle geschrieben ist
htmlContent
Python-Code
quelle
quelle