Last active
August 29, 2015 14:06
-
-
Save nicastelo/7c22f744984dcc4874cf to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
//Le indico que va a mostrar un json | |
header('Content-Type: application/json'); | |
//quito los errores por las etiquetas html5 | |
libxml_use_internal_errors(true); | |
//Guardo la url pasada por get | |
$url = $_GET["url"]; | |
if(preg_match('#^http://www.filmaffinity.com.*#s', trim($url))){ | |
//Funciona | |
} else{ | |
$data = array('msg' => 'bad url'); | |
echo json_encode($data); | |
return false; | |
} | |
//Tomo el código y lo meto en una variable | |
$fo= fopen($url,"r") or die ("No se encuentra la pagina."); | |
while (!feof($fo)) { | |
$cadena .= fgets($fo, 4096); | |
} | |
fclose ($fo); | |
//Cargo la cadena como documento DOM | |
$doc = new DOMDocument(); | |
$doc->loadHTML($cadena); | |
//Obtengo los elementos <dl> | |
$elements = $doc->getElementsByTagName('dl'); | |
//Defino la lista | |
//(El primer <dl> del sitio es la lista que contiene los datos) | |
//De el saco todos los <dd> | |
$lista = $elements->item(0)->getElementsByTagName('dd'); | |
//Defino el titulo (el primer <dd>) | |
$title = $lista->item(0)->nodeValue; | |
//Defino el año (el segundo <dd>) | |
$age = $lista->item(1)->nodeValue; | |
//Defino el director (el quinto <dd>) | |
$director = $lista->item(4)->nodeValue; | |
//Defino el guion (el sexto <dd>) | |
$guion = $lista->item(5)->nodeValue; | |
//Defino el director (el noveno <dd>) | |
$reparto = $lista->item(8)->nodeValue; | |
//Defino la productora (el décimo <dd>) | |
$prod = $lista->item(9)->nodeValue; | |
//Guardo todo en un array | |
$data = array('title' => $title, 'age' => $age, 'director' => $director, 'guion' => $guion, 'reparto' => $reparto, 'prod' => $prod, 'msg' => 'success'); | |
//imprimo el array como json | |
echo json_encode($data); | |
?> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment