Closed rafamacario closed 1 year ago
A versão atual do módulo do sqlite-async
não é mais compatível com o require
.
Uma solução é apagar essa linha dos arquivos:
const Database = require('sqlite-async')
E a adicionar essa linha antes de realizar as chamadas Database.open(...)
const { Database } = await import('sqlite-async')
Acredito que a estrutura do html também mudou ligeiramente, nos meus testes aqui acabei substituindo essas linhas
const id = $(element).find('a').first().attr('data-lurker_list_id');
const url = $(element).find('a').first().attr('href');
const price = parseInt( $(element).find('span[aria-label^="Preço"]').first().text().replace('R$ ', '').replace('.', '') || '0' );
@rafamacario desculpa pela demora para responder. @guipfi Obrigado pela ajuda! Você está conseguindo usar certinho com as alterações que você fez?
Estou pensando em dar uma atenção maior para esse projeto, talvez até fazer um front para ele, vou ver se consigo encaixar na minha rotina.
@carmolim consegui sim, valeu pelo projeto! 💯
Legal! Vou tentar fazer uma PR hoje para consertar isso!
Esse projeto é fantástico, se você se dedicar nele tenho certeza que vai viralizar, minha sugestão é quando puder, fazer um vídeo no Youtube ensinando o passo a passo. Já pesquisei e o seu projeto é o mais promissor.
Acabei de publicar uma atualização com algumas melhorias no script:
agora não é preciso mais configurar um cronjob, agora o próprio node vai chamar a função de acordo com o intervalo definido no arquivo config.js
na primeira versão apenas os anúncios da primeira página de resultados eram varridos, agora o script passar por todas as páginas e passa por todos os anúncios
obrigado @guipfi por passar a atualização dos seletores, eles foram atualizados
Agora script está 100% funcional novamente.
Tem alguma feature que vocês achariam interessante de ser adicionada?
Podem me ajudar com o problema? Segui as notas, e ao executar o comando [ node index.js ] encontrei o seguinte problema:
Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\Teste\Desktop\OLX\olx-monitor\node_modules\sqlite-async\sqlite-async.js from C:\Users\Teste\Desktop\OLX\olx-monitor\index.js not supported. Instead change the require of sqlite-async.js in C:\Users\Teste\Desktop\OLX\olx-monitor\index.js to a dynamic import() which is available in all CommonJS modules. at Object. (C:\Users\Teste\Desktop\OLX\olx-monitor\index.js:4:18) {
code: 'ERR_REQUIRE_ESM'
}