10

次のコードがありますが、次のページのリンクを印刷する方法がわかりません。次のページに移動する方法は?

#!/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()
4

3 に答える 3

13

応答オブジェクトには「nextPage」ディクショナリが含まれています。これを使用して、次のリクエストの開始インデックスを決定できます。そのようです:

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() 
于 2012-07-19T08:27:23.597 に答える
8

私の提案は、次のパラメーターを追加することです。現在のソフトウェアでは、q、cx、および num があります。start=10 を追加してから、コードを実行してみてください。

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

最初の結果ページの URL に開始パラメーターがありません。2 番目のページには、start=10 パラメータを含む URL があります。3 番目のページには、start=20 を含む URL があります ...

幸運を

于 2012-07-19T08:18:12.720 に答える