Crawler e automações com NodeJS

Crawler e automações com NodeJS

5b6ee6fc4089c6f2e5f8403d9bf9ef08?s=128

Guilherme Farias

October 21, 2016
Tweet

Transcript

  1. Crawler e automações com NodeJS

  2. Guilherme Farias Full Stack Developer

  3. None
  4. O que é esse NodeJS que todo mundo fala? É

    uma plataforma de execução de javascript
  5. E o que ele tem de diferente? Leve e eficiente

    Não bloqueante I/O Intenso É Javascript —
  6. O que posso fazer com ele? WEB DESKTOP MOBILE LINHA

    DE COMANDO ROBÔS INTERNET DAS COISAS
  7. Automação (do latim Automatus, que significa mover-se por si) é

    a aplicação de técnicas computadorizadas ou mecânicas para diminuir o uso de mão-de-obra em qualquer processo
  8. Crawler (também chamado de bot, robot, robô, web crawler, spider,

    etc) É um software desenvolvido para realizar uma varredura na internet EM BUSCA de informação relevante a sua função.
  9. No seu ela pode ser um DIFERENCIAL No setor industrial

    a automação é fundamental vantagem competitiva
  10. Como posso usar na prática?

  11. E o crawler onde se aplica?

  12. Buscando info de cnpj de uma API JSON Moleza né?

  13. None
  14. Entenda o algoritmo do que você vai usar seja ele

    CPF, CNPJ, CEP, ou qualquer lá outra coisa Gerando as possibilidades No CNPJ a regra é XX.XXX.XXX/FFFF-DD Possibilidades de 00.000.000 até 99.999.999 O CNPJ 00.000.000 é do BANCO DO BRASIL Calcule os dígitos verificadores 00.000.000/0001-91 = BANCO DO BRASIL S.A.
  15. Tabela das combinações válidas Banco de dados Tabela das combinações

    resolvidas
  16. FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA

    FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA FILA
  17. None
  18. None
  19. None
  20. npm install soap npm install string SOAP e HTML

  21. Precisa de interação com a página? npm install nightmare

  22. Fazendo uma busca no Google

  23. Tirando print

  24. Extraindo o HTML

  25. type insert click wait pdf exists scrollTo select check uncheck

    screenshot evaluate Ações do Nightmare Mais infos em: npmjs.com/package/nightmare
  26. 1) Ir no site: https://nfse.recife.pe.gov.br/senhaweb/login.aspx 2) Digitar no input#ctl00_cphCabMenu_tbCpfCnpj 3)

    Digitar no input#ctl00_cphCabMenu_tbSenha 4) Digitar no input ctl00$cphCabMenu$ccCodigo$ccCodigo o CAPTCHA 5) Esperar aparecer a div#ctl00_pnConteudo 6) Clica no link .ctl00_Vcab_mnuRotinas_3 7) Digitar o CNPJ no input#ctl00_cphCabMenu_tbCPFCNPJTomador 8) Esperar a div#ctl00_cphCabMenu_pnDados 9) Digitar nota no textarea#ctl00_cphCabMenu_tbDiscriminacao 10)… 11) Clicar no botão #ctl00_cphCabMenu_btEmitir
  27. github.com/segmentio/daydream Daydream

  28. Se você cuida de um sistema que já tem as

    infos, cuidado que crawlers podem tá consumindo seu sistema
  29. Como se proteger e como burlar as proteções

  30. PROTEÇÕES QUE JÁ VI, DIFICULTOU, MAS DEU PRA BURLAR user-agent

    iP ip simultaneo proteção cloudflare CAPTCHA DE TEXTO CAPTCHA DE IMAGEM
  31. Ah, e também tem gente utilizando crawler como oportunidade de

    négocio
  32. eleicoes2016.com.br eleicoes2014.com.br

  33. guilhermefarias.com speakerdeck.com/guilhermefarias GitHub.com/guilhermefarias twitter.com/guiky Obrigado!