tutorial online extract_first examples español div attribute python xml xpath lxml

python - online - Expresión válida de XPath



xpath scrapy (1)

Solo dos preguntas:

  1. ¿Cómo puedo verificar si la cadena asignada a una variable corresponde a una expresión XPath válida?
  2. ¿Cómo puedo devolver un mensaje de error personalizado en caso de que el recurso solicitado no exista?

  1. Si el XPath no es válido, obtendrá una excepción.
  2. 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.