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.
57 lines
1.4 KiB
Python
57 lines
1.4 KiB
Python
"""
|
|
Script principal para executar o spider com Selenium
|
|
"""
|
|
import sys
|
|
import os
|
|
|
|
# Adiciona o diretório raiz ao path do Python
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from tibiawiki.spiders.selenium_spider import SeleniumSpider
|
|
|
|
|
|
def main():
|
|
"""
|
|
Executa o spider com Selenium
|
|
"""
|
|
print("=" * 80)
|
|
print("TibiaWiki Scraper - Selenium Edition")
|
|
print("=" * 80)
|
|
print("\nEste scraper usa Selenium para contornar bloqueios anti-bot.")
|
|
print("Um navegador Chrome será aberto automaticamente.")
|
|
print("\nO processo pode demorar de 30min a 1h dependendo da quantidade de categorias.")
|
|
print("Aguarde...\n")
|
|
|
|
# Cria e executa spider
|
|
spider = SeleniumSpider(
|
|
db_path='data/tibiawiki.db',
|
|
images_path='data/images',
|
|
headless=False # Mostra o navegador
|
|
)
|
|
|
|
spider.run()
|
|
|
|
print("\n" + "=" * 80)
|
|
print("Extração concluída!")
|
|
print("=" * 80)
|
|
print("\nDados salvos em:")
|
|
print("- Banco SQLite: data/tibiawiki.db")
|
|
print("- Imagens: data/images/")
|
|
print("\nPara ver os dados:")
|
|
print(" sqlite3 data/tibiawiki.db")
|
|
print(" .tables")
|
|
print(" SELECT * FROM capacetes LIMIT 10;")
|
|
print("\n")
|
|
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
main()
|
|
except KeyboardInterrupt:
|
|
print("\n\nScraping interrompido pelo usuário.")
|
|
sys.exit(0)
|
|
except Exception as e:
|
|
print(f"\n\nErro: {e}")
|
|
sys.exit(1)
|
|
|