2012-07-19 42 views
6

Aşağıdaki kodlarım var ve bir sonraki sayfanın bağlantılarını nasıl yazdıracağımı bilmiyorum, sonraki sayfalara nasıl gideceğim?Google özel arama sonraki sayfa

#!/usr/bin/python2.4 
# -*- coding: utf-8 -*- 


import pprint 

from apiclient.discovery import build 


def main(): 

    service = build("customsearch", "v1", 
       developerKey="") 

    res = service.cse().list(
     q='lectures', 
     cx='013036536707430787589:_pqjad5hr1a', 
     num=10, #Valid values are integers between 1 and 10, inclusive. 
    ).execute() 

    for value in res: 
     #print value 
     if 'items' in value: 
      for results in res[value]: 
       print results['formattedUrl'] 

if __name__ == '__main__': 
    main() 

cevap

6

tepki nesnesi 'NextPage' sözlük içerir vardır. Bir sonraki isteğin başlangıç ​​indeksini belirlemek için bunu kullanabilirsiniz. Bunun gibi:

res = service.cse().list(
    q='lectures', 
    cx='013036536707430787589:_pqjad5hr1a', 
    num=10, #Valid values are integers between 1 and 10, inclusive. 
).execute() 

next_response = service.cse().list(
    q='lectures', 
    cx='013036536707430787589:_pqjad5hr1a', 
    num=10, 
    start=res['queries']['nextPage'][0]['startIndex'], 
).execute() 
4

Benim önerim bir sonraki parametre eklemektir. Mevcut yazılımda q, cx ve num var. Start = 10'u ekleyebilir ve ardından kodu çalıştırabilirsiniz.

res = service.cse().list(
    q='lectures', 
    cx='013036536707430787589:_pqjad5hr1a', 
    num=10, 
    start=10, 
).execute() 

İlk sonuç sayfası URL'sinde start parametresi yok. İkinci sayfada start = 10 parametresini içeren URL var. Üçüncü sayfa başlatmak içeren URL = 20 ...

İyi şanslar

İlgili konular