Foros del Web » Programando para Internet » PHP »

Parsear pagina web

Estas en el tema de Parsear pagina web en el foro de PHP en Foros del Web. Buenas Estoy intentando parsear una pagina web utilizando la librería PHP Simple HTML DOM los datos que quiero extraer estan dentro de las etiquetas <li></li> ...
  #1 (permalink)  
Antiguo 03/04/2016, 04:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 0
Parsear pagina web

Buenas

Estoy intentando parsear una pagina web utilizando la librería PHP Simple HTML DOM

los datos que quiero extraer estan dentro de las etiquetas <li></li> en principio lo logro recorriendo todas las etiquetas <li> de la forma

Código PHP:
       $titles $Result->find('li');
       
       foreach(
$titles as $titles)
       { 
Mi problema surge cuando quiero obtener los datos de solo un bloque de etiquetas <li> de la pagina web

Código PHP:
.....
.....
<
div class = "bloque sobre el que actuar">
 <
ul>
   <
li>a</li>
   <
li>b</li>
   <
li>c</li>
   <
li>d</li>
 </
ul>
 <
ul class = "fondo b">
   <
li>1</li>
   <
li>2</li>
   <
li>3</li>
   <
li>4</li>
 </
ul>
</
div>
......
...... 
No se como hacerlo.

Alguien me puede ayudar Gracias...
  #2 (permalink)  
Antiguo 03/04/2016, 05:23
 
Fecha de Ingreso: mayo-2013
Mensajes: 169
Antigüedad: 11 años, 5 meses
Puntos: 25
Respuesta: Parsear pagina web

En principio esa libreria puedes seleccionar los elementos HTML con selectores CSS como hace la libreria JQUERY. De hecho el metodo find es el tipico de jQuery, y básicamente está libreria sigue la filosofia de la famosa libreria javascript.

por ejemplo:
Código PHP:
// De esta forma obtienes todos los li que esten dentro de la etiquetas con class bloque1
$titles $Result->find('.bloque1 li'); 
Código HTML:
Ver original
  1. <div class="bloque1">
  2.  <ul>
  3.    <li>a</li>
  4.    <li>b</li>
  5.    <li>c</li>
  6.    <li>d</li>
  7.  </ul>
  8.  <ul class = "fondo b">
  9.    <li>1</li>
  10.    <li>2</li>
  11.    <li>3</li>
  12.    <li>4</li>
  13.  </ul>
  14. </div>
Si solo quieres los "li" de una determinada etiqueta "ul", ponle la clase a esa etiqueta en concreto.

Un saludo.
  #3 (permalink)  
Antiguo 03/04/2016, 06:03
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Parsear pagina web

Muchisimas gracias por contestarme...

voy a probar haber si lo doy hecho.

gracias o tra vez
  #4 (permalink)  
Antiguo 03/04/2016, 06:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Parsear pagina web

Sencillamente perfecto..

Gracias por tu tiempo
  #5 (permalink)  
Antiguo 04/04/2016, 04:15
 
Fecha de Ingreso: marzo-2007
Mensajes: 29
Antigüedad: 17 años, 7 meses
Puntos: 0
Respuesta: Parsear pagina web

Hola (Otra vez)

Igual abuso de vuestro tiempo pero sigo ocupado con raspar una web con PHP Simple HTML DOM pero entre que no tengo ni idea de ingles y que mis limitaciones a la hora de programar son considerables no doy arrancado...

El caso es que pretendo obtener los datos de una pagina web que se encuentran en etiquetas <a href>, el problema lo tengo a la hora de discriminar los datos que quiero, estos solo serian los que vendrian justamente despues de una etiqueta <th clospan>en la que el valor de la Eqtiqueta <a href> que contiene coincida con un valor que yo doy

ejemplo:

Código PHP:

<tr>
    <
th colspan="8"><a href="/Agenda S1">1</a></th>
 </
tr>

<
tr>
    <
td class="hell" align="center"><a href="Agenda Dia Lunes "" title="del 22.08.2015"> 22.08.2015</td>
   <td class="
hell" align="center">20:30</td>
   <td class="
hell" align="right"><a href="Lunes Mañana " title="Lunes por la Mañana ">COLEGIO</a></td>
   <td class="
hell" align="center"> - </td>
   <td class="
hell"><a href="Lunes Tarde Semana uno " title="Lunes por la tarde ">NATACION</a></td>
   <td class="
hell" align="center"> 
     <a href="
La cena" title="Hora Cena">20:00 </a>
   </td>
    <td class="
hell" align="center"></td>
    <td class="
hell" align="center"></td>
</tr>
                                                            
<tr>
  <td class="
dunkel" align="center"><a href="Agenda Dia Martes  " title=" del 23.08.2015">23.08.2015</td>
  <td class="
dunkel" align="center">18:30</td>
  <td class="
dunkel" align="right"><a href= “Martes Mañana " title="Martes por la mañana ">ESCURSION</a></td>
  <
td class="dunkel" align="center"> - </td>
  <
td class="dunkel"><a href=" Martes Tarde  " title="Martes por la tarde >GIMNASIA</a></td>
  <td class="
dunkel" align="center">
   <a href “dormir " 
title="Hora Dormir">00:15 </a>
  </
td>
  <
td class="dunkel" align="center"></td>
  <
td class="dunkel" align="center"></td>
</
tr>
&
#8230;……………………………………………………………
&#8230;……………………………………………………………
<tr>
    <
th colspan="8"><a href="/Agenda S2">2</a></th>
 </
tr>
&
#8230;……………………………………………………………
&#8230;…………………………………………………………… 
En este caso queria los datos posteriores a

Código PHP:
<th colspan="8"><a href="/Agenda S1">1</a></th
En este caso el valor que yo daria como condicion es que el valor de la etiqueta seria 1

COLEGIO
NATACION
20:00
ESCURSION
GIMNASIA
....


Espero haberme explicado bien Gracias..

Última edición por Neg1414; 04/04/2016 a las 05:41

Etiquetas: html, parsear
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




La zona horaria es GMT -6. Ahora son las 01:08.