我想使用Bing API进行网站特定搜索。这是我的计划:
namespace Microsoft.Samples.BingSearch
{ class Program
{
static void Main(string[] args)
{
string rootUri = "https://api.datamarket.azure.com/Bing/Search";
var bingContainer = new Bing.BingSearchContainer(new Uri(rootUri));
var accountKey = "xxxxxxx";
bingContainer.Credentials = new NetworkCredential(accountKey, accountKey);
string query = "SQL Server";
var t = bingContainer.News(query, null, null, null, null, null, null, null, null);
t.AddQueryOption("site", "computerworld.com");
var resultNews = t.Execute();
foreach(var item in resultNews)
{
var g = item.ID;
Console.WriteLine(item.Title + " - " + item.Source);
}
}
}
}
程序运行(假设您输入了有效的帐户密钥)并返回结果。不幸的是,它并没有将结果限制在computerworld.com。就像这一行:
t.AddQueryOption("site", "computerworld.com");
被忽略了。
我做错了什么?
注意:我知道我可以通过自己构建URI而不是使用库来进行特定于站点的搜索。我想知道的是如何正确使用此库进行特定于站点的搜索。
答案 0 :(得分:1)
尝试将site
属性添加到query
本身,如下所示:
var t = bingContainer.News("site:computerworld.com " + query, null, null, null, null, null, null, null, null);
此方法在related ASP.NET blog post中列出。