Login   Register  
PHP Classes
elePHPant
Icontem

File: class.imdb_parser.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Bernhard Essl  >  IMDB Parser  >  class.imdb_parser.php  >  Download  
File: class.imdb_parser.php
Role: Class source
Content type: text/plain
Description: class IMDB_Parser
Class: IMDB Parser
Extract movie information from IMDB site pages
Author: By
Last change: up
Date: 3 years ago
Size: 7,562 bytes
 

Contents

Class file image Download
<?php

/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */


class IMDB_Parser
{

    
    function 
getMovieActors($imdb_website$name_and_id=False)
    {
        if (
preg_match('/<table class="cast">(.+)<\/table>/'$imdb_website$hit))
        {
            if (
$name_and_id === True)
            {
                
#name and id
                
if (preg_match_all('/<a href="\/name\/(nm\d{1,8})\/">([^<]+)<\/a>/',$hit[0],$resultsPREG_PATTERN_ORDER))
                {
                    return 
$results;
                }    
                else
                {
                    return 
False;
                }
            }
            else
            {
                
#only name, old version
                
if (preg_match_all('/<a href="\/name\/nm\d{1,8}\/">([^<]+)<\/a>/',$hit[0],$resultsPREG_PATTERN_ORDER))
                {
                    return 
$results[1];
                }
                else
                {
                    return 
False;
                }
            }
        }
        else
        {
            return 
False;
        }
    }
    

    function 
getMovieDirectedBy($imdb_website$all_directors=False)
    {
        if (
$all_directors === True)
        {
            return 
False;
        }
        else
        {
            if (
preg_match('/Directors?:<\/h5>.?<a href="\/name\/[a-z0-9]+\/">(.+)<\/a>/sU'$imdb_website$hit)) 
            {
                return 
$hit[1];
            }
            else
            {
                return 
False;
            }
        }
    }
    
    
    function 
getMovieColor($imdb_website)
    {
        if (
preg_match('/<a href="\/List\?color-info.+>([^<]+)<\/a>/i',$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMovieCountry($imdb_website)
    {
        if (
preg_match_all('/<a href="\/Sections\/Countries\/([a-z]+)\/">/i',$imdb_website,$resultsPREG_PATTERN_ORDER))
        {
            return 
$results[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMovieLanguage($imdb_website)
    {
        if (
preg_match_all('/<a href="\/Sections\/Languages\/([a-z]+)\/">/i',$imdb_website,$resultsPREG_PATTERN_ORDER))
        {
            return 
$results[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMovieRating($imdb_website)
    { 
        if (
preg_match('/<b>([0-9]{1,2}\.[0-9]{1,2}\/10)<\/b>/'$imdb_website$hit)) 
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMovieGenres($imdb_website)
    {
        if (
preg_match_all('/\/Sections\/Genres\/(.+?)\//'$imdb_website$hitPREG_PATTERN_ORDER)) 
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMoviePlot($imdb_website)
    {
        if (
preg_match('/Plot:<\/h5>([^<]+)</'$imdb_website$hit))        
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMovieTagline($imdb_website)
    {
        if (
preg_match('/Tagline:<\/h5>([^<]+)</'$imdb_website$hit))        
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMovieTitle($imdb_website)
    {
        if (
preg_match('/\<title\>([^"]+)\<\/title\>/'$imdb_website$hit)) 
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMoviePictureHtml($imdb_website)
    {
        if (
preg_match('/<a name="poster".+title=".+">(.+)<\/a>/'$imdb_website$hit)) 
        {
            return 
str_replace('ec.'''$hit[1]);
        }
        else
        {
            return 
False;
        }
    }
    
    
    function 
getMoviePicture($imdb_website)
    {
        if (
preg_match('/ src="([^"]+)/'$this->getMoviePictureHtml($imdb_website), $hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


    function 
getMovieYear($imdb_website)
    {
        if (
preg_match('/\/Sections\/Years\/([^"]+)/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }

    
    function 
getMovieRuntime($imdb_website)
    {
        
#contributed by Guvenc KAPLAN
        
if (preg_match('/Runtime:<\/h5>([^<]+)<\/div>/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }

    
    function 
getMovieStars($imdb_website)
    {
        if (
preg_match('/<b>([0-9]{1,2}\.[0-9]{1,2})\/10<\/b>/'$imdb_website$hit)) 
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


    function 
getMovieAka($imdb_website)
    {
        if (
preg_match('/Also Known As:<\/h5>([^<]+)<br>/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


    function 
getMovieAwards($imdb_website)
    {
        
#contributed by D3FiANC3 
        
if (preg_match('/Awards:<\/h5>([^<]+)<a class/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


    function 
getMovieVotes($imdb_website)
    {
        
#contributed by D3FiANC3 
        
if (preg_match('/\<small\>\(\<a href="ratings"\>([^<]+)\<\/a\>\)\<\/small\>/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


    function 
getMovieMPAA($imdb_website)
    {
        
#contributed by Edward Husar         
        
if (preg_match('/MPAA<\/a>:<\/h5>([^<]+)<\/div>/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;

        }
    }


    function 
getMovieAspectRatio($imdb_website)
    {
        if (
preg_match('/<h5>Aspect Ratio:<\/h5>([^<]+)<a class/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;

        }
    }


    function 
getMovieSoundMix($imdb_website)
    {
        if (
preg_match('/<a href="\/List\?sound-mix.+>([^<]+)<\/a>/i',$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;

        }
    }


    function 
getMovieReleaseDate($imdb_website)
    {
        
#contributed by Edward Husar
        
if (preg_match('/Release Date:<\/h5>([^<]+)<a class/'$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


    function 
getMovieCompany($imdb_website)
    {
        if (
preg_match('/<a href="\/company.+>([^<]+)<\/a>/i',$imdb_website$hit))
        {
            return 
$hit[1];
        }
        else
        {
            return 
False;
        }
    }


}  
?>