Skip to content

rojeto desenvolvido no módulo de ciência da computação na instituição 🖱️Trybe, com o objetivo de raspar dados (scraper) de uma página usando python e inserir no banco de dados (mongodb)

Notifications You must be signed in to change notification settings

Ytellon/tech-news-python

Repository files navigation

Descrição do Projeto 🧑🏻‍💻🖱️

Projeto desenvolvido no módulo de ciência da computação na instituição 🖱️Trybe, com o objetivo de raspar dados (scraper) de uma página usando python e inserir no banco de dados (mongodb).

Estrutura do projeto

Estrutura do projeto e descrição dos arquivos que foram desenvolvidos por mim.

Legenda:
🔸Arquivos desenvolvidos pela Trybe (não foram alterados).
🔹Arquivos desenvolvidos por mim.
.
├── tech_news
│   ├── analyzer
│   │   ├── 🔹ratings.py
│   │   └── 🔹search_engine.py
│   ├── 🔸database.py
│   └── 🔹menu.py
│   └── 🔹scraper.py
├── tests
│   ├── 🔸assets/*
│   ├── 🔸__init__.py
│   ├── 🔸generate_fixture.py
│   ├── 🔸news.py
│   ├── 🔸test_menu.py
│   ├── 🔸test_ratings.py
│   ├── 🔸test_scraper.py
│   ├── 🔸test_search_engine.py
│   └── 🔸utils.py
├── 🔸dev-requirements.txt
├── 🔸docker-compose.yml
├── 🔸Dockerfile
├── 🔸pyproject.toml
├── 🔹README.md
├── 🔸requirements.txt
├── 🔸setup.cfg
├── 🔸setup.py
└── 🔸trybe.yml

Tecnologias utilizado 🖱️

Desenvolvindo usando: Python, Docker, MongoDB, Pymongo

Python Docker MongoDB

Como rodar o projeto

1 - Clone o repositório

git clone [email protected]:Ytellon/tech-news-python.git

2 - Crie ambiente virtual e instale as dependências

cd tech-news/
python3 -m venv .venv && source .venv/bin/activate
python3 -m pip install -r dev-requirements.txt

3 - Rode o banco de dados via docker

docker-compose up -d mongodb

Como usar

  1. Para inserir e listar uma quantidade de notícias.
  • Use o comando:
    python3 -i tech_news/scraper.py
    
  • Depois:
    get_tech_news(quantidade_de_news)
    
  • Retorno:
    >>> get_tech_news(1)
    [
        {
            "url":"https://blog.betrybe.com/tecnologia/informatica-basica/",
            "title":"Informática básica: o que é e quais os 16 conceitos principais",
            "timestamp":"09/11/2022",
            "writer":"Lucas Custódio",
            "comments_count":0,
            "summary":"Os computadores dominaram o mundo. Por isso, é uma grande vantagem ter algum conhecimento em Informática básica, especialmente se você for da área de tecnologia.",
            "tags":[
                ],
                "category":"Tecnologia"
        }
    ]
  1. Pesquisar notícias por título.
  • Use o comando:
    python3 -i tech_news/analyzer/search_engine.py
    
  • Depois:
    search_by_title("Informática")
    
  • Retorno - Uma lista com o título e o link para a notícia:
    >>> search_by_title("Informática")
    [('Informática básica: o que é e quais os 16 conceitos principais', 'https://blog.betrybe.com/tecnologia/informatica-basica/')]
  1. Pesquisar notícias por data.
  • Use o comando:
    python3 -i tech_news/analyzer/search_engine.py
    
  • Depois:
    search_by_date("2022-11-09")
    
  • Retorno - Uma lista com o título e o link para a notícia:
    >>> search_by_date("2022-11-09")
    [('Informática básica: o que é e quais os 16 conceitos principais', 'https://blog.betrybe.com/tecnologia/informatica-basica/')]

About

rojeto desenvolvido no módulo de ciência da computação na instituição 🖱️Trybe, com o objetivo de raspar dados (scraper) de uma página usando python e inserir no banco de dados (mongodb)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published