如何在C#中获取Bing Search Container的下一页结果?

时间:2014-11-18 20:46:39

标签: c# winforms search bing

我正在使用BingSearchContainer.cs和C#中的Winform。我使用以下代码返回结果。经过几个小时的观察,我无法弄清楚如何返回其他页面的结果。一次最多只能返回50个结果。我想返回更多页面,然后将这些页面添加到“imageSet”以获得结果图像的完整列表。任何提示或指示都非常有用,提前感谢任何帮助。

void bingSearch(string searchTerm)
        {
            try
            {
                imageSet = new List<Bing.ImageResult>();
                const string bingKey = "[key]";
                var bing = new BingSearchContainer(
                new Uri("https://api.datamarket.azure.com/Bing/Search/")) { Credentials = new NetworkCredential(bingKey, bingKey) };                
                var query = bing.Image("\"" + searchTerm + "\"" + "(" + site1 + " OR " + site2 + ")", null, null, null, null, null, ImageFilters);
                Debug.Print("Full Search: " + query.ToString());
                query = query.AddQueryOption("$top", 50);
                query = query.AddQueryOption("$skip", 20);
                var results = query.Execute();
                int index = 0;
                foreach (var result in results)
                {
                    imageSet.Add(result);
                    Debug.Print("URL: " + imageSet[index].MediaUrl);
                    index++;
                }
                Debug.Print("Results: " + imageSet.Count);
            }
            catch
            {
                Debug.Print("Error");
            }
        }

1 个答案:

答案 0 :(得分:0)

解决了这个问题。

实际上它非常简单。 "$skip", 20查询选项设置页面的偏移量,这样如果我的偏移量为0,则得到前50个图像,偏移量为50,我得到接下来的50个图像,依此类推。