有谁知道我在哪里可以找到Bings API的最新文档,其中包含以下URL:
https://api.datamarket.azure.com/Bing/Search/v1/Web
即使他们自己的网站在我正在阅读的文档中也有错误的网址,即https://api.datamarket.azure.com/Bing/SearchWeb/Web无效。
我可以让搜索工作并返回结果,但无法获得总记录数,如果我使用复合,我可以得到记录计数但没有结果。
我只是在寻找一个如何获得计数和结果的最新例子。
这是我到目前为止所做的:
public class GetBingTotalRecordCount
{
public IEnumerable<DisplayBingWebSearch> DisplayBingSearchResults(string q)
{
string BingID = ConfigurationManager.AppSettings["Bing_WebSearchID"];
string BingWebSearch
= ConfigurationManager.AppSettings["Bing_WebSearchURL"];
var BingContainer = new Bing.BingSearchContainer(new Uri(BingWebSearch));
BingContainer.Credentials = new NetworkCredential(BingID, BingID);
var query = BingContainer.Composite("Web", HttpUtility.UrlEncode(q),
"EnableHighlighting", "DisableQueryAlterations", "en-GB", "Strict",
null, null, null, null, null, null, null, null, null
).Execute().First();
List<DisplayBingWebSearch> data = new List<DisplayBingWebSearch>();
foreach (var results in query.Web)
{
data.Add(new DisplayBingWebSearch() {
WebTitle = results.Title
});
}
return data;
}
}
答案 0 :(得分:2)
您必须执行自己的计数和分页。
results.Count来自你的foreach语句将得到返回的记录数。
每个查询最多有50个结果,您可以使用指定最大结果计数 $ top = x其中x是您想要的最大结果。
例如:https://user:yourAccountKey@api.datamarket.azure.com/Bing/SearchWeb/Web?Query=%27leo%20fender%27&Market=%27en-US%27&$top=50&$format=JSON"
Bing现在在查询中使用OData参数,因此$ top将是要返回的结果数,$ skip是偏移量。
找到包含$ top和$ skip示例的常见问题解答 找到不太有用的迁移指南