Sto provando a raschiare parole chiave META e tag descrittivi da siti web arbitrari. Ovviamente non ho alcun controllo su detto sito, quindi devo prendere ciò che mi viene dato. Hanno una varietà di involucri per il tag e gli attributi, il che significa che ho bisogno di lavorare senza distinzione tra maiuscole e minuscole. Non posso credere che gli autori di lxml siano così testardi da insistere sulla piena conformità agli standard forzati quando esclude gran parte dell'uso della loro biblioteca.È possibile che lxml funzioni senza distinzione tra maiuscole e minuscole?
mi piacerebbe poter dire doc.cssselect('meta[name=description]')
(o qualche XPath equivalente), ma questo non prenderà <meta name="Description" Content="...">
tag dovuti Othe captial D.
Attualmente sto usando questo come una soluzione, ma è orribile!
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
Sembra che il nome del tag meta
è trattato caso insensibile, ma gli attributi non sono. Sarebbe ancora più fastidioso meta
troppo sensibile al maiuscolo/minuscolo!
molto bello, non ho mai notato che il supporto EXSLT di lxml .. – mykhal