谷歌自定义搜索 JSON API
Posted
技术标签:
【中文标题】谷歌自定义搜索 JSON API【英文标题】:Google Custom Search JSON API 【发布时间】:2015-06-01 03:15:13 【问题描述】:我正在通过 JSON API 使用带有自定义搜索引擎 (CSE) 的 Google 自定义搜索 API。我成功获取了搜索结果,但是我不知道如何获取nextPageToken
。
https://www.googleapis.com/customsearch/v1?key=MY_API_KEY&cx=MY_SEARCH_ENGINE_ID&q=Testing
JSON 响应如下:
"kind": "customsearch#search",
"url":
"type": "application/json",
"template": "https://www.googleapis.com/customsearch/v1?q=searchTerms&num=count?&start=startIndex?&lr=language?&safe=safe?&cx=cx?&cref=cref?&sort=sort?&filter=filter?&gl=gl?&cr=cr?&googlehost=googleHost?&c2coff=disableCnTwTranslation?&hq=hq?&hl=hl?&siteSearch=siteSearch?&siteSearchFilter=siteSearchFilter?&exactTerms=exactTerms?&excludeTerms=excludeTerms?&linkSite=linkSite?&orTerms=orTerms?&relatedSite=relatedSite?&dateRestrict=dateRestrict?&lowRange=lowRange?&highRange=highRange?&searchType=searchType&fileType=fileType?&rights=rights?&imgSize=imgSize?&imgType=imgType?&imgColorType=imgColorType?&imgDominantColor=imgDominantColor?&alt=json"
,
"queries":
"nextPage": [
"title": "Google Custom Search - Testing",
"totalResults": "2900",
"searchTerms": "Testing",
"count": 10,
"startIndex": 11,
"inputEncoding": "utf8",
"outputEncoding": "utf8",
"safe": "off",
"cx": "MY_SEARCH_ENGINE_ID"
],
"request": [
"title": "Google Custom Search - Testing",
"totalResults": "2900",
"searchTerms": "Testing",
"count": 10,
"startIndex": 1,
"inputEncoding": "utf8",
"outputEncoding": "utf8",
"safe": "off",
"cx": "MY_SEARCH_ENGINE_ID"
]
,
"context":
"title": "Test Search Engine"
,
"searchInformation":
"searchTime": 0.299265,
"formattedSearchTime": "0.30",
"totalResults": "2900",
"formattedTotalResults": "2,900"
,
"items": [
// ... Search Result here
]
但是如何通过nextPageToken
获取下一页的结果呢?
【问题讨论】:
【参考方案1】:我可以在查询字符串中添加 2 个参数来更改结果页面,而不是使用 nextPageToken
:
start
:结果的起始索引,有效值为>0的整数。
num
:每页结果数,有效值为1~10(1页最多10条记录)
因此要切换到第 2 页,我必须发出:
start=11&num=10
在查询字符串中(假设每页记录为 10)。
希望这会有所帮助。
【讨论】:
以上是关于谷歌自定义搜索 JSON API的主要内容,如果未能解决你的问题,请参考以下文章