示例#1
0
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
示例#2
0
        )
        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")
示例#3
0
        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:
示例#4
0
        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"]
示例#5
0
        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")
示例#6
0
        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: