Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Considerar utilização do pacote "crawler" #2

Open
LeonBonetti opened this issue Mar 14, 2019 · 1 comment
Open

Considerar utilização do pacote "crawler" #2

LeonBonetti opened this issue Mar 14, 2019 · 1 comment

Comments

@LeonBonetti
Copy link

LeonBonetti commented Mar 14, 2019

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

@raphaelkieling
Copy link
Owner

raphaelkieling commented Mar 14, 2019

Show cara,eu comecei utilizando ele mas mudei para o request por 2 motivos:

  • A organização do crawler em callbacks deixa o código horrivel (sinceramente não procurei se existe um versao em promise)
  • Eu tive grande dificuldade de pegar uma url dentro da outra

CRAWLER: Globo

  • Pego todas as notícias
  • Vou em cada notícia e entro dentro da url buscando o conteúdo Esta parte que complicou

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants