Foros del Web » Programando para Internet » PHP »

Interpretar bloques de etiquetas HTML

Estas en el tema de Interpretar bloques de etiquetas HTML en el foro de PHP en Foros del Web. Buenas, tengo que interpretar un texto plano en formato HTML para extraer la información y guardarla en base de datos. Tengo que quedarme con el ...
  #1 (permalink)  
Antiguo 19/09/2012, 01:43
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 2
Interpretar bloques de etiquetas HTML

Buenas,

tengo que interpretar un texto plano en formato HTML para extraer la información y guardarla en base de datos. Tengo que quedarme con el contenido de una clase concreta y dentro de ella repetir lo mismo para identificar el contenido de sus componenetes. Como ejemplo, necesitaría guardar en SQL una lista de productos con sus precios, extrayendo la información de una página HTML ya generada.

El problema lo tengo en identificar el final de la etiqueta. Os pongo un ejemplo:

<td class="Categoria1">
<img ..... lo que sea....>
<span ... lo que sea></span>
<td class="Producto">
<span class"Descripcion">Descripcion del producto1</span>
<span class "precio">12</span>
</td>
<span lo que sea....></span>
...
<td class="Producto">
<span class"Descripcion">Descripcion del producto2</span>
<span class "precio">52</span>
</td>
<td class="Producto">
<span class"Descripcion">Descripcion del producto3</span>
<span class "precio">43</span>
</td>
<td class="Producto">
<span class"Descripcion">Descripcion del producto</span>
<span class "precio">12</span>
</td>

...
<span class "...
</td>

¿Cómo puedo identificar el bloque de texto correspondiente a la clase "Categoria1"?

Buscar el patrón entre "td class="Categoria1" y "</td> no me vale, pues pararía en el primer </td> que encontrara (en el ejemplo, el del primer producto)

¿Es esto posible? ¿Hay algún 'interprete' de HTML en PHP que identifique el final de las etiquetas?
  #2 (permalink)  
Antiguo 19/09/2012, 02:09
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 8 meses
Puntos: 23
Respuesta: Interpretar bloques de etiquetas HTML

No se si hay un camino rápido y gratuito para esto pero lo que estas intentando hacer es un crawler.
Lo que en vez de analizar unicamente los enlaces de una web estas buscando elementos concretos dentro de un html.
Actualmente estoy trabajando en un proyecto parecido y de momento la clase que he creado funciona para este propósito bastante bien. No puedo ponerte el code pq es privado y además me costó bastante realzarlo. Estoy buscando, al igual que tu, toda la información que pueda sobre el tema para asi poder terminar con el proyecto gracias por el tema.
  #3 (permalink)  
Antiguo 19/09/2012, 04:25
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Interpretar bloques de etiquetas HTML

Cita:
Iniciado por Fierox Ver Mensaje
estas buscando elementos concretos dentro de un html.
Justo, eso es lo que busco.

Entiendo que no me puedas facilitar el código, pero te agradecería que compartieras con todos nostros los links de información al respecto de los crawler que tú hayas identificado o filtrado como válidas para este trabajo.

Claro está que me puedo poner a buscar en Google como hiciste tú, pero si ya tienes documentación de referencia filtrada nos ahorrarías mucho trabajo a los demás.

Muchas gracias
  #4 (permalink)  
Antiguo 19/09/2012, 04:55
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 8 meses
Puntos: 23
Respuesta: Interpretar bloques de etiquetas HTML

Ahora que pienso hay por ahi un parseador de html en php ke puede ke te sea de utilidad. Yo intente impelmentarlo pero no me llego a convencer.
http://simplehtmldom.sourceforge.net/
  #5 (permalink)  
Antiguo 19/09/2012, 05:22
 
Fecha de Ingreso: septiembre-2012
Mensajes: 4
Antigüedad: 12 años, 2 meses
Puntos: 2
Respuesta: Interpretar bloques de etiquetas HTML

Gracias, le echaré un vistazo.

Si alguien más puede aportar algo, se lo agradeceré.
  #6 (permalink)  
Antiguo 19/09/2012, 07:30
 
Fecha de Ingreso: febrero-2012
Ubicación: En mi propio mundo
Mensajes: 73
Antigüedad: 12 años, 8 meses
Puntos: 23
Respuesta: Interpretar bloques de etiquetas HTML

siempre puedes intentar hacerlo por ti mismo como hice yo. Basicamente es buscar substring.

Etiquetas: bloques, etiquetas, html, interpretar, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:46.