1

Windows Azure Marketplace の bing 検索 API で kby Date を使用して、c シャープ コードで最新のニュース (たとえば過去 24 時間) を取得する方法、またはニュース サービス操作によって取得されたニュースを最新のものに制御する他の方法 (のみ) が必要です。日中の最新ニュース)。

4

1 に答える 1

1

これがBingAPIv2リファレンスです。
そして、これがニュースを取得する方法のコードサンプルです。
コードサンプルはJSで記述されていますが、見た目はかなりはっきりしており、c#に簡単に変換できることに注意してください。

ps私は、のように動作するコードを明示しませんでしたがget the news for last 24 hrs、そのような素晴らしいことがあります。

for (var i = 0; i < results.length; ++i)
{     
            // omitted to make answer shorted

            resultStr = "<a href=\""
                + results[i].Date   // <--               
            // omitted to make answer shorted

}

更新:過去24時間のニュースのみを取得する方法

過去24時間のニュースを取得するための解決策は次のようになります。

24時間枠から外れた日数のニュースとして定義stale news itemしましょう。「新鮮」は、その逆です。

  1. 上位N個のニュースアイテムを取得します(たとえば、Nの初期値は50です)。
  2. 結果に古いニュースアイテムが含まれていない場合は、次の(*)N個のニュースアイテムを取得し、結果に古いニュースが表示されるまでこれを繰り返します。
  3. 古いものは無視してください。Nの評価=新鮮なニュースアイテムの数。

  4. ニュースを最新の状態にするために、次回は手順2〜3を繰り返します。

免責事項アルゴリズムは、パフォーマンスの点で最適とはほど遠いことに注意してください。これは、主要なアイデアを示すためだけのものです。

*次のN個のニュースアイテムをロードする方法。「$top」および「$skip」クエリオプションを介してデータをページとしてロードすることで達成可能である必要があります。クイックスタートガイドには、ニュースを取得する方法のサンプルがあります(「ニュースサービス運用の実行」セクション)。

// This is the query expression.    
string query = "Xbox Live Games";

// Create a Bing container.    
string rootUrl = "https://api.datamarket.azure.com/Bing/Search";

var bingContainer = new Bing.BingSearchContainer(new Uri(rootUrl));

// The market to use.    
string market = "en-us";

// Get news for science and technology.    
string newsCat = "rt_ScienceAndTechnology";

// Configure bingContainer to use your credentials.    
bingContainer.Credentials = new NetworkCredential(AccountKey, AccountKey);

// Build the query, limiting to 10 results.    
var newsQuery =

bingContainer.News(query, null, market, null, null, null, null, newsCat, null);

newsQuery = newsQuery.AddQueryOption("$top", 10);

// Run the query and display the results.

var newsResults = newsQuery.Execute();

foreach (var result in newsResults)

{

Console.WriteLine("{0}-{1}\n\t{2}",

result.Source, result.Title, result.Description);

}

行に注意してnewsQuery = newsQuery.AddQueryOption("$top", 10);ください。オプションを指定できるはずです(そうであるかどうかはわかりません)"$skip"。これにより、ページング機能を使用できるようになります。

お役に立てれば。

于 2013-01-14T10:10:27.410 に答える