Este projeto realiza web scraping em dois sites de fornecedores para extrair dados de produtos. Após a extração, os dados são consolidados e um dos sites, que está em espanhol, passa por um processo de tradução utilizando o LibreTranslate. Em seguida, um modelo de IA treinado com TensorFlow é utilizado para classificar os produtos em categorias específicas. Além disso, o projeto permite treinar o modelo com uma nova base de dados contendo produtos e categorias para melhorar a precisão da classificação.
- Web Scraping: Extração de dados de produtos de dois sites de fornecedores.
- Tradução: Tradução de dados do espanhol para o português utilizando um servidor local do LibreTranslate.
- Classificação com IA: Classificação dos produtos em categorias usando um modelo de IA treinado com TensorFlow.
- Treinamento do Modelo: Possibilidade de treinar o modelo com uma nova base de produtos e categorias.
- Controle de Execução: Registro dos processos em um arquivo de banco de dados SQLite com horários de início e fim.
- Python 3.10
- LibreTranslate: Instruções de instalação
- SQLite Browser: Download
-
Clone o repositório:
git clone https://github.com/leticiamn/WebScrapperAiPapper.git cd WebScrapperAiPapper
-
Crie um ambiente virtual:
pithon -m venv .venv
-
Ative o ambiente virtual e instale as dependências:
.venv/Scripts/activate pip install -r requirements.txt
-
Configure e inicie o servidor local do LibreTranslate:
libretranslate --update-models
-
Treinar o Modelo:
Para treinar o modelo com uma nova base de produtos e categorias, atualize o arquivo exemplo_categorias.csv dentro da pasta modules/classificador e execute o script classificar.py. Serão gerados dois arquivos
vectorizer.pickle
epredict_model.sav
que serão utilizados para classificar os produtos. -
Executar o Web Scraping e Classificação:
Para executar a extração dos dados dos fornecedores, é necessário inserir os dados de acesso no arquivo config.ini, seguindo o modelo do arquivo config_example.ini.
Inicie a execução dos arquivos nesta ordem:
- run_lider.bat
- run_mucho_1.bat
- run_mucho_2.bat
- run_mucho_3.bat
- run_mucho_4.bat
Estes scripts irão realizar a extração dos dados em 1 instância para o site do Lider e em 4 instâncias para o site do Mucho.
Após finalização da extração, inicie a execução do arquivo
run_tratar.bat
que irá realizar o processo de tratamento dos dados, tradução e classificação dos produtos.É possível agendar a execução deste arquivo para repetir conforme o tempo desejado, pois este irá verificar no banco
controle_execucao.db
do SQLite se todas as extrações já finalizaram e se sim, irá iniciar o processo.Para verificar as execuções, você pode utilizar o SQLite Browser, basta abrir o arquivo controle_execucao.db que estará na pasta modules/controle_execucao.
Após finalização completa do processo, será gerado um arquivo base_final.csv na pasta raiz do projeto.`
Os logs de execução são salvos em um arquivo SQLite (execution_logs.db
) na pasta modules/controle_execucao. Para visualizar e consultar os dados, utilize o SQLite Browser.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e pull requests.
Para dúvidas ou mais informações, entre em contato:
- E-mail: leticiamedeirosnasc@gmail.com
- LinkedIn: Letícia Medeiros Nascimento