Esempio n. 1
0
        public IReadOnlyCollection <Url> Search(string request)
        {
            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(_apiKey));

            try
            {
                var urls = new List <Url>();

                var webData = client.Web.SearchAsync(query: request).Result;

                if (webData?.WebPages?.Value?.Count == 0)
                {
                    return(urls);
                }

                foreach (var wp in webData.WebPages.Value)
                {
                    urls.Add(new Url()
                    {
                        Snippet   = wp.Snippet,
                        Title     = wp.Name,
                        UrlString = wp.Url,
                    });
                }

                return(urls);
            }
            catch (AggregateException ex)
            {
                _logger.LogError(ex, "Can not get data from Bing");
                throw new BaseException("Can not get data from Bing", ex);
            }
        }
Esempio n. 2
0
        public void WebSearch()
        {
            using (MockContext context = MockContext.Start(this.GetType()))
            {
                HttpMockServer.Initialize(this.GetType(), "WebSearch");

                IWebSearchClient client = new WebSearchClient(new ApiKeyServiceClientCredentials(SubscriptionKey), HttpMockServer.CreateInstance());

                var resp = client.Web.SearchAsync(query: "tom cruise").Result;

                Assert.NotNull(resp);
                Assert.NotNull(resp.WebPages);
                Assert.NotNull(resp.WebPages.WebSearchUrl);

                Assert.NotNull(resp.WebPages.Value);
                Assert.NotNull(resp.WebPages.Value[0].DisplayUrl);

                Assert.NotNull(resp.Images);
                Assert.NotNull(resp.Images.Value);
                Assert.NotNull(resp.Images.Value[0].HostPageUrl);
                Assert.NotNull(resp.Images.Value[0].WebSearchUrl);
                Assert.NotNull(resp.Videos);
                Assert.NotNull(resp.News);
            }
        }
Esempio n. 3
0
        public static async void WebResultsWithCountAndOffset(string subscriptionKey)
        {
            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));

            try
            {
                var webData = client.Web.SearchAsync(query: "Best restaurants in Seattle", offset: 10, count: 20).Result;
                Console.WriteLine("Searched for Query# \" Best restaurants in Seattle \"");

                if (webData?.WebPages?.Value?.Count > 0)
                {
                    // find the first web page
                    var firstWebPagesResult = webData.WebPages.Value.FirstOrDefault();

                    if (firstWebPagesResult != null)
                    {
                        Console.WriteLine("Web Results#{0}", webData.WebPages.Value.Count);
                        Console.WriteLine("First web page name: {0} ", firstWebPagesResult.Name);
                        Console.WriteLine("First web page URL: {0} ", firstWebPagesResult.Url);
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find first web result!");
                    }
                }
                else
                {
                    Console.WriteLine("Didn't see any Web data..");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
            }
        }
Esempio n. 4
0
        public static async Task <IActionResult> Run(
            [HttpTrigger(AuthorizationLevel.Anonymous, "post", Route = null)] string req,
            ILogger log)
        {
            log.LogInformation("C# HTTP trigger function processed a request.");

            client = new WebSearchClient(new ApiKeyServiceClientCredentials(Environment.GetEnvironmentVariable("CognitiveApiKey")))
            {
                Endpoint = Environment.GetEnvironmentVariable("CognitiveEndpoint")
            };

            var request = JsonConvert.DeserializeObject <request>(req);

            if (request.countryCode == null)
            {
                request.countryCode = "de-de";
            }

            if (request.language == null)
            {
                request.language = "de";
            }

            var webData = await client.Web.SearchAsync(request.query, acceptLanguage : request.language, countryCode : request.countryCode, safeSearch : "Strict", setLang : request.language, market : request.countryCode);

            return(new OkObjectResult(webData));
        }
