def build_bot(): """ Constrói a base do bot com todos os scrapers cadastrados Returns: telegram_bot (TelegramBot): Classe do bot """ token = utils.get_config().get(section="telegram", option="BOT_TOKEN") contacts_path = os.path.join(utils.get_data_path(), "contacts_list.json") scraper_list = [ MarinhaScraper( name="CP-CEM 2021", database_path=os.path.join(utils.get_data_path(), "cem2021.json"), url= "https://www.inscricao.marinha.mil.br/marinha/index_concursos.jsp?id_concurso=401", ), MarinhaSMVScraper( name="SMV 2022", database_path=os.path.join(utils.get_data_path(), "smv2022.json"), ), FundepScraper( name="Fundep", database_path=os.path.join(utils.get_data_path(), "fundep.json"), ), CorridasBRScraper( name="CorridasBR", database_path=os.path.join(utils.get_data_path(), "corridasbr.json"), base_url="http://www.corridasbr.com.br/MG/", table_url= "http://www.corridasbr.com.br/MG/por_regiao.asp?regi%E3o=Metropolitana%20de%20Belo%20Horizonte", max_distance=5, ), PCIScraper( name="PCI Concursos", database_path=os.path.join(utils.get_data_path(), "pci.json"), store_size=7, keywords=[ "automacao", "eletrica", "eletricidade", "eletronica analogica", "eletronica digital", "eletrotecnica", "engenharia elet", "engenheiro elet", "marinha", "telecom", ], ignore_words=["estagio", "estagiario", "aprendiz", "suspens"], ), ] telegram_bot = TelegramBot(token=token, scraper_list=scraper_list, contacts_path=contacts_path) return telegram_bot
) output_message_list.append( "<b>Dados salvos no dia " + stored_data["acquisition_date"] + "</b>" ) output_message_list = utils.group_messages(message_list=output_message_list) return output_message_list if __name__ == "__main__": """ Rotina de teste do scraper, acessa a página, salva o arquivo e executa as funções da classe base """ database_path = os.path.join(utils.get_data_path(), "fundep.json") fundep = FundepScraper(name="Fundep", database_path=database_path) status = fundep.scrape_page() if status: print("\n\nMensagem de atualização:") print(fundep.updated_data()) print("\n\nMensagem de resumo:") print(fundep.short_data()) print("\n\nMensagem completa: ") print(fundep.complete_data()) else: print("Erro no acesso à página")
return output_message_list def __repr__(self): return (f"Scraper {self.name}: " f"\n URL: {self.url}" f"\n Database_path: {self.db_path}") if __name__ == "__main__": """ Rotina de teste do scraper, acessa a página, salva o arquivo e executa as funções da classe base """ database_path = os.path.join(utils.get_data_path(), "corridasbr.json") base_url = "http://www.corridasbr.com.br/MG/" table_url = "http://www.corridasbr.com.br/MG/por_regiao.asp?regi%E3o=Metropolitana%20de%20Belo%20Horizonte" max_distance = 5 corridasbr = CorridasBRScraper( name="CorridasBR", database_path=database_path, base_url=base_url, table_url=table_url, max_distance=max_distance, ) status = corridasbr.scrape_page() if status:
return output_message_list def __repr__(self): return (f"Scraper {self.name}: " f"\n URL: {self.url}" f"\n Database_path: {self.db_path}") if __name__ == "__main__": """ Rotina de teste do scraper, acessa a página, salva o arquivo e executa as funções da classe base """ database_path = os.path.join(utils.get_data_path(), "pci.json") store_size = 2 keywords = [ "automacao", "eletrica", "eletricidade", "eletronica analogica", "eletronica digital", "eletrotecnica", "engenharia elet", "engenheiro elet", "marinha", "telecom", ] ignore_words = ["estagio", "estagiario", "aprendiz", "suspens"]
return output_message_list def __repr__(self): return ( f"Scraper {self.name}: " f"\n URL: {self.url}" f"\n Database_path: {self.db_path}" ) if __name__ == "__main__": """ Rotina de teste do scraper, acessa a página, salva o arquivo e executa as funções da classe base """ database_path = os.path.join(utils.get_data_path(), "smv2022.json") smv2022 = MarinhaSMVScraper(name="SMV 2022", database_path=database_path) status = smv2022.scrape_page() if status: print("\n\nMensagem de atualização:") print(smv2022.updated_data()) print("\n\nMensagem de resumo:") print(smv2022.short_data()) print("\n\nMensagem completa: ") print(smv2022.complete_data()) else: print("Erro no acesso à página")
return output_message_list def __repr__(self): return (f"Scraper {self.name}: " f"\n URL: {self.url}" f"\n Database_path: {self.db_path}") if __name__ == "__main__": """ Rotina de teste do scraper, acessa a página, salva o arquivo e executa as funções da classe base """ database_path = os.path.join(utils.get_data_path(), "cem2021.json") url = "https://www.inscricao.marinha.mil.br/marinha/index_concursos.jsp?id_concurso=401" cem2021 = MarinhaScraper(name="CP-CEM 2021", database_path=database_path, url=url) status = cem2021.scrape_page() if status: print("\n\nMensagem de atualização:") print(cem2021.updated_data()) print("\n\nMensagem de resumo:") print(cem2021.short_data()) print("\n\nMensagem completa: ") print(cem2021.complete_data()) else: