public void GetNews(object sender = null, ElapsedEventArgs e = null) { List <_Article> newNews = new List <_Article>(); try { var client = new WebhoseClient(token: token); var queryParams = new Dictionary <string, string>(); queryParams.Add("q", "language:russian"); queryParams.Add("sort", "crawled"); queryParams.Add("site", "ruposters.ru"); var output = client.QueryAsync("filterWebContent", queryParams); while (!output.IsCompleted) { } if (output.IsCompleted) { DateTime latestArticle = DateTime.MinValue; if (Articles.Count > 0) { latestArticle = Articles[0].published; } for (int i = 0; i < output.Result["posts"].Count(); i++) { var article = output.Result["posts"][i]; var _article = new _Article() { published = article["published"].ToObject <DateTime>(), title = article["title"].ToObject <string>(), text = article["text"].ToObject <string>() }; if (_article.published > latestArticle) { Articles.Add(_article); newNews.Add(_article); } else { break; } } } } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { foreach (var article in newNews) { /*Console.WriteLine(article.title); * Console.WriteLine(article.text); * Console.WriteLine(article.published);*/ NewsReceived(new Article(article.title, article.text, article.published.ToString())); } Console.WriteLine(newNews.Count); } }
public async Task SimpleTest() { var client = new WebhoseClient(); var output = await client.QueryAsync("search", new Dictionary <string, string> { { "q", "github" } }); console.WriteLine(output["posts"][0]["text"].ToString()); console.WriteLine(output["posts"][0]["published"].ToString()); console.WriteLine(output["posts"].Count().ToString()); console.WriteLine(output["posts"][0]["language"].Count().ToString()); output = await output.GetNextAsync(); console.WriteLine(output["posts"][0]["thread"]["site"].ToString()); }