如果我只有电影页面的网址,有没有办法可以检索某部电影的IMDB主海报图片? (imdb.com)
使用php,也许是js / jquery
答案 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)。 瞧