(PHP) Как разобрать URL в результатах поиска Google? - PullRequest
2 голосов
/ 01 ноября 2010

Как получить URL результатов поиска Google?

(я использую Zend_Gdata_Gbase для получения результатов поиска Google, а не DomDocument / htmlsimpleparser, потому что мне кажется, что Zend_Gdata_Gbase специально для анализа результатов Google., пожалуйста, напишите.)

Моя функция для получения результатов поиска Google по запросу 'yahoo' или другой строке поиска запроса: (функция получает фид, который должен иметь результат поиска по слову 'yahoo', но когда я использую prin_t ($ feed), я не вижу URL для каждого результата)

<?php    
function queryGoogleSearch($queryString='yahoo'){
            $service = new Zend_Gdata_Gbase();
            $query = $service->newSnippetQuery();
            $query->setBq('['.$queryString.']');
            $query->setOrderBy('modification_time');
            $query->setSortOrder('descending');
            $query->setMaxResults('4');
            $feed = $service->getGbaseSnippetFeed($query);
            return $feed; 
    }
    print_r(queryGoogleSearch());
?>

Я получаю 4 первых результата URL (когда я ищу в Google вручную):

www.yahoo.com, mail.yahoo.com, search.yahoo.com, maps.yahoo.com

Но я не могу найти их, когда печатаю переменную $ feed.

Пожалуйста, что я должен изменить или добавить функцию inqueryGoogleSearch ()?(Или другой лучший код)

Спасибо

Ответы [ 2 ]

5 голосов
/ 07 ноября 2010

Вы пытаетесь найти google.com. Похоже, этот класс предназначен для Google Base, а не для поисковой системы google.com. http://base.google.com/support/bin/answer.py?hl=en&answer=59260

Вы, вероятно, хотите это: http://code.google.com/apis/customsearch/v1/overview.html Недавно они просто изменили это. Старый API поиска Google устарел с 1 ноября. Пользовательский поиск - это новый API.

Его довольно просто использовать без Zend.

http://code.google.com/apis/customsearch/v1/using_rest.html#WorkingResults

В PHP есть JSON-декодер. http://php.net/manual/en/function.json-decode.php

Надеюсь, это поможет!

0 голосов
/ 01 ноября 2010

URL-адрес поиска в Google довольно прост, я задокументировал его здесь по другой причине .Когда вы что-то гуглите, например «блог», страница, на которую вы отправляете, имеет значение http://www.google.co.uk/search?q=blog. Этот бит после?называется строкой запроса (в данном случае q = blog), которая содержит мой поиск.Изменение этого параметра приведет к изменению строки поиска в Google и возврату соответствующих результатов.

Что касается PHP, вам просто нужно добавить в конец http://www.google.co.uk/search?q=

...