Estoy tratando de raspar META palabras clave y etiquetas de descripción de sitios web arbitrarios. Obviamente no tengo control sobre dicho sitio web, así que tengo que tomar lo que me dan. Tienen una variedad de envolturas para la etiqueta y los atributos, lo que significa que necesito trabajar sin tener en cuenta las mayúsculas y minúsculas. No puedo creer que los autores de lxml sean tan tercos como para insistir en el cumplimiento total de las normas obligatorias cuando excluye gran parte del uso de su biblioteca.¿Es posible que lxml funcione de manera que no distinga entre mayúsculas y minúsculas?
Me gustaría poder decir doc.cssselect('meta[name=description]')
(o algún equivalente XPath), pero esto no cogerá <meta name="Description" Content="...">
etiquetas debido othe captial D.
Actualmente estoy usando esto como una solución, pero es horrible!
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
Parece ser que el nombre de la etiqueta meta
se trata mayúsculas y minúsculas, pero los atributos no lo son. ¡Sería incluso más molesto que meta
fuera sensible a mayúsculas y minúsculas también!
muy bueno, nunca he notado que el soporte EXXLX EXSLT .. – mykhal