2010-11-20 20 views
7

sayısı, buGoogle Arama API - Bir Google araması yapmak her Sonuçların

"Yaklaşık 8.110.000 sonuç (0,10 saniye)"

Ben sonuç sayısını kullanıyorum bu küçük bilgi parçacığını tükürür Bazı terimler onları birbirleriyle karşılaştırmaya geri dönüyorlar, bu yüzden eğer bu tam sayı - 8,110,000 - API aracılığıyla elde edersem çok yardımcı olurdum. Bazı Google API'ları son zamanlarda kullanımdan kaldırıldı. Bu nedenle, kullanımdan kaldırılmamış olanı işaret ederseniz çok yardımcı olabilirsiniz.

Diğer tüm geçici çözümler de çok takdir edilecektir. Benzer konular hakkında bir veya iki eski yayın gördüm, ancak hiçbiri başarıyla çözülmedi.

+2

çok :) – UpTheCreek

+0

yapamadım bir Google çözüm görmek güzel olurdu Toplam sonuç sayısını gösteren bir Google API'sı veya sayfası bulun - elbette, API yerine web sayfasını kazıyabilirsiniz. Ancak, bu uygulama genellikle bir telefona dayandırılmış ve bu nedenle sadece kaynak yoğunluğuna sahip olacaktı. – varunsrin

cevap

4

Google yerine ve aşağıdaki kodla Bing kullanarak Tamamlandı:

string baseURL = "http://api.search.live.net/xml.aspx?Appid=<MyAppID>&query=%22" + name + "%22&sources=web"; 
WebClient c = new WebClient(); 
c.DownloadStringAsync(new Uri(baseURL)); 
c.DownloadStringCompleted += new DownloadStringCompletedEventHandler(findTotalResults); 

ve bu findTotalResults çağırır:

void findTotalResults(object sender, DownloadStringCompletedEventArgs e) 
{ 
    lock (this) 
    { 
     string s = e.Result; 
     XmlReader reader = XmlReader.Create(new MemoryStream(System.Text.UTF8Encoding.UTF8.GetBytes(s))); 
     while (reader.Read()) 
     { 
      if (reader.NodeType == XmlNodeType.Element) 
      { 
       if (reader.Name.Equals("web:Total")) 
       { 
        gResults = reader.ReadInnerXml(); 
       } 

      } 
     } 
    } 
}