feat: add TibiaWiki scraper project and update .gitignore
Integrates a Scrapy-based TibiaWiki scraper (spider, pipelines, SQLite/Images settings, README). Updates .gitignore to exclude generated data directories (/iconScript/data, /data/images) to keep the repository clean.
This commit is contained in:
1 parent
bf12f2c6f1
commit
29ba5aece0
27 files changed
+1702
-4
No files matched your search
@@ -0,0 +1,131 @@
|
||||
# 🚀 Execução com Selenium
|
||||
|
||||
## Por que Selenium?
|
||||
|
||||
O TibiaWiki está bloqueando requisições automatizadas com erro **403 Forbidden**. O Selenium resolve isso ao simular um navegador real.
|
||||
|
||||
## ⚙️ Requisitos
|
||||
|
||||
- ✅ Chrome instalado no sistema
|
||||
- ✅ Python 3.7+
|
||||
- ✅ Dependências instaladas (`pip install -r requirements.txt`)
|
||||
|
||||
## 🎯 Como Executar
|
||||
|
||||
### Passo 1: Navegue até a pasta do projeto
|
||||
|
||||
```bash
|
||||
cd D:\Documents\GitHub\pagodera\iconScript
|
||||
```
|
||||
|
||||
### Passo 2: Execute o script
|
||||
|
||||
```bash
|
||||
python main_selenium.py
|
||||
```
|
||||
|
||||
### O que vai acontecer:
|
||||
|
||||
1. **Chrome abre automaticamente** (não precisa ficar apertando nada)
|
||||
2. **Navega para o TibiaWiki** e extrai categorias
|
||||
3. **Processa cada categoria** automaticamente
|
||||
4. **Salva dados no banco** SQLite em tempo real
|
||||
5. **Baixa imagens** organizadas por pasta
|
||||
|
||||
### ⏱️ Tempo estimado: 30min - 1h
|
||||
|
||||
## 👀 Acompanhamento
|
||||
|
||||
Você pode assistir o processo acontecendo:
|
||||
- Ver o navegador navegando pelas páginas
|
||||
- Ver mensagens no terminal sobre progresso
|
||||
- Acompanhar itens sendo extraídos
|
||||
|
||||
## ⏸️ Parar o Processo
|
||||
|
||||
Pressione `Ctrl+C` no terminal para parar de forma segura.
|
||||
|
||||
## 📊 Ver Resultados
|
||||
|
||||
Após o término:
|
||||
|
||||
```bash
|
||||
# Abrir o banco SQLite
|
||||
cd data
|
||||
sqlite3 tibiawiki.db
|
||||
|
||||
# Dentro do sqlite3:
|
||||
.tables # Ver todas as tabelas
|
||||
SELECT * FROM capacetes LIMIT 5; # Ver alguns capacetes
|
||||
```
|
||||
|
||||
## 🔧 Modo Headless (sem interface)
|
||||
|
||||
Se quiser que o Chrome rode em background (sem mostrar janela):
|
||||
|
||||
Edite `main_selenium.py` linha 24:
|
||||
|
||||
```python
|
||||
headless=True # Mude para True
|
||||
```
|
||||
|
||||
## 🐛 Problemas Comuns
|
||||
|
||||
### Erro: "ChromeDriver not found"
|
||||
- O webdriver será baixado automaticamente
|
||||
- Certifique-se de ter internet na primeira execução
|
||||
|
||||
### Chrome não fecha automaticamente
|
||||
- Feche manualmente: `Ctrl+C` várias vezes
|
||||
- Se travar, feche o Chrome manualmente
|
||||
|
||||
### Erro de permissão no Windows
|
||||
- Execute o terminal como Administrador
|
||||
|
||||
### Processo muito lento
|
||||
- É normal! Cada página espera 3-4 segundos para não sobrecarregar
|
||||
- O processo demora mas é mais seguro
|
||||
|
||||
## 📝 Logs
|
||||
|
||||
Mensagens importantes que você verá:
|
||||
|
||||
```
|
||||
INFO: Iniciando scraping com Selenium...
|
||||
INFO: Driver do Chrome configurado com sucesso
|
||||
INFO: Conectado ao banco SQLite: data/tibiawiki.db
|
||||
INFO: Carregando página: https://www.tibiawiki.com.br/wiki/Itens
|
||||
INFO: Categoria encontrada: Capacetes -> https://...
|
||||
INFO: Processando categoria: Capacetes
|
||||
INFO: Total de itens extraídos: 10
|
||||
INFO: Total de itens extraídos: 20
|
||||
...
|
||||
INFO: Scraping concluído!
|
||||
INFO: Total de itens extraídos: 1500
|
||||
```
|
||||
|
||||
## ✅ Verificação Final
|
||||
|
||||
Após terminar, verifique:
|
||||
|
||||
```bash
|
||||
# Listar tabelas criadas
|
||||
sqlite3 data/tibiawiki.db ".tables"
|
||||
|
||||
# Ver exemplo de dados
|
||||
sqlite3 data/tibiawiki.db "SELECT nome, nivel, peso FROM capacetes LIMIT 5;"
|
||||
|
||||
# Ver imagens baixadas
|
||||
ls data/images/
|
||||
|
||||
# Contar quantas imagens por categoria
|
||||
ls data/images/capacetes/ | wc -l
|
||||
```
|
||||
|
||||
## 🎉 Pronto!
|
||||
|
||||
Agora você tem:
|
||||
- ✅ Banco SQLite com todos os itens
|
||||
- ✅ Imagens organizadas por categoria
|
||||
- ✅ Dados prontos para usar
|
||||
|
||||
Reference in new issue
Block a user