· 準備工作 要使用googleAPI 來開發自己的傳統型應用程式,先要做下面的準備工作: 1. 首先在下面地址http://www.google.com/apis/download.html下載the Google Web APIs Developer's Kit。 2. 然後在下面地址https://www.google.com/accounts/NewAccount?continue=http://api.google.com/createkey&followup=http://api.google.com/createkey註冊一個 license key 以使用google提供的搜尋服務。 · 建立一個Google Search應用程式 1. 建立一個Windows From 項目命名為Google Search。 2. 添加Web引用,以便使用google web services。具體做法是將下載的the Google Web APIs Developer's Kit中的GoogleSearch.wsdl檔案放入本地的伺服器上,然後在VS中右鍵點擊資源管理員中的引用,再選擇添加Web引用,然後輸入GoogleSearch.wsdl檔案在本機伺服器上的地址http://localhost/GoogleSearch.wsdl,更改Web引用名為GoogleSearch後,點擊添加引用後返回。 3. 進行介面設計,添加3個控制項,TextBox(用於輸入關鍵字),Button(用於提交資訊),RichTextBox(用於顯示搜尋結果資訊)。 4. 編寫事件處理。 1) 添加命名空間。using Google_Search.googlesearch; 2) 雙擊Button控制項,在Button的事件處理中添加下面的代碼: try { GoogleSearchService s = new GoogleSearchService(); //建立一個搜尋服務。 GoogleSearchResult r = s.doGoogleSearch("NGYfW7dQFHKshnXPwvctLsaipk03YK2x", textBox1.Text, 0, 10, true, "", true, "", "", ""); //使用doGoogleSearch方法取得搜尋結果。 ResultElement[] re = r.resultElements; //將結果傳入一個ResultElement數組。 foreach (ResultElement n in re) { richTextBox1.AppendText(n.title+"\r"); //顯示標題。 richTextBox1.AppendText(n.snippet+"\r"); //顯示包含關鍵字摘要資訊。 richTextBox1.AppendText(n.URL); //顯示網頁地址。 richTextBox1.AppendText("\n\r\r"); } } catch(Exception ee) { MessageBox.Show(ee.Message); } 3) 按ctrl+F5就能測試應用程式了。 GoogleSearchServices類doGoogleSearch方法 需要進行搜尋先建立一個GoogleSearchServices 類的對象,然後調用doGoogleSearch方法取得資訊。下面是google提供的對該方法的描述。 public doGoogleSearch(string key, string q, int start, int maxResults, bool filter, string restrict, bool safeSearch, string lr, string ie, string oe) 下面對各個參數進行介紹: Key:這是由google提供的一個認證用的ID,可以在http://www.google.com/apis/申請。由於目前是測試階段,每個ID一天只提供1000次的搜尋服務要求。 q:這個就是要搜尋的關鍵字。string類型 start:結果開始的索引數,從0開始。 int 類型 maxresults:返回的結果數的最大值,最大為10。int 類型 filter:用於標識是否對搜尋的結果進行過濾,所進行的過濾是對於同一主機上的內容只返回1—2個結果。bool類型 restrict:用於限定搜尋的國家或地區,如果為空白,表示不限制。string 類型。 下表將列出所有能選的代號。 safeSearch:使用一個bool值表示是否過濾垃圾資訊。 lr:對語言的限制,string類型。 ie:輸入所使用的字元編碼。這個參數將被忽略,所有的輸入都將採用UTF-8。 oe:輸出所使用的字元編碼。這個參數將被忽略,所有的輸出都將採用UTF-8 通過對這個方法的各個參數的設定可以是自己的應用程式在搜尋方面更加人性化。具體使用時可以通過各種控制項來收集這些資訊。 l GoogleSearchResult類 這個類用於儲存搜尋結果,下面介紹這個類的一些重要屬性: 1. estimatedTotalResultsCount 所有與關鍵字有關的資訊的總數。 2. searchTime 提交資訊到返回資訊所用的時間。 3. searchTips 根據關鍵字提供一些與關鍵字相關的關鍵字,供選擇。 4. resultElements 返回一個數組,用於儲存返回結果的每一項。 l Result Element類 這個類的是搜尋的結果中的每一項,所有的結果處理都依靠這個類。下面是這個類的一些屬性的介紹: 1. URL 顯示結果網頁的url。 2. snippet 返回在目標網頁中摘錄一些包含關鍵字片段。 3. title 目標網頁的標題。 4. hostname 該參數顯示目標網頁所在的主機明。 5. summary 如果目標網頁在ODP 目錄中存在,則返回摘要資訊。 6. directoryTitle 顯示ODP 目錄的標題。 通過這兩個類可以取得各種與查詢有關的資訊,通過以上的介紹,基本可以使用googleAPI提供的全部功能。 |