3 回答

TA貢獻1805條經驗 獲得超10個贊
我今天玩了一下刮刀,它似乎不支持圖像抓取。最好是您可以聯系他們的客戶支持并找出答案。
@Towsif是正確的,您嘗試獲取頁面,而不是實際圖像。我很快就把一些東西放在一起,試試看這是否適合你。
$queryString = http_build_query([
'access_key' => 'replace this with your own token',
'url' => 'https://i.imgur.com/Cbiu8Ef.png',
]);
$ch = curl_init(sprintf('%s?%s', 'http://api.scrapestack.com/scrape', $queryString));
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER, false);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
$image_source = curl_exec( $ch );
curl_close( $ch );
file_put_contents( 'Cbiu8Ef.png' , $image_source );

TA貢獻1851條經驗 獲得超5個贊
看起來您得到的響應是損壞的PNG圖像。
如果您使用的是5.1.3之前版本的PHP,則需要為二進制數據傳輸指定一個附加選項,例如圖像:
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
如果上述選項不能解決問題,您可以嘗試設置
curl_setopt($ch, CURLOPT_HTTP_CONTENT_DECODING, false);
如果響應的標頭設置錯誤,則讓 curl 對原始輸出執行不需要的解碼。Content-Type

TA貢獻1906條經驗 獲得超10個贊
你的問題是這個網址。
$image ="http://api.scrapestack.com/scrape?access_key=TOKEN-HERE&url=https://imgur.com/a/E5ehGuv";
如果您轉到此網址
您將看到圖像頁面,但看不到圖像路徑。 函數在這里不起作用并引發錯誤。pathinfo()
如果您右鍵單擊該圖像并在新選項卡中打開圖像,您將看到圖像路徑,在這種情況下,即
https://i.imgur.com/Cbiu8Ef.png
所以你可以試試這個網址
$image ="http://api.scrapestack.com/scrape?access_key=TOKEN-HERE&url=https://i.imgur.com/Cbiu8Ef.png";
- 3 回答
- 0 關注
- 93 瀏覽
添加回答
舉報