Cita:
Iniciado por peya02 Bien, puede que ya este explicado pero no lo e encontrado. El tema es que quisiera saber si se puede obtener datos de una web mediante php.
Os pongo un ejemplo ya que es muy parecido de lo que yo quiero conseguir:
tengo esta pagina:
http://www.nomaskeine.com/estadistic...ores/jugadores
bien pues de cada jugador quiero conseguir en texto plano, o como sea, los puntos que tiene cada jugador, seria una cosa del tipo: Messi 50 y así con toda la lista.
Muchas gracias.
Tal como te sugiere Arkaitz (en el enlace del post), hay muchos métodos para extraer datos de otro sitio desde PHP, es posible a través de las funciones nativas de PHP o utilizar la librería CURL (especial cuando debemos almacenar la cookie, hacer POST, etc.).
Como lo que requieres es sencillo, es posible solo con un GET y una expresión regular para obtener los datos que quieres (si deseas evitar las expresiones regulares, puedes usar la librería DOM para acceder a los elementos HTML).
Código PHP:
<?php
//example by deerme.org xD
$players = array();
$content = file_get_contents("http://www.nomaskeine.com/estadisticas/puntos/25/mejores/jugadores");
if ( preg_match_all('|<tr class="odd"><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td><td>(.*?)</td> </tr>|', $content , $matchs ) )
{
foreach( $matchs[0] as $k => $v )
{
$players[] = array(
"name" => trim(strip_tags($matchs[2][$k])),
"points" => trim($matchs[4][$k]),
"position" => trim($matchs[1][$k]),
"team" => trim(strip_tags($matchs[3][$k]))
);
}
}
print_r($players);
Y la salida es
Código:
Array
(
[0] => Array
(
[name] => Cesc Fàbregas
[points] => 62
[position] => Centrocampista
[team] => Barcelona
)
[1] => Array
(
[name] => Messi
[points] => 60
[position] => Delantero
[team] => Barcelona
)
[2] => Array
(
[name] => Soldado
[points] => 47
[position] => Delantero
[team] => Valencia
)
[3] => Array
(
[name] => Roberto Jiménez
[points] => 44
[position] => Portero
[team] => Zaragoza
)
...
Saludos