https://github.com/jonathan-r-andrade/tech-news
Scraper de notícias sobre tecnologia.
https://github.com/jonathan-r-andrade/tech-news
mongodb parsel python scraper
Last synced: 3 months ago
JSON representation
Scraper de notícias sobre tecnologia.
- Host: GitHub
- URL: https://github.com/jonathan-r-andrade/tech-news
- Owner: Jonathan-R-Andrade
- Created: 2023-02-27T02:25:37.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-02-28T22:18:01.000Z (over 2 years ago)
- Last Synced: 2025-01-21T13:38:41.855Z (4 months ago)
- Topics: mongodb, parsel, python, scraper
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Tech News
Projeto desenvolvido por [Jonathan R. Andrade](https://www.linkedin.com/in/jonathan-r-andrade/) na [Trybe](https://www.betrybe.com/).
## Sobre
Projeto de uma ferramenta escrita em Python capaz de coletar noticias sobre tecnologia. As notícias são obtidas por meio de raspagem do [blog da Trybe](https://blog.betrybe.com/) e são salvas no banco de dados MongoDB para serem consultadas posteriormente.
## Habilidades desenvolvidas
* Utilizar o terminal interativo do Python;
* Escrever meus próprios módulos e importá-los em outros códigos;
* Aplicar técnicas de raspagem de dados;
* Extrair dados de conteúdo HTML;
* Armazenar os dados obtidos no banco de dados MongoDB.## Como executar
Siga os passos abaixo executando os comandos no terminal.
1. Clone o repositório.
* Exemplo com Git + HTTPS
```bash
git clone https://github.com/Jonathan-R-Andrade/tech-news.git
```
* Exemplo com Git + SSH
```bash
git clone [email protected]:Jonathan-R-Andrade/tech-news.git
```
* Usando GitHub CLI
```bash
gh repo clone Jonathan-R-Andrade/tech-news
```> Entre na pasta do repositório clonado.
2. Crie um arquivo `.env` na raiz do projeto com as variáveis de ambiente necessárias para o banco de dados.
* No Windows, execute o comando abaixo no terminal.
```bash
copy .env.example .env
```
* No Unix/Linux, execute o comando abaixo no terminal.
```bash
cp .env.example .env
```3. Prepare o ambiente usando Docker Compose ou o Python e o MongoDB instalados localmente.
*
Usando Docker Compose.> Para rodar esse projeto usando Docker Compose eu utilizei o Docker na versão 23.0.1 e o Docker Compose na versão 2.16.0.
1. Inicie a aplicação.
```bash
docker compose up -d --build
```2. Entre no container da aplicação.
```bash
docker exec -it tech_news bash
```
*
Usando Python e MongoDB instalados localmente.> Para rodar esse projeto localmente eu utilizei o Python na versão 3.8.16 e o MongoDB na versão 5.0.14.
1. Crie o ambiente virtual.
```bash
python3 -m venv .venv
```2. Ative o ambiente virtual.
```bash
source .venv/bin/activate
```3. Instale as dependências.
```bash
python3 -m pip install -r dev-requirements.txt
```> Verifique se o MongoDB está rodando e as variáveis de ambiente estão corretas no arquivo `.env`.
4. Execute o script.
```bash
tech-news-analyzer
```---
Além do que foi solicitado no projeto, eu adicionei a possibilidade de executar o script com os seguintes argumentos:
* `--option` ou `-o`: Executa o script com a opção desejada sem exibir o menu.
```bash
tech-news-analyzer --option 5
```* `--width` ou `-w`: Define a largura máxima das colunas da tabela (padrão: 100).
```bash
tech-news-analyzer --width 50
```