本文主要記錄一下最近所作的關於Google批量搜索的實現方式。api
搜索目的:搜索引擎
獲取關鍵詞在某個域名下對應的Google搜索結果數google
搜索方式:url
關鍵詞+inurl代理
例如:"爬蟲" inurl:cnblogs.comrest
第一種方式:orm
使用爬蟲手段,構造Google搜索url進行採集。blog
示例:https://www.google.com/search?q=%22%E7%88%AC%E8%99%AB%22+inurl:cnblogs.com&filter=0
索引
此種方式須要面對的問題有:接口
一、搜索結果有偏差,不一樣ip獲得的結果數不同,不過偏差也不是很大,能夠接受。
二、搜索結果第一頁顯示數量和第二頁顯示數量存在偏差,偏差很大。第二頁更真實。
三、單個ip通常訪問幾十次就會被識別爲機器人,須要驗證碼,而Google驗證碼的難度驚人。。。
四、因爲某些緣由,能夠訪問Google的資源很是寶貴。市面上甚至沒有能夠用的代理(大量短效代理)。
Luminati是一家不錯的海外代理服務商,可是居然不能訪問Google。自建代理的話,成本過高。
解決方案:
我仍是自建代理了:)。
第二種方式:
使用Google Custom Search Api,文檔參見 https://developers.google.com/custom-search/v1/overview。
費用計算:
一、每日無償使用100次。
二、超過100次後,按照$5/1000次收費。每日上限10000次。
三、也有不設置上限的接口,參見 https://developers.google.com/custom-search/v1/site_restricted_api
區別在於此接口不能全網搜索,若是隻是搜10個一下指定站點的內容能夠用這個。
使用條件:
一、你要有一個Google帳號
二、加入Google Cloud Platform,建立 Project。建立 API key,啓用Custom Search Api。具體操做步驟看文檔指引。
三、建立結算帳號 https://console.cloud.google.com/billing。須要真實姓名電話等信息以及支持外幣的信用卡。
目前Google有新註冊贈送一年免費服務+300美金的政策。註冊完便可領取,不過可能因爲國內註冊用戶太多吧,Google
在註冊頁面上已經不支持選擇中國了。具體解決辦法請你們自行Google搜索,或參考下文解決辦法。
四、而後你就能夠愉快的使用API了,不用擔憂被封。
使用方式:
參見:https://developers.google.com/custom-search/v1/using_rest
api地址:https://.googleapis.com/customsearch/v1
必須參數:
cx:Google自定義搜索引擎id,參見https://cse.google.com/cse/all
q:搜索詞
key:API key
存在問題:
一、搜索結果數比Google網頁搜索第一頁結果少,和第二頁結果基本一致。
二、貴,不過若是搜索量不是很大的話,能夠利用免費次數也還好。
PS:
一、GCP結算帳號註冊方法參考:
具體過程不贅述,只說關鍵點。
一、註冊國家選擇美國
二、居住地址能夠搜索美國地址生成器,隨便寫一個
三、姓名、電話 要寫真實的
四、信用卡要寫真實的,帳單地址也是真實的
而後就沒有了,我註冊的時候沒別的問題,不過看不少網友說,有時候會遇到須要再次驗證的狀況。還須要提交身份證實和信用卡帳單截圖。
二、免費的1000次API key獲取方式:仍是不說了,本身找吧
參考: