Encontrar direcciones de correo electrónico usando XPath

He estado tratando de extraer direcciones de correo electrónico del siguiente código durante bastante tiempo, usando xpath, sin éxito...

http://pastie.org/4172907 (Línea 78)

Esto es lo que intenté hasta ahora:

//tr/td/div[@class='geTextA5'][2]/a

He estado jugando con xpath durante más de tres horas, probé muchas variaciones diferentes. Soy muy nuevo en xpath, así que espero que haya una manera más fácil de lograr esto.

apreciaría cualquier ayuda con esto.

preguntado el 29 de junio de 12 a las 19:06

Gracias por la respuesta. Soy nuevo en xpath. Pude extraer otros tipos de información usando xpath en el sitio web sin ningún problema... El sitio web no es mío por cierto, así que realmente no puedo hacer ningún cambio en el código, solo trabajo con lo que obtuve:/ -

La línea 78 parece ser <div style="margin: 5px; "/>. Recomendaría leer sobre predicados y funciones XPath básicos. W3Schools tiene algo de contenido sobre esto; también está ZVON.org. -

2 Respuestas

Si está seguro de que todos los correos electrónicos tienen un hipervínculo mailto como en el ejemplo, puede probar el siguiente xpath.

//a[starts-with(@href, 'mailto')]/text()

Respondido 01 Jul 12, 09:07

Cuando probé el comando anterior, aparece un error de "sintaxis no válida" en el shell scrapy. El comando completo es: response.xpath('//a[starts-with(@href,'mailto')]/text()') y el mensaje de error apunta a 'mailto' - rixter

Para agregar más, si desea analizar correos electrónicos de texto pero no están envueltos en un ancla:

//*[contains(text(), '@')]

Respondido 23 Feb 14, 02:02

Si estoy usando esto en una página web, también está dando resultados del código fuente. ¿Hay alguna manera de que solo lea el texto de la interfaz y no la fuente? Jeque Faiz

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.