如何批量調用google搜尋API?

來源:互聯網
上載者:User
關鍵字 php google-search

1. 需求

有這樣一批關鍵字,都需要調用google搜尋API來找到需要的連結。

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

比如單條資料 0 => string '一蘭拉麵(澀穀店)'調用google搜尋API後返回的結果:

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)

此次調用的API地址也是我在SF找到的地址:

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

這裡的?q=後面是要查詢的關鍵字,&start=表示從0開始,&rsz=返回結果的尺寸為3條資料

2. 存在的問題

1) 如果用代碼只查詢一個關鍵字,結果能正常返回。但批量執行只返回3%,也就是100條資料裡只返回了3條。
2) 如果有些關鍵字無法返回結果,那麼換下一個關鍵字(同一個數組中),直到搜尋出結果。

3. 實現

調用googleAPI搜尋想要的URL我使用了PHP的cURL來實現。

4. 疑問

1) 有什麼方法實現批量調用,從而讓資料(380條)正常返回結果(正確姿勢)?

回複內容:

1. 需求

有這樣一批關鍵字,都需要調用google搜尋API來找到需要的連結。

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

比如單條資料 0 => string '一蘭拉麵(澀穀店)'調用google搜尋API後返回的結果:

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)

此次調用的API地址也是我在SF找到的地址:

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

這裡的?q=後面是要查詢的關鍵字,&start=表示從0開始,&rsz=返回結果的尺寸為3條資料

2. 存在的問題

1) 如果用代碼只查詢一個關鍵字,結果能正常返回。但批量執行只返回3%,也就是100條資料裡只返回了3條。
2) 如果有些關鍵字無法返回結果,那麼換下一個關鍵字(同一個數組中),直到搜尋出結果。

3. 實現

調用googleAPI搜尋想要的URL我使用了PHP的cURL來實現。

4. 疑問

1) 有什麼方法實現批量調用,從而讓資料(380條)正常返回結果(正確姿勢)?

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.