static Processo BuscarProcesso(string numeroProcesso) { Processo processo = new Processo() { NumeroProcesso = string.Empty, Classe = string.Empty, Area = string.Empty, Assunto = string.Empty, Origem = string.Empty, Distribuicao = string.Empty, Relator = string.Empty, Movimentacao = new List <Movimentacao>() }; try { WebRequest request = WebRequest.Create("https://localhost:44344/api/processo/filtro/" + numeroProcesso); request.Method = "GET"; var response = request.GetResponse(); if (((HttpWebResponse)response).StatusCode == HttpStatusCode.OK) { using (Stream stream = response.GetResponseStream()) { StreamReader streamReader = new StreamReader(stream); string content = streamReader.ReadToEnd(); processo = JsonConvert.DeserializeObject <Processo>(content); } return(processo); } return(processo); } catch (Exception) { return(processo); } }
static string scrapingProcessoTjba(string numeroProcesso) { var wc = new WebClient(); wc.Headers.Add(HttpRequestHeader.AcceptCharset, "utf-8"); wc.Encoding = Encoding.UTF8; try { Processo processo = BuscarProcesso(numeroProcesso); string pagina = wc.DownloadString("http://esaj.tjba.jus.br/cpo/sg/search.do;jsessionid=82BCEACF52467D352D912CC6929C3AAA.cposg3?paginaConsulta=1&cbPesquisa=NUMPROC&tipoNuProcesso=SAJ&numeroDigitoAnoUnificado=&foroNumeroUnificado=&dePesquisaNuUnificado=&dePesquisa=" + numeroProcesso); var htmlDocument = new HtmlDocument(); htmlDocument.LoadHtml(pagina); HtmlNode[] nodesTabelaProcesso = htmlDocument.DocumentNode.SelectNodes("//table").ToArray(); if (nodesTabelaProcesso != null) { HtmlNode nodeNumeroProcesso = nodesTabelaProcesso[15].ChildNodes[1].ChildNodes[1].ChildNodes[5]; HtmlNode nodeClasse = nodesTabelaProcesso[16].ChildNodes[1].ChildNodes[1].ChildNodes[1].ChildNodes[1]; HtmlNode nodeArea = nodesTabelaProcesso[17]; HtmlNode nodeAssunto = nodesTabelaProcesso[14].ChildNodes[7].ChildNodes[3]; HtmlNode nodeOrigem = nodesTabelaProcesso[14].ChildNodes[9].ChildNodes[3]; HtmlNode nodeDistribuicao = nodesTabelaProcesso[14].ChildNodes[13].ChildNodes[3]; HtmlNode nodeRelator = nodesTabelaProcesso[14].ChildNodes[15].ChildNodes[3]; processo.NumeroProcesso = nodeNumeroProcesso.InnerText.Trim(); processo.Classe = nodeClasse.InnerText.Trim(); string[] parts = nodeArea.InnerText.Split(":"); processo.Area = parts[1].Trim(); processo.Assunto = nodeAssunto.InnerText.Trim(); processo.Origem = nodeOrigem.InnerText.Trim(); processo.Distribuicao = nodeDistribuicao.InnerText.Trim(); processo.Relator = nodeRelator.InnerText.Trim(); processo.Movimentacao = new List <Movimentacao>(); foreach (HtmlNode nodeMovimentacao in nodesTabelaProcesso[32].ChildNodes) { if (nodeMovimentacao.Name == "tr") { Movimentacao movimentacao = new Movimentacao(); movimentacao.Data = Convert.ToDateTime(nodeMovimentacao.ChildNodes[1].InnerText.Trim()); movimentacao.Descricao = nodeMovimentacao.ChildNodes[5].InnerText.Trim(); processo.Movimentacao.Add(movimentacao); } } } string msgResponse = ""; if (processo.Id == 0) { if (Gravar(JsonConvert.SerializeObject(processo))) { msgResponse = mensagemResponse(true); } else { msgResponse = mensagemResponse(false); } } else { if (Altera(processo.Id, JsonConvert.SerializeObject(processo))) { msgResponse = mensagemResponse(true); } else { msgResponse = mensagemResponse(false); } } return(msgResponse); } catch (Exception ex) { return(ex.ToString()); } }