Preia informatii de pe IMDB cu PHP

Imi plac filmele, am o categorie si o pagina in care postez informatii despre filmele pe care le-am vazut. M-am gandit ca n-ar strica sa afisez numarul de voturi si media lor de pe IMDB, te poti orienta daca filmul merita vazut.

<?php
// preia informatile pe baza numelui
// $movie_name = 'Limitless (2011)';
// $imdb_url = 'http://www.google.com/search?hl=en&q=imdb+'.urlencode($movie_name).'&btnI=I%27m+Feeling+Lucky';

// preia informatile pe baza url-ului
$imdb_url = 'http://www.imdb.com/title/tt1219289/';

function get_data($url) 
{
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	$data = curl_exec($ch);
	curl_close($ch);
	return $data;
}

function get_match($regex,$content) 
{
	preg_match($regex,$content,$matches);
	return $matches['1'];
}

$imdb_content = get_data($imdb_url);
if (stripos($imdb_content, '302 Moved') !== false) 
{
	$imdb_content = get_data(get_match('/HREF="(.*?)"/ms', $imdb_content, 1));
}

$imdb_rate = get_match('/(.*)<\/span>/isU', $imdb_content);
$imdb_votes = get_match('/(.*)<\/span>/isU', $imdb_content);

echo $imdb_rate.' din '.$imdb_votes.' voturi';

Scriptul este destul de simplu, foloseste libraria cURL din PHP. Informatiile se iau pe baza URL-ului (de pe IMDB) sau a numelui filmului. Desigur, el poate fi modificat sa preia si alte informatii, poate intereseaza pe cineva regizorul, actorii, data lansarii, etc.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.