Python lxml XPath problema

Estoy intentando imprimir / guardar el HTML de un determinado elemento desde una página web.
He recuperado el XPath del elemento solicitado de firebug.

Todo lo que deseo es guardar este elemento en un archivo. Parece que no logro hacerlo.
(probé el XPath con y sin un /text() al final)

Apreciaría cualquier ayuda, o experiencia pasada.
10x, David

 import urllib2,StringIO from lxml import etree url='http://www.tutiempo.net/en/Climate/Londres_Heathrow_Airport/12-2009/37720.htm' seite = urllib2.urlopen(url) html = seite.read() seite.close() parser = etree.HTMLParser() tree = etree.parse(StringIO.StringIO(html), parser) xpath = "/html/body/table/tbody/tr/td[2]/div/table/tbody/tr[6]/td/table/tbody/tr/td[3]/table/tbody/tr[3]/td/table/tbody/tr/td/table/tbody/tr/td/table/tbody/text()" elem = tree.xpath(xpath) print elem[0].strip().encode("utf-8") 

Su XPath es obviamente un poco demasiado largo, ¿por qué no prueba los más cortos y ve si coinciden? Un problema podría ser “tbody”, que los navegadores crean automáticamente en el DOM, pero el marcado HTML generalmente no lo contiene.

Aquí hay un ejemplo de cómo usar los resultados de XPath:

 >>> from lxml import etree >>> from StringIO import StringIO >>> doc = etree.parse(StringIO("ab"), etree.HTMLParser()) >>> doc.xpath("/html/body/text()") ['a', 'b'] 

Así que simplemente podría "".join(...) todas las partes del texto si es necesario.

No estoy seguro de seguir completamente lo que estás tratando de lograr, pero en última instancia, creo que estás buscando:

 print etree.tostring(elem[0])