Парсинг картинок с Google API

12 3
splish
На сайте с 25.01.2011
Offline
114
5572

Код:

$zapros = 'авто';
$search = iconv("WINDOWS-1251", "UTF-8", $zapros);
$json = file_get_contents('http://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=3&imgsz=medium&q='.urlencode($search).'&start=0');
$data = json_decode($json);
if ($data->responseData->results[0]->unescapedUrl != '')
$url = $data->responseData->results[0]->unescapedUrl;
else
$url = 'none.jpg';
echo '<p><img src="'.$url.'" alt="" title=""></p>';

Отлично работает на локалке, на хостинге выдаёт:

{"responseData": null, "responseDetails": "Suspected Terms of Service Abuse. Please see http://code.google.com/apis/errors", "responseStatus": 403}

Ihc, виртуальный хостинг.

Дело в IP?

LEOnidUKG
На сайте с 25.11.2006
Offline
1753
#1

Скорее всего IP

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
D
На сайте с 20.09.2010
Offline
175
#2

А как в этом примере вывести первые 10 картинок, которые нашлись при поиске а не только одну?

splish
На сайте с 25.01.2011
Offline
114
#3
LEOnidUKG:
Скорее всего IP

А если не IP? То что тогда.

Ведь гуглу должен отдаваться ip пользователя, а не сервера.

---------- Добавлено 19.10.2012 в 22:26 ----------

При паринге Яши, код:

$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, 'http://images.yandex.ru/yandsearch?text='.urlencode($search));
curl_setopt($ch, CURLOPT_HEADER,1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 40);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt ($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt ($ch, CURLOPT_VERBOSE,1);
$json = curl_exec($ch);
curl_close($ch);

на русских серверах всё работает, на украинских происходит редирект на яндекс.уа, как этого избежать?

LEOnidUKG
На сайте с 25.11.2006
Offline
1753
#4
как этого избежать?

Использовать русский IP :)

А для выдачи одинаковой нужно регион через куки выставлять.

exarh
На сайте с 28.03.2010
Offline
503
#5
LEOnidUKG:
Скорее всего IP

IP то берется не того сервера где стоит парсинг, а пользователя просматривающего картинки. Не?

Монетизируй (https://publishers.propellerads.com/#/pub/auth/signUp?ref_id=tnE) свой сайт с выгодой
splish
На сайте с 25.01.2011
Offline
114
#6

Вставлял куки, просто не стал публиковать в теме.

LEOnidUKG
На сайте с 25.11.2006
Offline
1753
#7
IP то берется не того сервера где стоит парсинг, а пользователя просматривающего картинки. Не?

*facepalm*

---------- Добавлено 20.10.2012 в 00:39 ----------

splish:
Вставлял куки, просто не стал публиковать в теме.

куки региона или просто возможность сохранять куки?

splish
На сайте с 25.01.2011
Offline
114
#8
LEOnidUKG:
куки региона или просто возможность сохранять куки?

Удалял куки, заходил на яндекс, далее смотрел куки которые я получил и их записывал.

Правда не все значения использовал.

LEOnidUKG
На сайте с 25.11.2006
Offline
1753
#9
splish:
Удалял куки, заходил на яндекс, далее смотрел куки которые я получил и их записывал.
Правда не все значения использовал.

там лишь 1, которое используется для выставления региона. Пропишите Москву и тогда нет разницы на IP.

splish
На сайте с 25.01.2011
Offline
114
#10

Какая именно кука для региона? yandex_gid ? Если она то нифига не работает.



---------- Добавлено 19.10.2012 в 23:08 ----------

Ответ от яши:

HTTP/1.1 302 Found
Date: Fri, 19 Oct 2012 19:03:19 GMT
Location: http://images.yandex.ua/yandsearch?rdrnd=450340&text=%D0%B0%D0%B2%D1%82%D0%BE
Content-Type: text/plain
Transfer-Encoding: chunked
12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий