Este é um crawler desenvolvido em Python que busca uma lista pré-definida de produtos em três sites distintos: Atacadão, SuperTonin e Savegnago. Os produtos são passados através de um arquivo de texto (txt) na linha de comando.
Esse sistema foi feito para um outro projeto chamado: EconomizeJa-backend e EconomizeJa-frontend (o frontend ainda não foi criado)
O crawler utiliza as seguintes bibliotecas Python:
- Selenium: utilizada para interagir com os sites, realizar buscas e extrair informações.
- BeautifulSoup (bs4): utilizada para fazer a análise de HTML e extrair os dados desejados.
- Pandas: utilizada para manipulação e análise de dados.
- Unidecode: utilizada para lidar com caracteres especiais e acentos.
Além disso, o crawler faz uso de um banco de dados SQLite para armazenar os produtos encontrados.
Certifique-se de ter as seguintes dependências instaladas:
- Python 3.x
- Bibliotecas: Selenium, BeautifulSoup, pandas, unidecode
- Webdriver para o Selenium (por exemplo, ChromeDriver para o Google Chrome)
Para executar o crawler, abra um terminal e navegue até o diretório onde o arquivo run.py
está localizado. Em seguida, execute o seguinte comando:
python3 run.py search.txt
O crawler irá percorrer cada um dos sites (Atacadão, SuperTonin e Savegnago), buscar os produtos na lista e exibir os resultados no console.
O código-fonte do crawler segue uma abordagem orientada a objetos (POO), com as seguintes classes:
mercado
: classe base abstrata que representa um site. Possui métodos para realizar a busca de produtos e extrair informações dos resultados.atacadao
,supertonin
esavegnago
: classes derivadas demercado
que implementam a busca e extração de dados específicos para cada site.
Se você quiser contribuir para este projeto, fique à vontade para fazer um fork e enviar suas melhorias através de um pull request.
Este projeto está licenciado sob a MIT License. Sinta-se à vontade para utilizá-lo e modificá-lo de acordo com suas necessidades.