Heim > Artikel > Backend-Entwicklung > 如何批量调用google搜索API?
有这样一批关键字,都需要调用google搜索API来找到需要的链接。
<code class="php">array (size=380) 0 => array (size=3) 0 => string '一兰拉面(涩谷店)' (length=23) 1 => string 'Ichiran' (length=7) 2 => string '' (length=0) 1 => array (size=3) 0 => string '赤坂鳗鱼(新宿高岛屋店)' (length=36) 1 => string '赤坂 ふきぬき' (length=19) 2 => string '' (length=0) 2 => array (size=3) 0 => string '大和寿司' (length=12) 1 => string 'Daiwasushi' (length=10) 2 => string '' (length=0) 3 => array (size=3) 0 => string '伊豆荣 本店' (length=16) 1 => string '' (length=0) 2 => string '' (length=0) 4 => array (size=3) 0 => string '不二家 (涩谷店)' (length=25) 1 => string 'Fujiya' (length=6) 2 => string '' (length=0) 5 => array (size=3) 0 => string '面屋武藏 新宿店' (length=22) 1 => string 'Menya musashi' (length=13) 2 => string '' (length=0) ...</code>
比如单条数据 0 => string '一兰拉面(涩谷店)'
调用google搜索API后返回的结果:
<code class="php">array (size=3) 0 => string 'http://tabelog.com/tw/tokyo/A1303/A130301/13166058/' (length=51) 1 => string 'http://tabelog.com/tokyo/A1303/A130301/13001762/' (length=48) 2 => string 'http://tabelog.com/cn/tokyo/A1303/A130301/13166058/dtlrvwlst/7326286/' (length=69) </code>
此次调用的API地址也是我在SF
找到的地址:
<code>http://ajax.googleapis.com/ajax/services/search/web?q=site:tabelog.com:%20Gucci%E5%92%96%E5%95%A1%20&v=1.0&start=0&rsz=3</code>
这里的?q=
后面是要查询的关键字,&start=
表示从0开始,&rsz=
返回结果的尺寸为3条数据
1) 如果用代码只查询一个关键字,结果能正常返回。但批量执行只返回3%,也就是100条数据里只返回了3条。
2) 如果有些关键字无法返回结果,那么换下一个关键字(同一个数组中),直到搜索出结果。
调用googleAPI搜索想要的URL我使用了PHP的cURL来实现。
1) 有什么方法实现批量调用,从而让数据(380条)正常返回结果(正确姿势)?
有这样一批关键字,都需要调用google搜索API来找到需要的链接。
<code class="php">array (size=380) 0 => array (size=3) 0 => string '一兰拉面(涩谷店)' (length=23) 1 => string 'Ichiran' (length=7) 2 => string '' (length=0) 1 => array (size=3) 0 => string '赤坂鳗鱼(新宿高岛屋店)' (length=36) 1 => string '赤坂 ふきぬき' (length=19) 2 => string '' (length=0) 2 => array (size=3) 0 => string '大和寿司' (length=12) 1 => string 'Daiwasushi' (length=10) 2 => string '' (length=0) 3 => array (size=3) 0 => string '伊豆荣 本店' (length=16) 1 => string '' (length=0) 2 => string '' (length=0) 4 => array (size=3) 0 => string '不二家 (涩谷店)' (length=25) 1 => string 'Fujiya' (length=6) 2 => string '' (length=0) 5 => array (size=3) 0 => string '面屋武藏 新宿店' (length=22) 1 => string 'Menya musashi' (length=13) 2 => string '' (length=0) ...</code>
比如单条数据 0 => string '一兰拉面(涩谷店)'
调用google搜索API后返回的结果:
<code class="php">array (size=3) 0 => string 'http://tabelog.com/tw/tokyo/A1303/A130301/13166058/' (length=51) 1 => string 'http://tabelog.com/tokyo/A1303/A130301/13001762/' (length=48) 2 => string 'http://tabelog.com/cn/tokyo/A1303/A130301/13166058/dtlrvwlst/7326286/' (length=69) </code>
此次调用的API地址也是我在SF
找到的地址:
<code>http://ajax.googleapis.com/ajax/services/search/web?q=site:tabelog.com:%20Gucci%E5%92%96%E5%95%A1%20&v=1.0&start=0&rsz=3</code>
这里的?q=
后面是要查询的关键字,&start=
表示从0开始,&rsz=
返回结果的尺寸为3条数据
1) 如果用代码只查询一个关键字,结果能正常返回。但批量执行只返回3%,也就是100条数据里只返回了3条。
2) 如果有些关键字无法返回结果,那么换下一个关键字(同一个数组中),直到搜索出结果。
调用googleAPI搜索想要的URL我使用了PHP的cURL来实现。
1) 有什么方法实现批量调用,从而让数据(380条)正常返回结果(正确姿势)?