Javascript 用于NodeJS的Google自定义搜索API

Javascript 用于NodeJS的Google自定义搜索API,javascript,node.js,google-search-api,Javascript,Node.js,Google Search Api,我正在尝试使用谷歌自定义搜索API获取前5页的搜索结果 到目前为止,我尝试使用嵌套函数来实现这个结果,但没有成功。 我知道我正在处理回调,但到目前为止,我还没有找到正确的方法(不使用Promissions库)来解决我的问题 你们中的一些人能给我指出正确的方向吗? 谢谢 app.get('/assessment',函数(req,res){ console.log('route:/assessment'); var api_键=“”; var customsearch=google.customse

我正在尝试使用谷歌自定义搜索API获取前5页的搜索结果

到目前为止,我尝试使用嵌套函数来实现这个结果,但没有成功。 我知道我正在处理回调,但到目前为止,我还没有找到正确的方法(不使用Promissions库)来解决我的问题

你们中的一些人能给我指出正确的方向吗? 谢谢

app.get('/assessment',函数(req,res){
console.log('route:/assessment');
var api_键=“”;
var customsearch=google.customsearch('v1');
var响应=”;
var页面的数量=5;
var next_page=1;
var exit=0
常数CX='XXXXX';
常量API_键='XXXXX';
常量搜索='测试查询';
console.log('start');
//console.log('查询页面:'+页面);
数据搜索(CX、搜索、API密钥、下一页、函数(resp){
res.send(resp);
});
//
//功能
//
函数doSearch(\u cx、\u search、\u api\u key、\u start、回调){
var响应=“”;
customsearch.cse.list({cx:_cx,q:_search,auth:_api_key,start:_start},函数(err,resp){
如果(错误){
response=JSON.stringify(err);
}否则{
//从自定义搜索获得响应
log('Result:'+resp.searchInformation.formattedTotalResults);
if(resp.items&&resp.items.length>0){
console.log(“+resp.items.length+”的第一个结果是“+resp.items[0].title”);
对于(变量i=0;i”;
响应+=响应项[i]。链接+“

”; } } res={ 答复:答复,, 下一页:resp.querys.nextPage } //res= } _开始+=1; 如果(_开始<6){ doSearch(_cx,_search,_api,_key,_start,_start*10+1, 功能(resp){ 响应+=响应; }); } if(callback&&typeof callback==“function”)回调(response); }); }; });
你可以使用第三方服务,比如刮谷歌(Google)的皮,取回结构化的JSON

使用获取4页结果的示例:

var gsr = require('GoogleSearchResults')
let serp = new gsr.GoogleSearchResults("demo")
serp.json({
 q: "Coffee",
 num: 10,
 start: 30, 
 location: "Portland"
}, (result) => {
  console.log(result)
})

我能够创建代码,在一次调用中返回所有结果,但是我决定修改客户端。搜索结果将流式返回,而不是仅仅在服务器端挂断等待五个呼叫。让客户端在加载上一页后请求下一页,这才是真正的方法。
var gsr = require('GoogleSearchResults')
let serp = new gsr.GoogleSearchResults("demo")
serp.json({
 q: "Coffee",
 num: 10,
 start: 30, 
 location: "Portland"
}, (result) => {
  console.log(result)
})