Um programa que monitora novas ofertas para um produto específico no site Hardmob e te avisa por e-mail sobre as promoçãos encontradas.
Inspirado pelo robsonbittencourt/gafanhoto.
Eu precisava de um Kindle e tava querendo comprar um baratinho, um amigo meu me apresentou esse site e então surgiu essa ideia de automatizar esse trabalho de ficar procurando por um!
Se você está se perguntando o porque do nome jovem-padawan, “paciência você deve ter meu jovem Padawan” para achar um produto baratinho e que atenda as suas necessidades.
- Você precisa da versão 3.9 do Python instalada no seu computador, na qual você pode encontrar aqui.
- Clone esse repositório para o seu computador com o comando
$ git clone https://github.com/willy-r/jovem-padawan.git
- Vá para o repositório que você acabou de clonar,
jovem-padawan
:
$ cd jovem-padawan
- Crie um ambiente virtual dentro dessa pasta (recomendado mas opcional):
aqui eu estou usando o
venv
por ele já vir instalado com o Python, mas sinta-se à vontade para escolher o que você mais se sentir confortável
$ python -m venv venv
- Ative o ambiente virtual e instale as dependências:
$ source env/bin/activate
(venv) $ pip install -r requirements.txt
Para usar o programa você tambêm precisará permitir o Acesso a apps menos seguro na sua conta do Google, dê uma lida sobre!
Para usar é bem simples:
(env) $ python -m app.main product
? E-mail: exemplo@gmail.com
? Senha do e-mail:
-
product é o nome do produto para monitorar.
-
Sua senha não será mostrada quando você estiver digitando mas ela irá funcionar do mesmo jeito.
-
Só irá aparecer para você colocar a senha e o e-mail se você não quiser seguir um dos passos abaixo.
O programa usa o mesmo e-mail para enviar e receber as ofertas, então é necessário você se autenticar com uma conta Gmail válida e existem outras duas formas de você fazer isso:
-
Usando enviroment variables (recomendado):
(venv) $ export EMAIL_USERNAME='exemplo@gmail.com' (venv) $ export EMAIL_PASSWORD='senha_do_seu_email'
Ou mude o nome do arquivo
.env.example
para.env
e preencha as variáveis de ambiente necessárias. -
Passando como argumentos na linha de comando quando for executar o programa (não é recomendado mas é uma opção):
(venv) $ python -m app.main -e exemplo@gmail.com -p senha_do_seu_email product
Digite $ python -m app.main -h
para ver mais comandos.
- Procurando por ofertas para o Kindle por exemplo, e usando minhas credênciais definidas nas enviroment variables:
(venv) $ python -m app.main kindle
(16:22) - jovem-padawan: INFO: Procurando por ofertas para "Kindle" em https://www.hardmob.com.br/forums/407-Promocoes
(16:22) - jovem-padawan: INFO: Novas ofertas encontradas para "Kindle"
(16:22) - jovem-padawan: INFO: Enviado e-mail com as ofertas para exemplo@gmail.com
- Para parar o programa digite
CTRL + C
.
- O e-mail recebido terá mais ou menos essa aparência:
Tá afim de me ajudar? Estamos todos em uma plataforma que apoia o Open Source e não existe pessoa melhor do que você que está lendo isso para ajudar a melhorar esse projeto!
-
Opção 1
- 🍴 Dê fork nesse repositório!
-
Opção 2
- 👯 Clona esse repositório no seu computador usando
https://github.com/willy-r/jovem-padawan.git
- 👯 Clona esse repositório no seu computador usando
- MANDA VER! 🔨🔨🔨
- 🔃 Crie um PR usando
https://github.com/willy-r/jovem-padawan/compare
.
Você pode me encontrar falando um pouco de tudo (mais sobre programação) nos seguintes lugares:
- No Twitter em
@lliw_r