2017-04-30 79 views
1

如何使用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圖像鏈接,但我不斷收到這錯誤:

Object of class DOMNodeList could not be converted to string

$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'); 

回答

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循環並使用:

print $imgs[0]->getAttribute("src"); 
+0

我已經打了陣列來解決問題,謝謝指出。 –

+0

感謝您的回答。在頁面上只會有一個圖片,我可以確認總會有一個圖片 –

+1

很酷,我的答案完成後我刪除了重複的投票 –

-1

我討厭它發生這種情況,但一些鏈接實際上不是圖像文件。如果URL不以文件擴展名結尾,如.png.gif

(例如https://example.com/image.png以.png結尾)

如果發現一個文件擴展名結束相同的圖像,可能會解決它。