Google Search API - возвращает только 4 результата - PullRequest
3 голосов
/ 22 декабря 2010

После долгих экспериментов и поиска в Google следующий код Python успешно вызывает Google Search APi - но возвращает только 4 результата: после прочтения документации по Google Search API я подумал, что start = даст дополнительные результаты: но этого не произошло.

Кто-нибудь может дать указатели?Спасибо.

Код Python:

/usr/bin/python
import urllib
import simplejson

query = urllib.urlencode({'q' : 'site:example.com'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s&start=50' \
  % (query)
search_results = urllib.urlopen(url)
json = simplejson.loads(search_results.read())
results = json['responseData']['results']
for i in results:
  print i['title'] + ": " + i['url']

1 Ответ

2 голосов
/ 06 января 2011

Опция запуска не дает вам больше результатов, она просто продвигает вас вперед на столько результатов.Думайте о результатах как об очереди.Начиная с 50, вы получите результаты 50, 51, 52 и 53.

С этим вы можете получить больше результатов, начиная каждый 4-й результат:

import urllib
import simplejson

num_queries = 50*4 
query = urllib.urlencode({'q' : 'example'})
url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % query

for start in range(0, num_queries, 4):
    request_url = '{0}&start={1}'.format(url, start)
    search_results = urllib.urlopen(request_url)
    json = simplejson.loads(search_results.read())
    results = json['responseData']['results']
    for i in results:
        print i['title'] + ": " + i['url']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...