Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mrk-qa/webscraping-playwright-product-kabum-e-commerce-bot-telegram
Este projeto realiza o scraping de preços de produtos no site KaBuM! e envia os resultados via Telegram Bot. Ele utiliza o Playwright para o scraping e a biblioteca python-telegram-bot para enviar as mensagens.
https://github.com/mrk-qa/webscraping-playwright-product-kabum-e-commerce-bot-telegram
kabum-digital playwright telegram-bot webscraping-python
Last synced: about 2 months ago
JSON representation
Este projeto realiza o scraping de preços de produtos no site KaBuM! e envia os resultados via Telegram Bot. Ele utiliza o Playwright para o scraping e a biblioteca python-telegram-bot para enviar as mensagens.
- Host: GitHub
- URL: https://github.com/mrk-qa/webscraping-playwright-product-kabum-e-commerce-bot-telegram
- Owner: mrk-qa
- Created: 2024-11-13T21:06:21.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-13T23:08:46.000Z (about 2 months ago)
- Last Synced: 2024-11-13T23:19:30.104Z (about 2 months ago)
- Topics: kabum-digital, playwright, telegram-bot, webscraping-python
- Language: Python
- Homepage:
- Size: 465 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Scraping de Preços de Produtos KaBuM! e Envio para o Telegram
## Índice
1. [Tecnologias Utilizadas](#1-tecnologias-utilizadas)
2. [Pré-requisitos](#2-pré-requisitos)
3. [Instalação e Configuração](#3-instalação-e-configuração)
1. [Criar o Bot no Telegram](#31-criar-o-bot-no-telegram)
2. [Instalar as Dependências](#32-instalar-as-dependências)
3. [Instalar Navegadores do Playwright](#33-instalar-navegadores-do-playwright)
4. [Configurando o dotenv](#34-configurando-o-dotenv)
4. [Executando o Script](#4-executando-o-script)
5. [Configuração do GitHub Actions](#5-configuração-do-github-actions)
6. [Resultado](#6-resultado)
7. [Contribuindo](#6-contribuindo)## 1. Tecnologias Utilizadas
- **Playwright**: Framework para automação de navegador, utilizado para realizar o scraping.
- **python-telegram-bot**: Biblioteca para interação com a API do Telegram e envio de mensagens.
- **GitHub Actions**: Ferramenta para automação de workflows, usada para agendar a execução diária do scraping.## 2. Pré-requisitos
- Python 3.7 ou superior
- Conta no Telegram e criação de um Bot
- Acesso ao repositório GitHub para configurar a automação## 3. Instalação e Configuração
### 3.1 Criar o Bot no Telegram
Para interagir com o **Telegram Bot**, siga os passos abaixo:
1. Abra o Telegram e procure por **@BotFather**.
2. Envie o comando `/newbot` para o **BotFather**.
3. Siga as instruções para criar o bot e obtenha o **Token do Bot**.
4. Adicione o bot ao seu canal e obtenha o **ID do Canal**. Você pode usar o **BotFather** para encontrar o ID do canal.### 3.2 Instalar as Dependências
Instale as dependências necessárias utilizando o `pip`:
```bash
pip install -r requirements.txt
```### 3.3 Instalar Navegadores do Playwright
O Playwright requer que você instale os navegadores para o scraping. Execute o seguinte comando:
```bash
python -m playwright install
```### 3.4 Configurando o dotenv
O arquivo .env será utilizado para armazenar as variáveis de ambiente, como o Token do Bot e o ID do Canal de forma segura.
Crie um arquivo chamado .env na raiz do seu projeto e adicione as seguintes variáveis:
```bash
TELEGRAM_TOKEN=SEU_TOKEN_AQUI
TELEGRAM_CHAT_ID=SEU_CHAT_ID_AQUI
```Substitua SEU_TOKEN_AQUI pelo token do seu bot (obtido no passo 1) e SEU_CHAT_ID_AQUI pelo ID do seu canal.
### 4. Executando o Script
Agora, você pode executar o script que irá realizar a busca dos produtos e enviar as informações para o Telegram.
Execute o seguinte comando:
```bash
python main.py
```Ou, se preferir, você pode rodar o script de forma automatizada utilizando GitHub Actions, que pode ser configurado para rodar diariamente e enviar atualizações do preço para o Telegram.
### 5. Configuração do GitHub Actions
O projeto está configurado para rodar automaticamente todos os dias às 01:00 (horário de Brasília). Para isso, foi criado um workflow utilizando GitHub Actions. O arquivo de configuração está localizado em .github/workflows/web-scraping.yml.
Se você deseja rodar o workflow manualmente ou de forma agendada, o cronograma está configurado para rodar todos os dias às 01:00:
```bash
on:
schedule:
- cron: '0 1 * * *' # Executa a cada dia às 01:00 (horário de Brasília)
workflow_dispatch: # Permite a execução manual também
```### 6. Resultado
### 7. Contribuindo
Se você deseja contribuir com melhorias para o projeto, faça um fork, crie uma branch e envie suas mudanças com um pull request.