#php
#php
Вопрос:
Я хотел бы показать результаты поиска в Google во фрейме. найти запрос
https://www.google.ru/search?newwindow=1amp;q=test speed
я использую код:
<iframe src="https://www.google.ru/search?newwindow=1amp;q=test speed"
width="100%" scrolling="auto">
</iframe>
но я получаю заголовок:
Refused to display 'https://www.google.ru/search?newwindow=1amp;q=test speed'
in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Как мы можем видеть, сервер Google не показывает сайт во фрейме.
Скажите мне, пожалуйста, как показать результаты поиска google.com на моем сайте?
Комментарии:
1. Google не позволяет вам это делать. Тем не менее, они предлагают продукт для ваших нужд, пользовательский поиск Google .
2. @Carsten вы не знаете — curl или file_get_content будут работать?
Ответ №1:
Вы можете использовать их API, а не iframe. https://developers.google.com/custom-search / (пользовательский поиск) или это:https://developers.google.com/web-search/?hl=ru последняя версия лучше, потому что вы можете получить массив с результатами и распечатать, как хотите, вот мой пример на php:
$url = "http://ajax.googleapis.com/ajax/services/search/web?v=1.0amp;"
. "q=" . urlencode($your_query) . "amp;userip=" . $_SERVER['REMOTE_ADDR'];
$jsonResult = file_get_contents($url);
$out = json_decode($jsonResult);
$out
будет содержать массив с результатами, вы можете foreach
их:
foreach ($out->responseData->results as $record)
{
$this->_results['search'][] = array(
'title' => $record->title,
'description' => $record->content,
'sourceUrl' => $record->url,
'sourceShortUrl' => $record->visibleUrl,
);
}
Ответ №2:
Добавьте amp;output=embed
в конец URL
перед публикацией в Google
.
<iframe src="https://www.google.ru/search?newwindow=1amp;q=test speedamp;output=embed"
width="100%" scrolling="auto">
</iframe>
Комментарии:
1. я получаю ошибку:
https://www.google.ru/search?newwindow=1amp;q=testamp;output=embed' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'