Ver Mensaje Individual
  #5 (permalink)  
Antiguo 18/04/2011, 07:08
DigitalUser
 
Fecha de Ingreso: abril-2007
Mensajes: 14
Antigüedad: 17 años
Puntos: 0
Respuesta: Obener código HTML de un sitio web y mostrarlo.

Es lo normal, hay muchos plugin que suelen dar ese problema.
Yo ya no recuerdo cual cogía para que me mostrara los colores bien y el código lo respetara, hace tiempo que no toco plugin de wordpress


bueno la primera linea queda así: (que antes lo he corregido mal)

Código:
$targetUrl="http://www.marca.com/participa/laquiniela/"; //nuestra url objetivo
El resto esta bien, solo la parte de obtener una fragmento falla, porque seguramente la web ha variado el código, tendria que ver el HTML
pero he probado imprimir todo el código y va bien

me ha quedado al final:

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>


<span>
<?php

// PHP INI
// Activar php_curl (Eliminar el ; para activar)
//extension=php_curl.dll

// Fuente: http://www.sergigp.com/scrapear-con-php-1/

/*
Es posible que copiéis el script en vuestro servidor o en locahost (como WAMP o XAMP) y no os funcione, esto es debido a que por defecto muchas instalaciones de Apache y PHP traen desabilitada la extension php_curl. Para que funcione haced lo siguiente:

   1. Asegurate de que Apache y demás está desactivado.
   2. Navega hasta la ruta \bin\php\(tu version de php)\ dentro de la carpeta de XAMP o WAMP
   3. Abre con un editor de texto el archivo php.ini y descomenta la línea extension=php_curl.dll
   4. Vuelve a realizar los pasos dos o tres para la ruta \bin\Apache\(tu version de apache)\bin\
   5. Reinicia el servidor.

*/

$targetUrl="http://www.marca.com/participa/laquiniela/"; //nuestra url objetivo
 
$c = curl_init(); //inicializando manipulador curl
 
curl_setopt($c, CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.1) Gecko/2008070208 Firefox/3.0.1");  //seleccionando el user agent
 
curl_setopt($c, CURLOPT_RETURNTRANSFER, true); //queremos que curl nos devuelva un resultado
 
curl_setopt($c, CURLOPT_TIMEOUT, 10); //timeout
 
curl_setopt($c, CURLOPT_URL,$targetUrl); // set target
 
$html= curl_exec($c); //curl ejecuta y devuelve un string con todo el codigo

echo $html ; // Mostrando toda la web:

// parse html en un DOMDocument

// La parte de abajo hay que verificar el HTML de la web.
 
$dom = new DOMDocument();
 
$dom->loadHTML($html);
 
$xpath = new DOMXPath($dom); //inicializando DOMXPath
 
$ListPartidos = $xpath->evaluate("/html/body//td[@class='partido']");//seleccionamos los atributos que queremos guardar
?>
</span>


</body>
</html>
Pues muchas gracias, este tipos de cosas hacen un blog interesante.
Te estaré siguiendo, a medida que progreses.

un saludo.

Última edición por DigitalUser; 18/04/2011 a las 07:23