PHP Как показать результаты поиска google.com на сайте?

#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'