Closed sheory closed 1 month ago
Eu criei um novo ambiente virtual, segui os passos de configuração do README, tentei executar o mesmo raspador scrapy crawl sp_avare
e tive o mesmo erro também
2024-10-07 18:52:45 [scrapy.core.engine] INFO: Spider opened 2024-10-07 18:52:45 [gazette.database.models] INFO: Populating 'territories' table - Please wait! 2024-10-07 18:52:45 [scrapy.core.engine] INFO: Closing spider (shutdown) 2024-10-07 18:52:45 [scrapy.utils.signal] ERROR: Error caught on signal handler: <bound method CoreStats.spider_closed of <scrapy.extensions.corestats.CoreStats object at 0x7f990395b790>> Traceback (most recent call last): File "/home/trevo/Desktop/Juliana/Codigo/OKBR/querido-diario/.socorro/lib/python3.10/site-packages/scrapy/crawler.py", line 160, in crawl yield self.engine.open_spider(self.spider, start_requests) TypeError: keywords must be strings
Tentamos outros raspadores e seguimos com o mesmo problema
@jjpaulo2, @sheory comentou que você também teve que lidar com erros. Por acaso foi esse?
Vendo o traceback, precisaria ver o código do Scrapy para confirmar de onde esse TypeError surge
Vi o Release Notes do Scrapy e, apesar de não encontrar nenhuma menção, talvez fosse o caso de atualizar do 2.11.0 para 2.11.2, regerando a partir do pip-tools usando Python 3.10
Como a gente não havia mexido em dependências e o projeto estava funcionando normal, a opção que parecia mais sensata era que algum commit recente havia introduzido bug.
Testando os últimos commits (com ambiente python 3.10 totalmente limpo, virtualenv zerado e sem banco) encontrei o problema no commit 79cee066. Daí vi que a linha 5583 do territories.csv
apresenta uma vírgula no campo name
e isso impede o carregamento do banco de territories e de spiders. Vou subir um fix
P.S. o erro tá bem zoado mesmo... Mas provavelmente pq ocorreu no .open_spider()
do SQLDatabasePipeline
ao chamar initialize_database()
, que é chamado por meio de signal (só chutando aqui pq não parei pra entender mesmo).
Cheguei tarde por aqui kkkk
De fato, @sheory e @trevineju eu passei por alguns problemas no setup do projeto, mas foram por causa do Spidermon. Como estava rodando localmente apenas pra validar a coleta, preferi só desativar ele na minha máquina.
Tentei rodar o comando abaixo e acabei tendo o erro do arquivo anexado.
scrapy crawl sp_avare --logfile=logfile.log
logfile.log