Exemple #1
0
        public ActionResult VerNoticia(string url, string id)
        {
            ViewBag.Url = url;
            ViewBag.Id  = id;

            var extrator = Fabrica.ExtratorNewsAplicacaoMongo().ListarPorId(id);
            var items    = Fabrica.ExtratorNewsItemAplicacaoMongo().ListarTodosPorIdExtratorNews(extrator.Id);

            if (!items.Any())
            {
                return(RedirectToAction("Index"));
            }

            var dados = new ExtratorNewsItem();

            //items filtrar baseado no começo da url
            foreach (var item in items)
            {
                if (url.Contains(item.Url))
                {
                    dados = item;
                    break;
                }
            }

            //mostrar erro
            if (string.IsNullOrEmpty(dados.Url))
            {
                this.Flash("Não foi possivel achar o item extrator para esta URL!", FlashEnum.Error);
                return(View(new NoticiasConteudoCrawler()));
            }


            if (string.IsNullOrEmpty(url))
            {
                return(RedirectToAction("Index"));
            }

            var html  = GetHtml(url);
            var query = CQ.Create(html);

            var noticia = new NoticiasConteudoCrawler();

            noticia.Autor    = query.Select(dados.SeletorAutor).Text();
            noticia.Titulo   = query.Select(dados.SeletorTitulo).Text();
            noticia.Conteudo = query.Select(dados.SeletorConteudo).Text();
            noticia.UrlFoto  = query.Select(dados.SeletorFoto).Attr("src");



            return(View(noticia));
        }
        public ActionResult SalvarNoticia(NoticiasConteudoCrawler item)
        {
            item.Conteudo = item.Conteudo.UnHtml();
            var noticia = new Noticia()
            {
                Titulo = item.Titulo.UnHtml(),
                Conteudo = item.Conteudo,
                Data = DateTime.UtcNow.ToLocalTime(),
                Fonte = new Fonte() { Nome = item.Autor.UnHtml() },
                Resumo = item.Conteudo.Limit(120, " ..."),
                Publicado = false,
                ExibirComentarios = false,
            };

            Fabrica.NoticiaAplicacaoMongo().Salvar(noticia);

            GetImage(item.UrlFoto, noticia.Id);

            return RedirectToAction("Editar", "Noticia", new { id = noticia.Id });
        }
Exemple #3
0
        public ActionResult SalvarNoticia(NoticiasConteudoCrawler item)
        {
            item.Conteudo = item.Conteudo.UnHtml();
            var noticia = new Noticia()
            {
                Titulo   = item.Titulo.UnHtml(),
                Conteudo = item.Conteudo,
                Data     = DateTime.UtcNow.ToLocalTime(),
                Fonte    = new Fonte()
                {
                    Nome = item.Autor.UnHtml()
                },
                Resumo            = item.Conteudo.Limit(120, " ..."),
                Publicado         = false,
                ExibirComentarios = false,
            };

            Fabrica.NoticiaAplicacaoMongo().Salvar(noticia);

            GetImage(item.UrlFoto, noticia.Id);

            return(RedirectToAction("Editar", "Noticia", new { id = noticia.Id }));
        }
        public ActionResult VerNoticia(string url, string id)
        {
            ViewBag.Url = url;
            ViewBag.Id = id;

            var extrator = Fabrica.ExtratorNewsAplicacaoMongo().ListarPorId(id);
            var items = Fabrica.ExtratorNewsItemAplicacaoMongo().ListarTodosPorIdExtratorNews(extrator.Id);

            if (!items.Any())
            {
                return RedirectToAction("Index");
            }

            var dados = new ExtratorNewsItem();
            //items filtrar baseado no começo da url
            foreach (var item in items)
            {
                if (url.Contains(item.Url))
                {
                    dados = item;
                    break;
                }
            }

            //mostrar erro
            if (string.IsNullOrEmpty(dados.Url))
            {
                this.Flash("Não foi possivel achar o item extrator para esta URL!", FlashEnum.Error);
                return View(new NoticiasConteudoCrawler());
            }

            if (string.IsNullOrEmpty(url))
                return RedirectToAction("Index");

            var html = GetHtml(url);
            var query = CQ.Create(html);

            var noticia = new NoticiasConteudoCrawler();

            noticia.Autor = query.Select(dados.SeletorAutor).Text();
            noticia.Titulo = query.Select(dados.SeletorTitulo).Text();
            noticia.Conteudo = query.Select(dados.SeletorConteudo).Text();
            noticia.UrlFoto = query.Select(dados.SeletorFoto).Attr("src");

            return View(noticia);
        }