Esempio n. 5
0
        public static void WebResultsWithCountAndOffset(WebSearchClient client)
        {
            try
            {
                var webData = client.Web.SearchAsync(query: "Best restaurants in Seattle", offset: 10, count: 20).Result;
                Console.WriteLine("\r\nSearching for \" Best restaurants in Seattle \"");

                if (webData?.WebPages?.Value?.Count > 0)
                {
                    var firstWebPagesResult = webData.WebPages.Value.FirstOrDefault();

                    if (firstWebPagesResult != null)
                    {
                        Console.WriteLine("Web Results #{0}", webData.WebPages.Value.Count);
                        Console.WriteLine("First web page name: {0} ", firstWebPagesResult.Name);
                        Console.WriteLine("First web page URL: {0} ", firstWebPagesResult.Url);
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find first web result!");
                    }
                }
                else
                {
                    Console.WriteLine("Didn't see any Web data..");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
            }
        }
Esempio n. 6
0
 public async Task <SearchResponse> GetWebData(string query, string accessKey, int count)
 {
     using (var client = new WebSearchClient(new ApiKeyServiceClientCredentials(accessKey)))
     {
         return(await client.Web.SearchAsync(query, count : count));
     }
 }
Esempio n. 7
0
 public void X()
 {
     //string question = "Cotação Dollar";
     //string question = "Capital da Bahia";
     //string question = "2+2";
     var    client = new WebSearchClient(new ApiKeyServiceClientCredentials("cdab4adbb42a487a9e3423a4ec716739"));
     string answer = BingSearch.WebResults(client, question);
 }
Esempio n. 8
0
        private async Task <long> GetResultAsync(WebSearchClient client, string token)
        {
            var webData = await client.Web.SearchAsync(query : token);

            if (webData?.WebPages?.TotalEstimatedMatches.Value > 0)
            {
                return(webData.WebPages.TotalEstimatedMatches.Value);
            }
            return(0L);
        }
Esempio n. 9
0
        public SearchService(
            IConfiguration configuration,
            IHttpClientFactory clientFactory)
        {
            _httpClient   = clientFactory.CreateClient();
            _searchAPIKey = configuration["BingSearchAPIKey"];
            var credential = new ApiKeyServiceClientCredentials(_searchAPIKey);

            _client       = new WebSearchClient(credential);
            _entityClient = new EntitySearchClient(credential);
        }
Esempio n. 10
0
        public override List <Tuple <string, long> > SearchByTermAsync(string[] terms)
        {
            var client = new WebSearchClient(apiKeyServiceClientCredentials);

            foreach (var token in terms)
            {
                var count = GetResultAsync(client, token).Result;
                results.Add(new Tuple <string, long>(token, count));
            }

            return(results);
        }
Esempio n. 11
0
        static void Main(string[] args)
        {
            var subscriptionKey = "5783dbc5562e4297a79a3e9f2f0aca2c";

            Console.WriteLine("Digite o nome de uma personalidade");
            var             nome   = Console.ReadLine();
            WebSearchClient client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));
            var             result = client.Web.SearchAsync(nome).Result;

            Console.WriteLine(JsonConvert.SerializeObject(result));
            Console.Read();
        }
Esempio n. 12
0
 public static long?BingResult(WebSearchClient client, string word)
 {
     try
     {
         var webData = client.Web.SearchAsync(query: word).Result;
         return(webData.WebPages.TotalEstimatedMatches);
     }
     catch (Exception)
     {
         return(0);
     }
 }
Esempio n. 13
0
        public ViewModel()
        {
            client = new WebSearchClient(new ApiKeyServiceClientCredentials("f891515b49d94b64aa91955aa92c1691"));

            ExecuteSearch = ReactiveCommand.CreateFromTask((string s) => Search(s));
            ExecuteSearch.Subscribe(r => SearchResults = r);

            this.WhenAnyValue(x => x.SearchQuery)
            .Throttle(TimeSpan.FromSeconds(0.8))
            .Select(query => query?.Trim())
            .DistinctUntilChanged()
            .Where(query => !string.IsNullOrWhiteSpace(query))
            .InvokeCommand(ExecuteSearch);
        }
Esempio n. 14
0
        public async Task <IEnumerable <SearchResult> > Search(string term)
        {
            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(_bingConfiguration.ApiKey));

            var webData = await client.Web.SearchWithHttpMessagesAsync(term);

            var items = webData.Body.WebPages.Value;

            return(items.Select(i => new SearchResult
            {
                Link = i.DisplayUrl,
                Snippet = i.Snippet,
                Title = i.Name
            }));
        }
Esempio n. 15
0
        public IActionResult SearchHandle()
        {
            string Query = Request.Form["Query"];

            ViewBag.Query = Query;
            int noAlgos  = 3;
            var client   = new WebSearchClient(new ApiKeyServiceClientCredentials("8d3129ea335440da904641c7cc055494"));
            var response = BingSearchHelper.WebResults(client, Query, noAlgos);

            //-------------test
            List <RootQueryCandidate> rqCandidates = _context.getQueryCandidates();

            //----------------
            return(View(response));
        }
Esempio n. 16
0
        static void Main(string[] args)
        {
            var subKey = "5783dbc5562e4297a79a3e9f2f0aca2c";

            Console.WriteLine("Termo pesquisa:");
            var termo = Console.ReadLine();

            WebSearchClient client = new WebSearchClient(
                new ApiKeyServiceClientCredentials(subKey));

            var res = client.Web.SearchAsync(termo).Result;

            Console.WriteLine(JsonConvert.SerializeObject(res));
            Console.Read();
        }
Esempio n. 17
0
        public static string WebResults(WebSearchClient client, string question)
        {
            try
            {
                var webData = client.Web.SearchAsync(query: question).Result;
                //Notícias
                if (webData?.News?.Value?.Count > 0)
                {
                    var firstNewsResult = webData.News.Value.FirstOrDefault();

                    if (firstNewsResult != null)
                    {
                        return(firstNewsResult.Name);
                    }
                    else
                    {
                        return(string.Format("'{0}' sem nenhum título encontrada", question));
                    }
                }
                //Cálculos
                else if (webData?.Computation?.Value != null)
                {
                    return(webData.Computation.Value);
                }
                //Outras Buscas
                else if (webData?.WebPages?.Value?.Count > 0)
                {
                    var firstWebPageResult = webData.WebPages.Value.FirstOrDefault();

                    if (firstWebPageResult != null)
                    {
                        return(firstWebPageResult.Name);
                    }
                    else
                    {
                        return(string.Format("'{0}' sem nenhum título encontrada", question));
                    }
                }
                else
                {
                    return(string.Format("'{0}' nenhuma informação encontrada", question));
                }
            }
            catch (Exception ex)
            {
                return(string.Format("Falha ao localizar '{0}'", question));
            }
        }
        public void GetWebResultsTest()
        {
            var request = new WebSearchRequest();

            request.Query      = "unicorns";
            request.Count      = 10;
            request.Offset     = 0;
            request.Market     = "en-US";
            request.SafeSearch = SafeSearch.Moderate;

            var client = new WebSearchClient(this.apiKey);

            var response = client.GetWebResults(request);

            Assert.IsTrue(response.WebPages.Results.Count > 0);
        }
Esempio n. 19
0
        public async Task <SearchResponse> SearchAsync(string phrase)
        {
            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));

            client.Endpoint = endpoint;
            try
            {
                var webData = await client.Web.SearchAsync(query : phrase);

                return(webData);
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
                return(null);
            }
        }
Esempio n. 20
0
        public async Task <EngineReponse> FindEntries(string search, CancellationTokenSource cancellationToken)
        {
            try
            {
                var client  = new WebSearchClient(new ApiKeyServiceClientCredentials("90c0cb4ce7e34693a15c266bef5b43e4"));
                var webData = await client.Web.SearchAsync(query : search, cancellationToken : cancellationToken.Token);

                return(new EngineReponse {
                    Entries = webData.WebPages.TotalEstimatedMatches.Value, Query = search, SearchEngine = this.Name
                });
            }
            catch (Exception)
            {
                cancellationToken.Cancel();
                throw;
            }
        }
Esempio n. 21
0
        public IActionResult Index(string Query)
        {
            ViewBag.Query = Query;
            int noAlgos  = 10;
            var client   = new WebSearchClient(new ApiKeyServiceClientCredentials("8d3129ea335440da904641c7cc055494"));
            var response = BingSearchHelper.WebResults(client, Query, noAlgos);

            //-------------test
            List <RootQueryCandidate> rqCandidates = _context.getQueryCandidates();
            //_context.answerid_pwqueries_selection.Add(new RootQueryCandidate { answerid = "a", impression = 1, judgedetails = "", pwquery = "testa1", selected = "false" });
            //_context.answerid_pwqueries_selection.Add(new RootQueryCandidate { answerid = "a", impression = 2, judgedetails = "", pwquery = "testa2", selected = "false" });
            //_context.answerid_pwqueries_selection.Add(new RootQueryCandidate { answerid = "a", impression = 3, judgedetails = "", pwquery = "testa3", selected = "false" });
            //_context.answerid_pwqueries_selection.Add(new RootQueryCandidate { answerid = "b", impression = 2, judgedetails = "", pwquery = "testb2", selected = "false" });
            //_context.SaveChanges();
            //----------------
            var results = _context.url_pwqueries_selection.Where(q => q.selectedanswerid == "a").OrderByDescending(i => i.impression);

            return(View(response.Result));
        }
Esempio n. 22
0
        private async Task <Bing.WebWebAnswer> QueryBing(string searchTerms, int startIndex, int count)
        {
            using (var client = new WebSearchClient(new ApiKeyServiceClientCredentials(this.configuration.SubscriptionKey)))
            {
                var query  = string.Format("site:parliament.uk {0}", searchTerms);
                var filter = new List <string> {
                    "Webpages"
                };
                var response = await client.Web.SearchAsync(
                    query,
                    responseFilter : filter,
                    offset : startIndex - 1,
                    count : count,
                    market : "en-GB",
                    textDecorations : true,
                    textFormat : "HTML");

                return(response.WebPages);
            }
        }
Esempio n. 23
0
        public static void WebSearchWithResponseFilter(string subscriptionKey)
        {
            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));

            try
            {
                IList <string> responseFilterstrings = new List <string>()
                {
                    "news"
                };
                var webData = client.Web.SearchAsync(query: "Microsoft", responseFilter: responseFilterstrings).Result;
                Console.WriteLine("Searched for Query# \" Microsoft \" with response filters \"news\"");

                //News
                if (webData?.News?.Value?.Count > 0)
                {
                    // find the first news result
                    var firstNewsResult = webData.News.Value.FirstOrDefault();

                    if (firstNewsResult != null)
                    {
                        Console.WriteLine("News Results#{0}", webData.News.Value.Count);
                        Console.WriteLine("First news result name: {0} ", firstNewsResult.Name);
                        Console.WriteLine("First news result URL: {0} ", firstNewsResult.Url);
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find first News results!");
                    }
                }
                else
                {
                    Console.WriteLine("Didn't see any News data..");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
            }
        }
