好的。我正在从IMDb上抓一张海报,而对于我的生活,我无法弄清楚为什么它没有显示 - 我只是得到一个小问号,就像图像丢失一样。这是我目前的代码:
<?php
$p = 1;
foreach($movie_html->find("div[class=image]") as $poster1)
{
foreach($poster1->find("img") as $poster2)
{
$p++;
if ($p == 1) break;
}
}
$poster3 = $poster2->src;
?>
<img src="<?php echo($poster3); ?>" height="300"/>
当我只是echo
$poster3
变量时,它会返回图像的正确网址(所以我知道代码的工作方式应该如此),但在实际的网页上,我看不到图片。相反,我得到的只是一个小问号,好像图像不在指定的URL。当我右键单击该框并强制Safari在新选项卡中打开图像时,我看到图像只是坐在那里一切都很漂亮!但由于某种原因,它没有在我的网站上显示。
有什么想法吗? IMDb锁定我以防止刮刀吗?或者我的代码中有什么东西?
答案 0 :(得分:0)
这对你有什么用?
<?php
/* getIMDB.php
-- displays movie poster (and its url as a tool-tip) from an IMDB page
*/
include_once('../simpleHTML/simple_html_dom.php');
$url = "http://www.imdb.com/title/tt0246578/";
$movie_html = file_get_html($url);
outputImg($movie_html);
function outputImg($movie_html)
{
$p = 1;
foreach($movie_html->find("div[class=image]") as $poster1)
{
foreach($poster1->find("img") as $poster2)
{
$p++;
if ($p == 1) break;
}
}
$poster3 = $poster2->src;
echo "<img src='" . $poster3 . "' title='" . $poster3 . "'/>";
}
?>