Example #1
0
        public ProdutoLeituraVO RealizarPesquisa(RequisicaoLeituraVO requisicaoLeitura)
        {
            var produtoLeitura = new ProdutoLeituraVO
            {
                IdConcorrente = requisicaoLeitura.IdConcorrente,
                IdProduto = requisicaoLeitura.IdProduto,
                Preco = 0
            };

            HtmlWeb htmlWeb = new HtmlWeb();
            HtmlDocument htmlDocument = htmlWeb.Load(URL_BUSCA + requisicaoLeitura.NomeProduto);

            List<HtmlNode> resultados = htmlDocument.DocumentNode
                                            .Descendants("div")
                                            .Where(div => div.GetAttributeValue("class", "").Contains("productInfo"))
                                            .ToList();

            foreach (var resultado in resultados)
            {
                HtmlNode link = resultado.SelectSingleNode("//a[@title='" + requisicaoLeitura.NomeProduto + "']");

                if(link == null)
                    continue;

                var url = link.GetAttributeValue("href", "");
                htmlDocument = htmlWeb.Load(url);

                var valoresHtml = htmlDocument.DocumentNode
                            .Descendants("div")
                            .Where(div => div.GetAttributeValue("class", "").Contains("mp-price"))
                            .ToList();

                foreach (var valorHtml in valoresHtml)
                {
                    if (valorHtml.InnerText.Contains("De"))
                        continue;
                    produtoLeitura.Preco = Convert.ToDecimal(valorHtml.InnerText.Replace("\n\t\t\t\t\t R$ ", "").Replace("\n\t\t\t\t", ""));
                }
            }

            produtoLeitura.Disponivel = produtoLeitura.Preco > 0;

            return produtoLeitura;
        }
Example #2
0
        public ProdutoLeituraVO RealizarPesquisa(RequisicaoLeituraVO requisicaoLeitura)
        {
            HtmlWeb htmlWeb = new HtmlWeb();
            HtmlDocument htmlDocument = htmlWeb.Load(URL_BUSCA + requisicaoLeitura.NomeProduto);

            IEnumerable<HtmlNode> resultados = htmlDocument.DocumentNode
                                            .Descendants("ul")
                                            .Where(ul => ul.GetAttributeValue("class", "").Contains("vitrineProdutos"))
                                            .SelectMany(ul => ul.Descendants("li"))
                                            .ToArray();


            foreach (var resultado in resultados)
            {
                //Console.WriteLine(string.Format("Link href={0}, link text={1}", link.Attributes["href"].Value, link.InnerText));
            }

            return null;
        }