2010-11-20 20 views
7

जब भी आप एक Google खोज करते हैं की संख्या, यह पता जानकारी का यह छोटा टुकड़ा थूकGoogle खोज API - परिणाम

"के बारे में 8,110,000 परिणाम (0.10 सेकंड)"

मैं परिणामों की संख्या का उपयोग कर रहा कुछ शर्तें एक-दूसरे के खिलाफ रैंक करने के लिए वापस आती हैं, इसलिए यदि मैं यह पूर्णांक प्राप्त कर सकता हूं - 8,110,000 - एपीआई के माध्यम से यह बहुत उपयोगी होगा। कुछ Google एपीआई को हाल ही में बहिष्कृत कर दिया गया है, इसलिए यदि आप मुझे सही व्यक्ति को इंगित कर सकते हैं जिसे बहिष्कृत नहीं किया गया है, तो यह बहुत उपयोगी होगा।

कोई अन्य कामकाज भी बहुत सराहना की जाएगी। मैंने इसी तरह के विषयों पर एक या दो पुरानी पोस्ट देखी हैं, लेकिन कोई भी सफलतापूर्वक हल नहीं हुआ।

+2

एक गूगल समाधान को देखने के लिए भी :) – UpTheCreek

+0

मैं नहीं कर सकता अच्छा नहीं होगा Google एपीआई या पेज ढूंढें जो परिणामों की कुल संख्या का खुलासा करता है - बेशक आप एपीआई के बजाय वेबपेज को स्क्रैप कर सकते हैं, लेकिन यह आम तौर पर फंस जाता है और मेरा ऐप फोन के लिए होता था, इसलिए यह संसाधन गहन होता। – varunsrin

उत्तर

4

Google के बजाय और निम्न कोड के साथ बिंग का उपयोग कर पूरा हुआ:

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

और इस findTotalResults कॉल:

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(); 
       } 

      } 
     } 
    } 
} 
संबंधित मुद्दे