未使用Simple_HTML_DOM显示刮取的图像
好的。我正在从IMDb中抓取一张海报,以我的生命来说,我不明白为什么它没有显示出来——我只是得到了一个小问号,好像图像丢失了一样。这是我当前的代码:未使用Simple_HTML_DOM显示刮取的图像,html,web-scraping,simple-html-dom,imdb,Html,Web Scraping,Simple Html Dom,Imdb,好的。我正在从IMDb中抓取一张海报,以我的生命来说,我不明白为什么它没有显示出来——我只是得到了一个小问号,好像图像丢失了一样。这是我当前的代码: <?php $p = 1; foreach($movie_html->find("div[class=image]") as $poster1) { foreach($poster1->find("img") as $poster2) { $p++; if ($p == 1)
<?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"/>
“height=”300“/>
当我简单地使用echo
变量$poster3
时,它会返回图像的正确URL(因此我知道代码的工作方式应该是这样的),但在实际的网页上,我看不到图像。相反,我得到的只是一个小小的问号,好像图像不在指定的URL上。当我右键单击该框,并强制Safari在新选项卡中打开图像时,我看到图像就在那里,非常漂亮!但出于某种原因,它没有显示在我的网站上
有什么想法吗?IMDb是把我锁在外面以防止刮擦吗?还是我的代码中有什么东西?这对你有什么作用
<?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 . "'/>";
}
?>