Coder Social home page Coder Social logo

api-correios's Introduction

API-CORREIOS-C#

Programador – Caio Silveira Telles Email:[email protected]

Desafio proposto: A rotina deverá extrair todos os dados exibidos no portal dos correios do respectivo CEP. Os dados extraídos devem ser armazenados em um outro arquivo excel chamado “Resultado.xlsx”. Este arquivo deverá conter a listagem de todas as informações extraídas do portal dos correios mais a data/hora/minuto do processamento das informações. Para construir o a rotina preferencialmente utilize a linguagem C#. A rotina poderá ser construída utilizando a navegação por Selenium ou requisição/request (isso será um diferencial). Ao finalizar, monte um arquivo word explicando o funcionamento dela e quais características técnicas ela utiliza (por exemplo, navegação, performance atingida, quantidade de dados processadas etc.).

Código implementado Explicação: Ideia Geral da aplicação: inicialmente abrimos o arquivo Excel previamente construído , Analisamos cada linha a fim de analisar as faixas de CEPS Por Exemplo faixa inicial = 17514532 Faixa final = 17514600 Programa Por meio de um API com os Correios , faz uma busca rapidamente por cada cep dentro dessa faixa , foi criado um somador ++ , de faixa inicial ate a final , cada cep chama a função ConsultaCEP() a mesma é a responsável por localizar o cep nos correios por meio da api(Request) em C# , caso encontro , as informações são incluídas dentro de um array dinâmicos e vai para o próximo cep , caso o retorno da api seja 404 , não encontro o mesmo o programa ignora e vai para o, Existem dois contadores os das faixas e das Linhas do Excel , Após percorrer todos os mesmos com o Array(CepsValidos) , Chamamos a função VerifyAPI() a mesma é responsável por chama analisar e enviar os dados para a função CriaExcel() , a mesma recebe quantos ceps foram localizados e preenchidos , Após receber a mesma cria uma nova worksheet do excel , Preenchemos os dados por linha de cada cep e a hora da execução da request , sendo assim no total 6 colunas no excel e as linhas dinamicamente dependendo das faixas, Lembrando que para a economia de memoria e processamento toda execução é removida do cache para não ocupar espaço , sendo assim a única variável que fica salva são os contadores e o Array De ceps , Tornando a aplicação leve para todas as maquinas , trazendo uma boa performasse ,Após toda a consulta de dados salvamos o Array CepsValidos no Excel e com o nome “Resultado.xlsx”. A Quantidade de dados processados é variável pelo fato de depender do tamanho e das faixas do excel que serve como nossa base de dados de pesquisa , Mais o programa pesquisa 1 cep a cada 0.10 s , e salva a resposta no array em no máximo 0,15 segundos , sendo um algoritmo rápido .

Tecnologias usadas : como compilador Visual Studio 19 Linguagem C# , foram usadas algumas bibliotecas para a criação using ClosedXML.Excel; //importação do pacote CLOSEDXML using DotNet.CEP.Search.App;//API CEP

Para a utilização da aplicação deve se trocar o caminho da extração dos dados e onde será salva , Poderia fazer dinamicamente para seu disco local porém não sabia se ia ser testado em algum servidor restrito ou maquina de trabalho preferi o avaliador escolher o caminho

Alterar as linhas para o uso

var tabela = new XLWorkbook(@"C:\Users\caios\Desktop\importar_ceps\bairro-taxa.xlsx"); //colocar o caminho da pasta com o arquivo XLSM do EXCEL

wb.SaveAs(@"C:\Users\caios\Desktop\importar_ceps\Resultado.xlsx");//SALVA o resultado no seu disco local

Podemos rodar pelo compilador ou, Acessando a pasta da aplicação e rodando o executável

Caminho da aplicação a sua escolha. Lembrando que o Excel precisa estar instalado na sua maquina, e a sua planilha não pode está aberta que o programa necessita de exclusividade na execução .

api-correios's People

Contributors

caiosilveiratelles avatar

Stargazers

Victor Gianvechio avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.