我在从instagram进行数据挖掘的过程中得到了这个错误(基本上大约8000张图片和评论被正确地检索到了,然后突然我收到了下面的错误):
cURL error 18: transfer closed with 3789 bytes remaining to read (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)我在代码中使用curl的唯一部分是:
function url_exists($url) {
if (!$fp = curl_init($url)) return false;
return true;
}这里使用了url:
$feed_img_url = $feed[$idx]->getImageVersions2()->candidates[0]->getUrl()."\n";
if (url_exists($feed_img_url)==true) {
$img = "results/".$feed_id_str."/".$feed_id_str.".jpeg";
file_put_contents($img, file_get_contents($feed_img_url));
}它不知道是哪一行产生了错误,但我猜这个异常来自上面的其中一个,因为我没有在其他地方使用过这个url。与https://github.com/mgp25/Instagram-API中一样,此部分$feed[$idx]->getImageVersions2()->candidates[0]->getUrl()."\n";来自Instagram PHP API
请提出解决此问题的建议。
更多信息:当从https://www.instagram.com/gegengrader/检索数据时,当它没有太多帖子,帖子有很多赞,只检索到29个帖子(图片)时,就会发生这种情况。也就是说,我不确定这是否是API速率限制问题。如果是,请让我知道如何修复它。
发布于 2017-03-14 10:56:42
所以我意识到,当我手动浏览这个instagram帐户时,并不是所有的东西都会加载,加载它需要很长时间。我使用了这些,现在至少我检索到了130个提要中的70个:
function url_exists($url) {
if (!$cURL = curl_init($url)) {
return false;
}
curl_setopt($cURL, CURLOPT_HTTPHEADER, array('Expect:'));
return true;
}和
catch (Exception $e) {
echo $e->getMessage();
if (strpos($e->getMessage(), 'cURL error 18: transfer closed') !== false) {
continue;
}
}可能不是最好的解决方案,但它满足了我的需求。请随时添加您的答案。
https://stackoverflow.com/questions/42776138
复制相似问题