Open LeonBonetti opened 5 years ago
Show cara,eu comecei utilizando ele mas mudei para o request
por 2 motivos:
CRAWLER: Globo
Pois como o cheerio utiliza o .each
eu precisava de eventos async, o que acabou nao rolando pois ele nao deixava.
meus_elementos.each(async function(){ //Esse async da problema pois ele não aceita uma promisse
let url = $(this).find('a').attr('href')
let content = await minhaFuncaoTopQuePegaConteudo(url)
})
Caso tu te sinta confortável com a ferramente pode mandar um pull request, logo que eu finalizar toda a base eu pretendo trabalhar em cima de um crawler mais parrudo como esse que tu mandou
Para a construção dos crawlers, o pacote crawler pode ser de grande ajuda, pode-se reduzir o rateLimit para aumentando a velocidade entre duas requisições (Obtendo assim, respostas mais rapidas) e limitar as conexões do robô aos sites (Isso evita que seu bot seja bloqueado por suspeitas de DOS), alem de reduzir a complexidade do código e como o pacote usa o Cherrio, vocês não terão grandes problemas com a implementação
https://github.com/bda-research/node-crawler