Lo que estoy buscando hacer es esencialmente lo mismo que un botón Tweet o Facebook Compartir/Me gusta, y eso es rozar una página y la mayoría título relevante para una pieza de datos. El mejor ejemplo que puedo pensar es cuando estás en la página principal de un sitio web con muchos artículos y haces clic en el botón Me gusta de Facebook. A continuación, obtendrá la información adecuada para la publicación relativa al botón Me gusta (más cercano). Algunos sitios tienen etiquetas de Open Graph, pero otros no y aún funciona.raspar de forma remota la página y obtener el título o la descripción más relevante para imágenes con XPath
Como esto se hace de forma remota, solo tengo el control de los datos a los que quiero dirigirme. En este caso, los datos son imágenes. En lugar de recuperar solo el <title>
de la página, estoy buscando de alguna manera atravesar el dom en reversa desde el punto de partida de cada imagen, y encontrar el "título" más cercano. El problema es que no todos los títulos ocurren antes de una imagen. Sin embargo, la probabilidad de que la imagen ocurra después del título en este caso parece bastante alta. Dicho esto, espero que funcione bien para casi cualquier sitio.
Pensamientos:
- Encontrar el "contenedor" de la imagen y luego usar el primer bloque de texto.
- Encuentra los bloques de texto en los elementos que contienen ciertas clases ("descripción", "título") o elementos (h1, h2, h3, h4).
copias de seguridad Título:
- con Open Graph Etiquetas
- utilizando sólo el
<title>
- El uso de etiquetas ALT solamente
- El uso de etiquetas META
Resumen: La extracción de las imágenes no es el problema, es cómo obtener títulos relevantes para ellos.
Pregunta: ¿Cómo conseguirías títulos relevantes para cada una de las imágenes? Tal vez usando DomDocument o XPath?
Honestamente, después de raspar con PHP, si podría transferirlo mediante llamadas REST a un pequeño servidor web Java, podría usar JSOUP para acceder fácilmente a todos esos elementos y atributos. JSOUP es como jQuery para Java y usa la misma sintaxis. ¡Ojalá estuviera disponible para PHP ya que haría desaparecer tu problema en segundos! – jmort253
hay varias bibliotecas disponibles que se ocupan de la extracción de contenido de las páginas, aunque no conozco ninguna que se ocupe directamente de las imágenes. pero puede obtener algunas ideas y direcciones, o ser capaz de usarlas. aquí hay uno: http://code.google.com/p/boilerpipe/wiki/Components –
Gracias por su opinión.He actualizado mi pregunta para apuntar más a la "lógica" detrás de obtener títulos o descripciones relevantes para cada imagen en lugar de cómo obtener las imágenes. – stwhite