用php / js检索IMDB海报图片

时间:2014-06-05 10:22:56

标签: javascript php jquery url

如果我只有电影页面的网址,有没有办法可以检索某部电影的IMDB主海报图片? (imdb.com)

使用php,也许是js / jquery

3 个答案:

答案 0 :(得分:1)

是的,您可以检索IMDB电影海报。首先,您必须通过curl或php的file_get_contents()连接IMDB网站; function.Also,你应该解析HTML,你应该找到一个正则表达式,你必须得到image的链接。我在下面的段中解释了简单的代码:

<?php 
    $URL = "There will be movie detail page";
    $DetailPage = file_get_content($URL);
    $ImageSource = preg_match("/ regex will be here /i",$DetailPage,$ImageSource); //Here you must find a image from source.
    $Image_Tag = $ImageSource[0]; // it's a image tag from IMDB you should get inside of src=""
    ...
    ...
    $ImageLink = ...
    $PosterImage = file_get_contents($ImageLink);
    file_put_contents("your_image_folder/your_posters_name.jpg", $PosterImage);

?>

<强>更新: 我不知道,有一个IMDB API,它很简单,很容易从API获取图像URL。如果你必须使用API​​,你必须解析json。有一个简单的代码,用于通过API从IMDB获取图像代码段:

<?php 
$URL = "http://www.imdbapi.com/?i=&t=inception";
$Page = file_get_contents($URL);
$MovieInformations = json_decode($Page);
$Poster = $MovieInformations["Poster"];

$GetImage = file_get_contents($Poster);
file_put_contents("your_image_folder/your_posters_name.jpg", $GetImage);
?>

答案 1 :(得分:0)

您可以使用php脚本从其他站点获取数据,请按照以下方法

1)添加文件&#39; simple_html_dom.php&#39;可在互联网上找到

参数或者set_time_limit(O); include_once(&#39; simple_html_dom.php&#39);

2)定义函数scraping_IMDB和saveImg:

function scraping_IMDB($url) 
{
    $html = file_get_html($url);

    $ret['path'] = '';
     foreach($html->find('div[class="post"] img[class="wp-post-image"]') as $e)
     {
      $ret['path'] = $e->src;
     }

    $html->clear();
    unset($html);

    return $ret;
}

function saveImg($url) 
{
  $i = file_get_contents($url);
  $name = end(explode('/',rtrim($url,'/')));
  $f = fopen('photos/'.$name,'w+');
  fwrite($f,$i);
  fclose($f);
}

3)用url调用finfin:

$ret = scraping_IMDB('http://imdb.com');

答案 2 :(得分:0)

感谢您的投入。 我发现,最简单,最简单的方法就是使用它:

function getImage($imdbid)
{
  $source = file_get_contents('http://www.imdbapi.com/?i='.$imdbid);
  $decode = json_decode($source, true);
  return $decode['Poster'];
}

首先,从网址中提取电影ID,然后使用getImage($ theidfromtheurl)。 瞧