Google custom search next page

2019-07-30 11:40发布

我有以下的代码,我不知道如何打印下一页的链接,如何去到下一个页面?

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

Answer 1:

响应对象包含“下一页”字典。 你可以用它来确定下一个请求的开始索引。 像这样:

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() 


Answer 2:

我的建议是添加一个参数。 在当前的软件,你有Q,CX和num。 你可以尝试添加启动= 10,然后执行代码。

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

第一个结果页面URL没有启动参数。 第二页具有包含启动= 10参数的URL。 第三页有其中包含开始= 20网址...

祝好运



文章来源: Google custom search next page