Atividade proposta na matéria de webServices tem por objetivo criar um código que pega todos os editais do IFET através do link https://www.ifsudestemg.edu.br/editais/editais-de-barbacena .
Depois de pegar todos os editais será extraído informaes específicas de
cada um e armazenados em um arquivo .csv.
Depois se criará um código de buscar esses editais de diversas formas diferentes.
A linguagem escolhida para desenvolver essa atividade foi o Python
Nos dois títulos abaixo será apresentado o passo a passo para a realizao da atividade
## Extrair Editais e persistir em arquivo .csv - Criao do arquivo crawler que é responsável por todas as operaes referentes aa extrao de links e persistencia do arquivo. - Extrair o link e o título de todos os editais do link : https://www.ifsudestemg.edu.br/editais/editais-de-barbacena. - No arquivo link criei um método static chamado "obter_links_e_titulos" que recebe o link acima e faz a busca pegando os link e titulo de todos os resultados retornando eles para o método initial. - Em seguida com o auxílio da biblioteca concurrent.futures( presente na verso 3.12 do python que ajuda na execuo assíncrona utilizando ThreadPoolExecutor para threads e ProcessPoolExecutor para processos) chamaremos o método static "coletar_dados_e_persistir" que recebe a lista com todo o link e título dos editais coletados e agora irá acessar cada um dos links e pegar as seguintes informaes de cada edital: - Título; - Modalidade; - Número; - Ano; - Situao; - Link direto para o PDF. - Em seguida com os dados retornados do método acima em um dicionário, invocaremos o método static "persistir_em_csv" que vai receber os dados e o nome do arquivo e assim armazenar os dados nesse arquivo .csv. ## busca (em modo texto) - Criaa de um arquivo chamado search_edital.py que irá realizar toda a busca em modo texto realizado pelo usuário; - Primeiro será feita a manipulao das informaes que o usuário poderá pesquisar, que so: - Termo de busca: a ser pesquisado nos títulos; - Filtro de modalidade; - Filtro de número; - Filtro de ano; - Filtro de situao. - Por fim faremos algumas alteraes para que a entrada e saída de dados seja como no exemplo abaixo: - ENTRADA