2010-11-20 31 views
7

Bất cứ khi nào bạn thực hiện tìm kiếm của Google, nó spits ra đoạn này ít thông tinAPI Google Search - Số Kết quả

"Về 8.110.000 kết quả (0,10 giây)"

Tôi đang sử dụng số lượng kết quả một số thuật ngữ trở lại để xếp hạng chúng với nhau, vì vậy nếu tôi có thể nhận được số nguyên này - 8.110.000 - thông qua API nó sẽ rất hữu ích. Một số API của Google gần đây đã không còn được dùng nữa, vì vậy nếu bạn có thể chỉ cho tôi một API phù hợp không bị phản đối, nó sẽ rất hữu ích.

Bất kỳ giải pháp nào khác cũng sẽ được đánh giá cao. Tôi đã nhìn thấy một hoặc hai bài đăng cũ về các chủ đề tương tự, nhưng không có bài đăng nào được giải quyết thành công.

+2

Sẽ được tốt đẹp để xem một giải pháp Google quá :) – UpTheCreek

+0

tôi không thể tìm thấy một API Google hoặc trang đã hiển thị tổng số kết quả - tất nhiên bạn có thể xóa trang web thay vì API, nhưng điều đó thường bị cau mày và ứng dụng của tôi là dành cho điện thoại, vì vậy có thể chỉ là tài nguyên. – varunsrin

Trả lời

4

Hoàn sử dụng Bing thay vì Google và với đoạn mã sau:

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

và điều này gọi 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(); 
       } 

      } 
     } 
    } 
} 
Các vấn đề liên quan