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 }); }
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); }