Esempio n. 24
0
        static int BingNewsSearch(string searchQuery)
        {
            int resultpointer = 0;

            try
            {
                var client = new WebSearchClient(new ApiKeyServiceClientCredentials())
                {
                    Endpoint = Endpoint
                };
                //fake news Pilot Urvisha jariwala Bhulka Bhavan school
                //var webresponse = client.Web.SearchAsync("Proud to inform you that the pilot of today's air strike is a girl  Urvisha jariwala from Bhulka Bhavan school of Surat ").Result;
                //var webresponse = client.Web.SearchAsync("Aam Aadmi Party Rejects Alliance With Congress, Says No Hope Left Now").Result;
                //var webresponse = client.Web.SearchAsync("“Newly appointed Madhya Pradesh Chief Minister Kamal Nath was former Prime Minister Rajiv Gandhi's driver").Result;
                //var webresponse = client.Web.SearchAsync("Be careful not to take the paracetamol that comes written P/500. It is a new, very white and shiny paracetamol, doctors prove to contain ‘Machupo’ virus, considered one of the most dangerous viruses in the world. And with high mortality rate.").Result;
                //var webresponse = client.Web.SearchAsync("After successfully damaged 2000 notes within 2 years Sardar Statue cracking in 2 weeks").Result;
                //var webresponse = client.Web.SearchAsync("“The supreme leader of India will be born in the state of Gujarat His father will sell tea in a shop His first name will be narendus (Narendra)").Result;
                //var webresponse = client.Web.SearchAsync("70 lakh Indian soldiers cannot defeat Azadi gang in Kashmir-Arundhati Roy").Result;
                //var webresponse = client.Web.SearchAsync("Jama Masjid in dark due to non-payment of electricity bills over four crores").Result;
                //Genuine news
                //var webresponse = client.Web.SearchAsync("New device can produce electricity from falling snow").Result;
                //var webresponse = client.Web.SearchAsync("Indian Air Force jets crossed LoC, claims Pakistan").Result;
                var webresponse = client.Web.SearchAsync(searchQuery).Result;
                int i           = 0;
                foreach (var item in webresponse.WebPages.Value)
                {
                    Console.WriteLine($"=====================Item no {i++}");
                    Console.WriteLine(item.WebPageStringData());
                }
                List <WebPage> dd = webresponse.WebPages.Value as List <WebPage>;
                resultpointer = DecisionForFakeNews(dd);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error is {ex.Message} ,, {ex.InnerException} ,, {ex.StackTrace} ");
            }

            return(resultpointer);
        }
Esempio n. 25
0
        public async Task WebSearch(string subscriptionKey, string query)
        {
            var client = new WebSearchClient(new Microsoft.Azure.CognitiveServices.Search.WebSearch.ApiKeyServiceClientCredentials(subscriptionKey));

            try
            {
                var webResults = client.Web.SearchAsync(query).Result;

                if (webResults != null)
                {
                    await context.SendActivityAsync("Searching in web for " + query);

                    await context.SendActivityAsync(webResults.WebPages.Value[0].Url);

                    await context.SendActivityAsync(webResults.WebPages.Value[1].Url);
                }
            }
            catch (Exception ex)
            {
                await context.SendActivityAsync("Could not retrieve image results due to:" + ex.Message);
            }
        }
Esempio n. 26
0
        public static void WebSearchWithAnswerCountPromoteAndSafeSearch(string subscriptionKey)
        {
            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));

            try
            {
                IList <string> promoteAnswertypeStrings = new List <string>()
                {
                    "videos"
                };
                var webData = client.Web.SearchAsync(query: "Lady Gaga", answerCount: 2, promote: promoteAnswertypeStrings, safeSearch: SafeSearch.Strict).Result;
                Console.WriteLine("Searched for Query# \" Lady Gaga \"");

                if (webData?.Videos?.Value?.Count > 0)
                {
                    var firstVideosResult = webData.Videos.Value.FirstOrDefault();

                    if (firstVideosResult != null)
                    {
                        Console.WriteLine("Video Results#{0}", webData.Videos.Value.Count);
                        Console.WriteLine("First Video result name: {0} ", firstVideosResult.Name);
                        Console.WriteLine("First Video result URL: {0} ", firstVideosResult.ContentUrl);
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find videos results!");
                    }
                }
                else
                {
                    Console.WriteLine("Didn't see any data..");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
            }
        }
        public async Task <SearchResultViewModel> GetSearchResultAsync(string query)
        {
            var apiKey = "95bf3e129b864f59942f7938c9404bdf";

            var webData = new SearchResponse();

            using (var client = new WebSearchClient(new ApiKeyServiceClientCredentials(apiKey)))
            {
                webData = await client.Web.SearchAsync(query, count : 10);
            }

            if (webData.WebPages == null)
            {
                throw new Exception("No results were found");
            }

            var listResults = webData.WebPages.Value;

            var searchResultsItems = new List <SearchResultItem>();

            foreach (var i in listResults)
            {
                searchResultsItems.Add(new SearchResultItem {
                    Link = i.Url, Title = i.Name
                });
            }

            var searchResults = new SearchResultViewModel()
            {
                ResultsList      = searchResultsItems,
                Date             = DateTime.Now,
                SearchEngineName = SearchEngineName.Bing,
                Query            = query
            };

            return(searchResults);
        }
Esempio n. 28
0
        public static void WebSearchWithAnswerCountPromoteAndSafeSearch(WebSearchClient client)
        {
            try
            {
                IList <string> promoteAnswertypeStrings = new List <string>()
                {
                    "videos"
                };
                var webData = client.Web.SearchAsync(query: "Music Videos", answerCount: 2, promote: promoteAnswertypeStrings, safeSearch: SafeSearch.Strict).Result;
                Console.WriteLine("\r\nSearching for \"Music Videos\"");

                if (webData?.Videos?.Value?.Count > 0)
                {
                    var firstVideosResult = webData.Videos.Value.FirstOrDefault();

                    if (firstVideosResult != null)
                    {
                        Console.WriteLine("Video Results # {0}", webData.Videos.Value.Count);
                        Console.WriteLine("First Video result name: {0} ", firstVideosResult.Name);
                        Console.WriteLine("First Video result URL: {0} ", firstVideosResult.ContentUrl);
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find videos results!");
                    }
                }
                else
                {
                    Console.WriteLine("Didn't see any data..");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
            }
        }
Esempio n. 29
0
        public static void WebSearchWithResponseFilter(WebSearchClient client)
        {
            try
            {
                IList <string> responseFilterstrings = new List <string>()
                {
                    "news"
                };
                var webData = client.Web.SearchAsync(query: "Microsoft", responseFilter: responseFilterstrings).Result;
                Console.WriteLine("\r\nSearching for \" Microsoft \" with response filter \"news\"");

                if (webData?.News?.Value?.Count > 0)
                {
                    var firstNewsResult = webData.News.Value.FirstOrDefault();

                    if (firstNewsResult != null)
                    {
                        Console.WriteLine("News Results #{0}", webData.News.Value.Count);
                        Console.WriteLine("First news result name: {0} ", firstNewsResult.Name);
                        Console.WriteLine("First news result URL: {0} ", firstNewsResult.Url);
                    }
                    else
                    {
                        Console.WriteLine("Couldn't find first News results!");
                    }
                }
                else
                {
                    Console.WriteLine("Didn't see any News data..");
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Encountered exception. " + ex.Message);
            }
        }
Esempio n. 30
0
        static void Main(string[] args)
        {
            #region Acesso Prof
            var subscriptionKey = "5783dbc5562e4297a79a3e9f2f0aca2c";
            Console.WriteLine("Digite o nome de uma personalidade:");
            var nome = Console.ReadLine();

            var client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));
            var result = client.Web.SearchAsync(nome).Result;
            Console.WriteLine(JsonConvert.SerializeObject(result));
            Console.Read();
            #endregion

            #region Acesso Mine
            subscriptionKey = "68f2823182e9473d865b1e595d1e6f7a";
            Console.WriteLine("Digite o nome de uma personalidade:");
            nome = Console.ReadLine();

            client = new WebSearchClient(new ApiKeyServiceClientCredentials(subscriptionKey));
            result = client.Web.SearchAsync(nome).Result;
            Console.WriteLine(JsonConvert.SerializeObject(result));
            Console.Read();
            #endregion
        }