python - online - Expresión válida de XPath
xpath scrapy (1)
Solo dos preguntas:
- ¿Cómo puedo verificar si la cadena asignada a una variable corresponde a una expresión XPath válida?
- ¿Cómo puedo devolver un mensaje de error personalizado en caso de que el recurso solicitado no exista?
- Si el XPath no es válido, obtendrá una excepción.
- Si el nodo solicitado no existe, obtendrá un conjunto de resultados vacío.
Por ejemplo:
from lxml import etree
from StringIO import StringIO
tree = etree.parse(StringIO(''<foo><bar></bar></foo>''))
try:
tree.xpath(''/BAD XPATH'')
print ''1. Valid XPath''
except etree.XPathEvalError, e:
print ''1. Invalid XPath: '', e
if not tree.xpath(''/foo/xxx''):
print ''2. Requested node does not exist.''
Se ejecuta de la siguiente manera:
1. Invalid XPath: Invalid expression
2. Requested node does not exist.