如何在 C# 中从必应搜索容器获取下一页结果

本文关键字:获取 结果 一页 搜索 | 更新日期: 2023-09-27 18:30:58

我正在使用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");
            }
        }

如何在 C# 中从必应搜索容器获取下一页结果

解决了

这个问题。

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