Вопрос

Так кто-то твит ссылку на фото в Instagram: http://instagr.am/p/qsvkr8ls3h/

Это перенаправляет из http://t.co/boj4ex2j до http://instagr.am/p/qsvkr8ls3h/ на фактическую страницу Instagram http://instagram.com/p/qsvkr8ls3h/ где находится фото.

Cool. Все это хорошо и хорошо. Теперь я хочу, чтобы скручиваемый следовать в Tweeted Link и загрузите эту окончательную страницу, которая содержит фотографии. Сценарий выглядит в основном, как это:

 $target = 'http://t.co/bOJ4EX2j';

 $ch = curl_init();

 curl_setopt ($ch, CURLOPT_HTTPGET,        TRUE);
 curl_setopt ($ch, CURLOPT_POST,           FALSE);
 curl_setopt ($ch, CURLOPT_COOKIEJAR,      COOKIE_FILE);   // Defined Constant
 curl_setopt ($ch, CURLOPT_COOKIEFILE,     COOKIE_FILE);
 curl_setopt ($ch, CURLOPT_TIMEOUT,        CURL_TIMEOUT);  // Defined Constant
 curl_setopt ($ch, CURLOPT_USERAGENT,      WEBBOT_NAME);   // Defined Constant
 curl_setopt ($ch, CURLOPT_URL,            $target);       // Target site
 curl_setopt ($ch, CURLOPT_REFERER,        '');            // Referer value
 curl_setopt ($ch, CURLOPT_VERBOSE,        FALSE);         // Minimize logs
 curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);         // No certificate
 curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, TRUE);          // Follow redirects
 curl_setopt ($ch, CURLOPT_MAXREDIRS,      4);             // Limit redirections to four
 curl_setopt ($ch, CURLOPT_RETURNTRANSFER, TRUE);          // Return in string

# Create return array
$return_array['FILE']   = curl_exec($ch); 
$return_array['STATUS'] = curl_getinfo($ch);
$return_array['ERROR']  = curl_error($ch);

# Close PHP/CURL handle
curl_close($ch);

return $return_array;
.

Теперь этот скрипт имеет много более компонентов, но это просто часть скручиваемости. Теперь ей удается забрать, что он приземлился на правильной финальной странице http://instagram.com/p/ QSVKR8LS3H / ) Где изображение - но это то, что $ return_array ['file'] выплесет:

 500 Server Error

 An internal server error occurred.
.

Даже когда вы переписываетесь на страницу в браузере, с выключенным файлом cookie, а не вписаться в Instagram (если бы вы были) страницы полностью загружается!

Что, черт возьми, я скучаю по этому не допустить сценарий для загрузки страницы Instagram?! Он работает практически о каждой другой странице, которую я пробую! Просто не instagram.com?!

Пожалуйста, кто-то поможет мне взломать этот орех вопроса - я бы очень ценю любую помощь или проницательность.

Это было полезно?

Решение

Если вы запускаете этот код на сервере, а не на локальном компьютере, возможно, что между сервером и Instagram.com.Проверьте код с локальной машины, убедитесь, что он также работает в браузере на одной машине .

Если вы получите эту работу и открываю, как сказал Джастин Wood, что у вас есть HTML-страница, а не имидж, который вы хотите, я могу помочь вам с некоторым PHP, чтобы получить URL-адрес изображения (для которого вы тогда имеетеЧтобы запустить другой запрос скручиваемости).

Другие советы

Как сказал многим из нас, этот код, кажется, работает идеально в порядке.Все, что я могу предложить, это то, что вы уверены, что отчеты об ошибках включены, а затем проверьте журналы ошибок PHP в базовом каталоге.

Вы также можете проверить, что модуль Curl включен в php.ini.

Не уверен, что еще можно не так.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top