O que é esse
NodeJS que todo
mundo fala?
É uma plataforma de execução de javascript
Slide 5
Slide 5 text
E o que ele tem
de diferente?
Leve e eficiente
Não bloqueante
I/O Intenso
É Javascript —
Slide 6
Slide 6 text
O que posso
fazer com ele?
WEB
DESKTOP
MOBILE
LINHA DE COMANDO
ROBÔS
INTERNET DAS COISAS
Slide 7
Slide 7 text
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
Slide 8
Slide 8 text
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.
Slide 9
Slide 9 text
No seu ela pode ser
um DIFERENCIAL
No setor industrial a automação é
fundamental
vantagem competitiva
Slide 10
Slide 10 text
Como posso
usar na prática?
Slide 11
Slide 11 text
E o crawler
onde se aplica?
Slide 12
Slide 12 text
Buscando info de cnpj de uma API JSON
Moleza né?
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
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.
Slide 15
Slide 15 text
Tabela das combinações válidas
Banco de dados
Tabela das combinações resolvidas
Precisa de interação
com a página?
npm install nightmare
Slide 22
Slide 22 text
Fazendo uma busca no Google
Slide 23
Slide 23 text
Tirando print
Slide 24
Slide 24 text
Extraindo o HTML
Slide 25
Slide 25 text
type
insert
click
wait
pdf
exists
scrollTo
select
check
uncheck
screenshot
evaluate
Ações do Nightmare
Mais infos em: npmjs.com/package/nightmare
Slide 26
Slide 26 text
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
Slide 27
Slide 27 text
github.com/segmentio/daydream
Daydream
Slide 28
Slide 28 text
Se você cuida de um sistema que já tem
as infos, cuidado que crawlers podem tá
consumindo seu sistema
Slide 29
Slide 29 text
Como se proteger e como
burlar as proteções
Slide 30
Slide 30 text
PROTEÇÕES QUE JÁ VI, DIFICULTOU,
MAS DEU PRA BURLAR
user-agent
iP
ip simultaneo
proteção cloudflare
CAPTCHA DE TEXTO
CAPTCHA DE IMAGEM
Slide 31
Slide 31 text
Ah, e também tem gente
utilizando crawler como
oportunidade de négocio