{"id":26305628,"url":"https://github.com/fellipeafonseca/prj_python-automacao-noticias-newyorktimes","last_synced_at":"2025-03-15T09:16:32.441Z","repository":{"id":280706349,"uuid":"942895496","full_name":"fellipeafonseca/prj_python-automacao-noticias-newYorkTimes","owner":"fellipeafonseca","description":"Automação para busca de notícias no site New York Times","archived":false,"fork":false,"pushed_at":"2025-03-04T21:12:46.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-04T22:23:15.931Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fellipeafonseca.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-03-04T21:11:08.000Z","updated_at":"2025-03-04T21:12:49.000Z","dependencies_parsed_at":"2025-03-04T22:23:18.090Z","dependency_job_id":"0725a3bb-ab12-49a6-bdbe-3ddd6c9f7e48","html_url":"https://github.com/fellipeafonseca/prj_python-automacao-noticias-newYorkTimes","commit_stats":null,"previous_names":["fellipeafonseca/prj_python-automacao-noticias-newyorktimes"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fellipeafonseca%2Fprj_python-automacao-noticias-newYorkTimes","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fellipeafonseca%2Fprj_python-automacao-noticias-newYorkTimes/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fellipeafonseca%2Fprj_python-automacao-noticias-newYorkTimes/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fellipeafonseca%2Fprj_python-automacao-noticias-newYorkTimes/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fellipeafonseca","download_url":"https://codeload.github.com/fellipeafonseca/prj_python-automacao-noticias-newYorkTimes/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243707357,"owners_count":20334619,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-15T09:16:31.883Z","updated_at":"2025-03-15T09:16:32.432Z","avatar_url":"https://github.com/fellipeafonseca.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NYTimes - Automação RPA com ReFramework, Docker e WSL2 para coleta de notícias\n\n## 📌 Descrição\n\nEste projeto é uma automação RPA desenvolvida em **Python** seguindo o padrão **ReFramework**, utilizando **Selenium** para extrair notícias do site [The New York Times](https://www.nytimes.com/search).\n\nOs dados extraídos são:\n\n- **Título da notícia**\n- **Data da publicação**\n- **Descrição**\n- **Imagem da Publicação**\n- **Contagem de Ocorrências da frase de busca na notícia (título e descrição)**\n- **Valor monetário (Dollars) na notícia (Verdadeiro/Falso)**\n\n\n\nAs notícias são salvas e é gerado um arquivo **Excel** (`noticias.xlsx`) na raiz do projeto com dados extraídos.\n\n## 📽️ Demonstração\n\n### Execução Local\nhttps://github.com/user-attachments/assets/9985e790-60a4-434e-a34a-0e1c4f1fdace\n\n\n### Relatório gerado\n![Relatorio Excel](https://github.com/user-attachments/assets/07ee2c78-ac0a-446b-86ae-b223e2c54578)\n\n\n### Execução via docker\n\n![Execucao Docker nytimes](https://github.com/user-attachments/assets/b5ad495c-e02a-45a8-84c1-55d9c0aee315)\n\n\n---\n\n## 🛠️ Tecnologias e Ferramentas Utilizadas\n\n- **Python** 🐍\n- **Selenium WebDriver** 🌐\n- **Pandas** 📊\n- **ReFramework** (Robotic Enterprise Framework) 🤖\n- **Docker \u0026 Docker Hub** 🐳\n- **WSL2 (Windows Subsystem for Linux 2)** 💻\n\n---\n\n## 📂 Estrutura do Projeto\n\n```\n📦 NYTimesScraper-RPA\n├── 📜 config.json        # Configuração com parâmetros de busca\n├── 📜 main.py            # Script principal que gerencia o fluxo\n├── 📜 Dockerfile         # Configuração para containerização\n├── 📜 requirements.txt   # Dependências do projeto\n├── 📜 README.md          # Documentação do projeto\n```\n\n---\n\n## ⚙️ Configuração e Execução\n\n### 🔹 **1. Pré-requisitos**\n\nAntes de rodar a aplicação, certifique-se de ter instalado:\n\n- **Python 3.8+**\n- **Docker e Docker Desktop (com integração WSL2 ativada)**\n- **WSL2** configurado e habilitado para o Docker\n\n### 🔹 **2. Clonar o Repositório**\n\n```bash\ngit clone https://github.com/fellipeafonseca/prj_python-automacao-noticias-newYorkTimes.git\n\n```\n\n### 🔹 **3. Configurar as Variáveis no Config**\n\nAbra o arquivo `config.json` e edite os valores conforme necessário:\n\n```json\n{\n   \"url\": \"https://www.nytimes.com/search\",\n    \"frase\": \"technology\", \n    \"meses\": 1,\n    \"idioma\": \"en\",\n    \"tipo\": \"article\",\n    \"ordenacao\":\"newest\"\n}\n```\n\n### 🔹 **4. Executar Localmente**\n\nInstale as dependências:\n\n```bash\npip install -r requirements.txt\n```\n\nRode o script principal:\n\n```bash\npython main.py\n```\n\n---\n\n## 🐳 Uso com Docker - https://hub.docker.com/repository/docker/fellipedockerfon/prj_python-automacao-noticias-newyorktimes-nytimes_scraper/general\n\n### 🔹 **1. Construir a Imagem Docker**\n\n```bash\ndocker build -t prj_python-automacao-noticias-newyorktimes-nytimes_scraper .\n```\n\n### 🔹 **2. Executar o Container**\n\n```bash\ndocker run --rm -v $(pwd)/output:/app/output prj_python-automacao-noticias-newyorktimes-nytimes_scraper\n```\n\n### 🔹 **3. Enviar a Imagem para o Docker Hub**\n\n```bash\ndocker tag nytimes_scraper fellipedockerfon/prj_python-automacao-noticias-newyorktimes-nytimes_scraper:latest\ndocker push fellipedockerfon/prj_python-automacao-noticias-newyorktimes-nytimes_scraper:latest\n```\n\n### 🔹 **4. Baixar e Executar em Outra Máquina**\n\n```bash\ndocker pull fellipedockerfon/prj_python-automacao-noticias-newyorktimes-nytimes_scraper:latest\ndocker run --rm fellipedockerfon/prj_python-automacao-noticias-newyorktimes-nytimes_scraper\n```\n\n---\n\n## 📝 Observações\n\n- Em caso de erro, uma captura de tela será salva na pasta do projeto.\n- É realizado até 3 tentativas para a extração de dados no site. \n- Certifique-se de que o **ChromeDriver** está compatível com a versão do Google Chrome instalada.\n- Se o Docker não estiver rodando no **WSL2**, verifique as configurações no **Docker Desktop**.\n\n---\n\n## 🏆 Contribuições\n\nMelhorias futuras para implementação:\n- Estruturação melhor do reframework separando as responsabilidades em novas classes;\n- Utilização de imagem de Banco de Dados para salvar os arquivos gerados e/ou Envio por E-mail;\n- Utilização de Docker Secrets para armazenamento de usuário, senha e chaves de conexão no Dockerfile.\n\nFique à vontade para abrir um **Pull Request** ou relatar problemas na aba **Issues**!\n\n🔗 **GitHub:** https://github.com/fellipeafonseca/prj_python-automacao-noticias-newYorkTimes\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffellipeafonseca%2Fprj_python-automacao-noticias-newyorktimes","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffellipeafonseca%2Fprj_python-automacao-noticias-newyorktimes","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffellipeafonseca%2Fprj_python-automacao-noticias-newyorktimes/lists"}