0

好吧。我正在从 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(所以我知道代码可以正常工作),但是在实际网页上,我看不到图像。相反,我得到的只是一个小问号,就好像图像不在指定的 URL 上一样。当我右键单击该框并强制 Safari 在新选项卡中打开图像时,我看到图像就坐在那里非常漂亮!但由于某种原因,它没有显示在我的网站上。

有任何想法吗?IMDb 是否将我锁定以防止刮板?或者我的代码中有什么东西?

4

1 回答 1

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 . "'/>";
}
?>
于 2013-04-12T04:48:00.387 回答