如何使用file_get_contents
访问网页并获取其上显示的图片的链接?
在页面https://www.roblox.com/thumbnail/asset?assetId=169454280&thumbnailFormatId=254上,此行代码会显示图像:
<img class='' src='https://t0.rbxcdn.com/5d4449ed656bd92c4d51805ff8b72610' />
我正在尝试使用file_get_contents
转到此链接并获取src
内的图片链接,但我一直收到此错误:
类DOMNodeList的对象无法转换为字符串
$dom = new DOMDocument();
$html = file_get_contents('https://www.roblox.com/thumbnail/asset?assetId=169454280&thumbnailFormatId=254');
$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
echo $dom->getElementsByTagName('img');
答案 0 :(得分:2)
您可以使用getAttribute("src")
,即:
$dom = new DOMDocument();
$html = file_get_contents('https://www.roblox.com/thumbnail/asset?assetId=169454280&thumbnailFormatId=254');
$dom->loadHTML($html);
$dom->preserveWhiteSpace = false;
$imgs = $dom->getElementsByTagName('img');
foreach($imgs as $img)
{
print $img->getAttribute("src");
}
如果页面上有多个图像,您可以使用:
根据OP评论更新:
如果您确定,每页只有一张图片,则可以删除foreach
循环并使用:< / p>
print $imgs[0]->getAttribute("src");
答案 1 :(得分:-1)
我讨厌发生这种情况,但有些链接实际上不是图像文件。如果网址未以 .png 或 .gif 等文件扩展名结尾。
(例如。https://example.com/image.png以.png结尾)
如果您发现以文件扩展名结尾的相同图片,可能会修复它。