Foros del Web » Programación para mayores de 30 ;) » Programación General »

Parsear pagina web

Estas en el tema de Parsear pagina web en el foro de Programación General en Foros del Web. Hola! Quiero hacer un programa el cual me recoja en una tabla o bd los datos de una pagina de apuestas. Mi idea con esto ...
  #1 (permalink)  
Antiguo 20/11/2013, 11:31
 
Fecha de Ingreso: noviembre-2009
Mensajes: 98
Antigüedad: 15 años, 1 mes
Puntos: 2
Parsear pagina web

Hola!
Quiero hacer un programa el cual me recoja en una tabla o bd los datos de una pagina de apuestas. Mi idea con esto es poder acceder a los datos rapidamente sin tener que ir partido a partido para ver las apuestas disponibles.

El problema lo tengo en que no se como podria hacer para recopilar todos los datos. He estado leyendo tutoriales acerca de parsear un html pero el problema esta en que no todas las paginas devuelven estos resultados en un html.

Como me aconsejais hacerlo?
La pagina en la que tengo interes es esta
elcomparador.es o la de lbapuestas.



PD: Dispongo conocimientos basicos de javascript y mysql, y mas avanzados en C y java.

Saludos y gracias de antemano.
  #2 (permalink)  
Antiguo 20/11/2013, 15:13
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Parsear pagina web

Eso se llama scrapping, este es uno de los resultados de google: http://kodegeek.com/blog/2005/08/20/...ping-con-java/


Saludos
__________________
Grupo Telegram Docker en Español
  #3 (permalink)  
Antiguo 21/11/2013, 06:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 98
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Parsear pagina web mediante Jsoup

Muchas gracias!
He estado mirando y estoy usando Jsoup. Ya he conseguido el html, como podria seleccionar esta parte en concreto?

Código:
 <div id="marketCont_253198604" class="header_open header_closed loadCoupon" onclick="onClick_header_open(this);">
       Total de goles - M&aacute;s/menos de 1.5
      </div> 
      <div class="coupon_data" style="display:none;"> 
       <a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198604&amp;template=">Total de goles - M&aacute;s/menos de 1.5</a> 
       <img src="http://media01.lbapuestas.es/sports/images/ajax-loader.gif" class="loading_byoc" /> 
      </div> 
      <div id="marketCont_253198605" class="header_open header_closed loadCoupon" onclick="onClick_header_open(this);">
       Total de goles - M&aacute;s/menos de 2.5
      </div> 
      <div class="coupon_data" style="display:none;"> 
       <a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198605&amp;template=">Total de goles - M&aacute;s/menos de 2.5</a> 
       <img src="http://media01.lbapuestas.es/sports/images/ajax-loader.gif" class="loading_byoc" /> 
      </div>
Saludos y gracias por tu ayuda
  #4 (permalink)  
Antiguo 21/11/2013, 06:12
 
Fecha de Ingreso: noviembre-2009
Mensajes: 98
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Parsear pagina web mediante Jsoup

Cita:
Iniciado por sergimbo Ver Mensaje
Muchas gracias!
He estado mirando y estoy usando Jsoup. Ya he conseguido el html, como podria seleccionar esta parte en concreto?

Código:
<div id="marketCont_253198604" class="header_open header_closed loadCoupon" onclick="onClick_header_open(this);">
       Total de goles - M&aacute;s/menos de 1.5
      </div> 
 
      <div class="coupon_data" style="display:none;"> 
       <a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198604&amp;template=">Total de goles - M&aacute;s/menos de 1.5</a> 
       <img src="http://media01.lbapuestas.es/sports/images/ajax-loader.gif" class="loading_byoc" /> 
      </div> 
      <div id="marketCont_253198605" class="header_open header_closed loadCoupon" onclick="onClick_header_open(this);">
       Total de goles - M&aacute;s/menos de 2.5
      </div> 
      <div class="coupon_data" style="display:none;"> 
       <a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198605&amp;template=">Total de goles - M&aacute;s/menos de 2.5</a> 
       <img src="http://media01.lbapuestas.es/sports/images/ajax-loader.gif" class="loading_byoc" /> 
      </div>
Saludos y gracias por tu ayuda
  #5 (permalink)  
Antiguo 21/11/2013, 06:44
 
Fecha de Ingreso: noviembre-2009
Mensajes: 98
Antigüedad: 15 años, 1 mes
Puntos: 2
Respuesta: Parsear pagina web

Mediante este codigo he llegado a obtener lo siguiente:

Código:
URL url = new URL(url1);
    Document doc = Jsoup.parse(url, 3000);
    
    
    
    
 // Selecciono todos los párrafos contenidos en el div cuya id es coupon_data
   
    Elements node = doc.select("div.coupon_data");
    Elements link;
    
    //node =node.select("a[href]");  
    
    
    node = node.select("a[class= target_url hide]");
  
    link =node.select("a[href]");

Resultado:

Código:
<a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198604&amp;template=">Total de goles - M&aacute;s/menos de 1.5</a>
<a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198605&amp;template=">Total de goles - M&aacute;s/menos de 2.5</a>
<a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198606&amp;template=">Total de goles - M&aacute;s/menos de 3.5</a>
<a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198608&amp;template=">Total de goles - M&aacute;s/menos de 4.5</a>
<a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198664&amp;template=">Total de goles - M&aacute;s/menos de 5.5</a>
.....
.....
.....
etc
Que sentencia tendria que usar para que se me quedara solo esto?

Código:
<a class="target_url hide" href="http://deportes.lbapuestas.es/es-es?action=GoEvMkt&amp;isAjax=1&amp;ev_mkt_id=253198604&amp;template=">Total de goles - M&aacute;s/menos de 1.5</a>
Saludos y gracias de nuevo
  #6 (permalink)  
Antiguo 21/11/2013, 14:33
Avatar de Carlangueitor
Moderador ლ(ಠ益ಠლ)
 
Fecha de Ingreso: marzo-2008
Ubicación: México
Mensajes: 10.037
Antigüedad: 16 años, 9 meses
Puntos: 1329
Respuesta: Parsear pagina web

Google de nuevo al rescate: http://jsoup.org/cookbook/extracting...king-with-urls


Saludos
__________________
Grupo Telegram Docker en Español

Etiquetas: java, parsear, programa
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 13:45.