Este projeto foi desenvolvido enquanto estudante da Trybe no módulo de Ciências da Computação.
Utilizar o Python para implementar funções que realizam a raspagem de dados e, em seguida, utilizam essas informações para popular um banco de dados não relacional, o MongoDB.
O site utilizado para a raspagem é o Blog da Trybe, com as devidas permissões.
- Utilização do terminal interativo do Python;
- Como escrever os próprios módulos e importá-los em outros arquivos;
- Aplicação de técnicas de raspagem de dados.
- Extração de conteúdos HTML.
- Como armazenar os dados obtidos em um banco de dados.
- Função
fetch, responsável por extrair o conteúdo HTML de uma página. - Função
scrape_updates, que realiza a raspagem para extrair as URL's das notícias. - Função
scrape_next_page_link, faz a raspagem para buscar a URL da próxima pagina. - Função
scrape_news, faz a raspagem das notícias e estrutura as informações em um dict. - Função
get_tech_news, utiliza as funções criadas previamente para realizar uma raspagem mais robusta, capaz de paginação e de adicionar as notícias ao banco de dados. - Função
search_by_title, realiza uma busca no banco de dados conforme o título da notícia. - Função
search_by_date, realiza uma busca no banco de dados segundo a data da notícia. - Função
search_by_tag, realiza uma busca no banco de dados conforme as tags da notícia. - Função
search_by_category, realiza uma busca no banco de dados segundo a categoria da notícia. - Função
top_5_news, que lista as notícias mais populares, o critério é o número de comentários. - Função
top_5_categories, que lista as categorias com maior ocorrência no banco de dados. - Função
analyzer_menu, o menu do programa, dando opções que utilizam as funcionalidades criadas anteriormente. - Implementar as funcionalidades do menu criado no requisito 12.
- Python.
- Parsel, Requests, BeutifulSoup4.
- Python-Decouple.
- Pymongo.
- Pytest, Pytest-Mock, Pytest-Json.
- Flake8, Black, Wheel.
- Dockerfile e Docker-Compose (Construção do Banco de Dados)
- Clone o repositório e abra a pasta raiz.
- Ative o ambiente virtual do python pelo terminal:
python3 -m venv .venv && source .venv/bin/activate- Instale as dependências pelo terminal:
python3 -m pip install -r dev-requirements.txt- Inicie o banco de dados através do docker pelo terminal:
docker-compose up -d mongodb- No terminal, execute menu.py:
python3 tech_news/menu.py