public CompanyModel GetCompany(string name)
        {
            companyModel     = new CompanyModel();
            searchSitesModel = new SearchSitesModel();

            companyModel.CompanyName        = name + " news";
            companyModel.Links              = new List <string>();
            companyModel.HeadlinesSentiment = new List <string>();
            companyModel.Headlines          = new List <string>();

            var lstSites = searchSitesModel.getAllSites();

            foreach (var site in lstSites)
            {
                var     strNewsUrl    = site.url;
                var     strQuery      = site.appendString;
                var     strClientName = name;
                var     strUrl        = strNewsUrl + strQuery + strClientName;
                HtmlWeb web           = new HtmlWeb();
                var     htmlDoc       = web.Load(strUrl);

                var arrSource  = site.source.Split(',');
                var strElement = arrSource[0];
                var strClass   = arrSource[1];

                var strHeadlineElem = arrSource[2];
                int intCnt          = strHeadlineElem.Count();

                var xpath   = $"//{strElement}[@class='{strClass}']";
                var results = htmlDoc.DocumentNode.SelectNodes(xpath);

                if (results != null)
                {
                    var lstRes = results.Select(node => node.ChildNodes["a"]).ToList();

                    foreach (var res in lstRes)
                    {
                        var headLines = intCnt <= 0 ? res.InnerText : res.ChildNodes[strHeadlineElem].InnerText;
                        var strSenti  = new Sentence(headLines).Sentiment.ToString();
                        var str       = res.Attributes["href"].Value;
                        var link      = str.StartsWith("/url") ? StringUtil.FormatLink(str) : str;
                        link = link.Contains("http") ? link : strNewsUrl + link;

                        if (strSenti.Equals("Negative"))
                        {
                            companyModel.Headlines.Add(headLines);
                            companyModel.Links.Add(link);
                            companyModel.HeadlinesSentiment.Add(strSenti);
                        }
                    }
                }
            }

            companyModel.RiskScore = 123;
            return(companyModel);
        }
        public CompanyModel GetTest(string test)
        {
            companyModel     = new CompanyModel();
            searchSitesModel = new SearchSitesModel();

            companyModel.CompanyName        = test;
            companyModel.Links              = new List <string>();
            companyModel.HeadlinesSentiment = new List <string>();
            companyModel.Headlines          = new List <string>();


            var     strNewsUrl    = "https://www.google.com.ph";
            var     strQuery      = "/search?q=";
            var     strClientName = test + " board of directors";
            var     strUrl        = strNewsUrl + strQuery + strClientName;
            HtmlWeb web           = new HtmlWeb();
            var     htmlDoc       = web.Load(strUrl);

            var xpath   = $"//h3[@class='r']";
            var tests   = htmlDoc.DocumentNode.InnerHtml;
            var results = htmlDoc.DocumentNode.SelectNodes(xpath);

            if (results != null)
            {
                var res = results.Select(node => node.ChildNodes["a"]).FirstOrDefault();

                var str  = res.Attributes["href"].Value;
                var link = str.StartsWith("/url") ? StringUtil.FormatLink(str) : str;
                link = link.Contains("http") ? link : strNewsUrl + link;
                web  = new HtmlWeb();
                var htmlDoc2 = web.Load(link);

                var nodes = htmlDoc2.DocumentNode.SelectNodes("//p//a");
                foreach (var node in nodes)
                {
                    companyModel.Headlines.Add(node.InnerText);
                }
            }

            companyModel.RiskScore = 123;
            return(companyModel);
        }