2010-11-18 34 views
1

我只想用下面的C#代碼片段返回四個結果。我怎樣才能做到這一點?我知道我可能只是解析返回的結果,但我寧願只抓住四個開始,如果可能的話。如何限制本C#程序中返回的Google搜索結果的數量?

var searchTerm = "pizza boxes"; 
     using (var web = new WebClient()) 
     { 
      web.Headers.Add("Referrer", "http://localhost:49360/"); 
      var result = web.DownloadString(String.Format(
        "http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q={0}", 
        searchTerm)); 
      Console.WriteLine(result); 
     } 

在此先感謝您的幫助!

回答

2

基於this documentation它看起來像你可以只是把

rsz=4 

在URL中。

注意,雖然我對谷歌的工作,我對這些API沒有經驗,而這個答案應該被看作是一個個人一個,而不是與谷歌:)相關

(我還注意到, 。API已被棄用。你看着移動到custom search API代替)

+0

Aww!已過時?!?嘿,看起來我會在您提供的鏈接上查看自定義搜索API。謝謝,Skeet先生!我很感激! – Kevin 2010-11-18 07:14:42

+0

@Altar:三年後我並不特別感到驚訝。我不確定該服務是否存在。 – 2013-11-25 16:12:49

+0

@JonSkeet - 新api(自定義搜索API)的鏈接已損壞! – Ampere 2013-11-26 17:00:11

1

認爲你有兩個參數可以設置:

start=1; 
rsz='large' 

rsz VAL你可以設置爲smalllarge,小將獲取4個結果,大將獲取8個結果。

start值可以設置爲從該特定行開始的任何其他整數。

+0

謝謝,馬丁!我剛纔在Skeet先生(上面)的回答中提到的第一個鏈接上看到了這些價值。我很感激! – Kevin 2010-11-18 07:21:54

+0

猜測我太晚了,但看起來像rsz只需要小/大,而不是一個整數。但是自定義搜索API更清晰。 – Martin 2010-11-18 07:24:04