Ich versuche META Schlüsselwörter und Beschreibung Tags von beliebigen Websites zu kratzen. Ich habe offensichtlich keine Kontrolle über diese Webseite, also muss ich nehmen, was ich bekomme. Sie haben eine Vielzahl von Hüllen für das Tag und die Attribute, was bedeutet, dass ich case-insensitiv arbeiten muss. Ich kann nicht glauben, dass die Autoren der LXML so hartnäckig sind, dass sie darauf bestehen, dass die Standards vollständig eingehalten werden, wenn sie einen Großteil der Nutzung ihrer Bibliothek ausschließt.Ist es möglich, dass lxml nicht zwischen Groß- und Kleinschreibung unterscheidet?
Ich möchte in der Lage sein doc.cssselect('meta[name=description]')
zu sagen (oder eine XPath-Äquivalent), aber dies wird <meta name="Description" Content="...">
Tags durch othe captial D. nicht
ich dies derzeit als Behelfslösung verwenden bin fangen, aber es ist schrecklich!
for meta in doc.cssselect('meta'):
name = meta.get('name')
content = meta.get('content')
if name and content:
if name.lower() == 'keywords':
keywords = content
if name.lower() == 'description':
description = content
Es scheint, dass der Tag-Name meta
Fall-unsensibel behandelt wird, aber die Attribute nicht. Es wäre noch ärgerlicher meta
war auch Groß-und Kleinschreibung!
sehr cool, ich habe nie bemerkt, dass lxml EXSLT-Unterstützung .. – mykhal