Extraindo dados de outros sites com Puppeteer JS | Code/Drops #46

Поделиться
HTML-код
  • Опубликовано: 7 ноя 2024

Комментарии • 254

  • @kaducarmo1874
    @kaducarmo1874 Год назад +3

    cara to assitindo seu video em 2023 e foi o unico video bem explicado que achei na internet, explicacao clara, objetiva e direto ao ponto, muito obrigado pelo seu conteudo e ganhou mais um inscrito. Abracos

  • @felipehuggler
    @felipehuggler 4 года назад +95

    Lembrando que o pupeteer consome memória pra caramba, se for deixar em produção, indico fortemente deixar separado da sua api! Parabéns kaike👍

    • @maykbrito
      @maykbrito 4 года назад +8

      Ótima informações Felipe. Obg pelo feedback ❤️❤️❤️❤️

    • @FBI-ri8hu
      @FBI-ri8hu 4 года назад +5

      Vindo do Chrome já dá pra saber o tanto de ram que vai precisar

    • @joaopinto1428
      @joaopinto1428 4 года назад +1

      Quanto devo ter de memória pra funcionar bem o pupeteer Felipe?

    • @felipehuggler
      @felipehuggler 4 года назад +4

      @@joaopinto1428 depende da quantidade de acessos. Mas no minimo 1gb ... faça um teste de carga, use ferramentas de monitoramento como new relic por exemplo, e vc vai ter a base mais ou menos.👍

    • @joaopinto1428
      @joaopinto1428 4 года назад +2

      @@felipehuggler valeu!

  • @leonardosouzaconradodesant6213
    @leonardosouzaconradodesant6213 Год назад +1

    Obrigado por compartilhar!!! Fiz e funcionou tudo certinho

    • @kelvinlima02
      @kelvinlima02 Год назад

      Pegou o seu? O meu não ta abrindo o Instagram pelo Chromium do puppeteer

  • @LuisClaudioQF10
    @LuisClaudioQF10 4 года назад +4

    Esse vídeo caiu como uma luva! Depois de 35 vídeos e sites (ou até mais), descobri que a Rocketseat já tinha um vídeo isso hahahaha e foi esse que me ajudou a resolver a minha aplicação.
    Obrigado, Mayk e Rocketseat pelo excelente conteúdo! Dia 12 tamo lá na NLW

    • @rocketseat
      @rocketseat  4 года назад +1

      Hahahahaha 😄😄. Que massa Luis! Nos vemos por lá então!! 😍🚀

  • @HerlonCosta
    @HerlonCosta 2 года назад +1

    Explicação mais simples de uma IIFE que eu já vi desde que comecei a estudar. Show demais Maykão!

  • @almeida.cavalcante
    @almeida.cavalcante 4 года назад +9

    Mikão é um monstro! simples, rápido, didático e simpatia de sobra! top!

  • @mateuscamposSD
    @mateuscamposSD 4 года назад +28

    Muito bom, Webscraping é algo util demais quando você precisa fazer caso de uso. Esse vídeo veio na hora certa. Gostei de uma aplicação e não soube como refazer.
    Agora eu sei.
    Mayk super professor, daqui a pouco os cursos pagos que ensinam coisas que não agregam tanto valor quando os seus ensinos vão ter que se reinventar pois o de graça ta sendo melhor que os pagos!
    LIVRE LEVE LIKE

  • @TiagoSantiniDaSilva
    @TiagoSantiniDaSilva 10 месяцев назад

    Nossa que top web scraping , estou fazendo faculdade de DSM e teve uma palestra sobre raspagem de dados , mas ensinaram a fazer com python , dai tipo pega todo codigo fonte , html css e js do site , vou ver procurar pra ver se tem como fazer com js. Mas é muito legal praticamente cria um robo e manda ele fazer o que vc quiser top, parabens pelo video.

  • @claudiocastro7609
    @claudiocastro7609 2 года назад

    Salvou meu dia! Precisava extrair links da página de busca do Google. Só precisei alterar os argumentos no callback do map. Show de bola! Valeu Mayk!!!

  • @EmpreendedoresdoBEM
    @EmpreendedoresdoBEM 4 года назад +5

    Show! Melhor didática do youtube! parabéns 👏👏👏👏👏 um CodeDrops de Svelte seria TOP...

  • @mrrs8994
    @mrrs8994 4 года назад +6

    Sempre top mega Power!!! Antes das minhas sugestões, me recomenda algum lugar onde eu possa comprar layouts de sites no figma (do jeito que vocês fazem no NLW)??
    Novas sugestões:
    - instalar e usar o docker fazendo um contêiner de um sistema simples (algum sistema já criado mesmo);
    - Fazer deploy de um container do Docker (não sei se é possível, mas seria assim: subir um container que usa node em uma hospedagem que não usa node).

  • @kcapt96
    @kcapt96 2 года назад

    Muito bem, dos melhores tutorials de Puppeteer. Recomendo.

  • @glaubermarcelino6225
    @glaubermarcelino6225 4 года назад

    Gostei bastante, já fazia webscraping com c#, mas nunca havia feito com Node e me pareceu bem tranquilo, eu havia feito um para baixar as imagens do slideshare e converter em um pdf que ficava identifico ao pdf original quando não estava habilitado a opção de download em pdf no site

    • @rocketseat
      @rocketseat  4 года назад +1

      Que massa Glauber! Valeeu pelo feedback! 💜

  • @matheusgabriel794
    @matheusgabriel794 2 года назад

    Detalhado, ditádico e prático. Muito Obrigado pelo tutorial.

  • @stapait
    @stapait 4 года назад +2

    Muito top. Parabéns pelo conteúdo.

  • @Matt-pd8vm
    @Matt-pd8vm 4 года назад +1

    Mais um vídeo fantástico Mayk

  • @leandherbessa3891
    @leandherbessa3891 4 года назад

    Que vídeo top! Não conhecia essa lib, sempre fiz webscraping utilizando extensões no chrome e com essa lib fica bem melhor.

  • @matheusjean148
    @matheusjean148 3 года назад

    Eu amo os desafios da rocketseat 👉🏻👈🏻❤️

  • @rubens8529
    @rubens8529 4 года назад

    Usei esse Puppeter para criar um baixador de sources especificos rsrsrs muito bom mesmo!

  • @MiltonRAlves
    @MiltonRAlves 4 года назад +1

    Muito top, parabéns pelo conteúdo!!

  • @hugonaamancastro5824
    @hugonaamancastro5824 3 года назад

    A aula ficou maravilhosa, parabéns pessoal. Infelizmente com a política do Instagram de não permitir o acesso ao conteúdo dos perfis, tive que fazer uma gambiarra para resolver.

  • @maikosantossilva7962
    @maikosantossilva7962 4 года назад

    Fantástico. Parabéns e obrigado por compartilhar o seu conhecimento com a comunidade!

  • @MarcosVas
    @MarcosVas 3 года назад +1

    Esse cara é um mito!

  • @lucaspaz6016
    @lucaspaz6016 4 года назад

    Você é demais!! Suas aulas são boas demais

  • @helloestouaqui3438
    @helloestouaqui3438 4 года назад

    Partiu fazer maratona dos vídeos do mayk

  • @fabiobaziota5919
    @fabiobaziota5919 4 года назад

    Nossa Mestre Maycão lê os nossos pensamentos, vídeo ultra massa. 💜🚀 Agora vou colocar a mão na massa depois partiu para o próximo code/drops.

  • @rodrigoaraujo1608
    @rodrigoaraujo1608 4 года назад

    Aula show Mayk Parabéns !!

  • @joaopinto1428
    @joaopinto1428 4 года назад

    Puxa vida... isso é incrível... Obrigado Mayk Brito... Já sei...

  • @helioadriano5884
    @helioadriano5884 4 года назад

    Que aula sensacional professor.

  • @hatus
    @hatus 4 года назад

    maykão sempre didático, ótimo vídeo!!!

  • @dymonn
    @dymonn 2 года назад

    cara muito boa tuas explicações!

  • @matheussouza6518
    @matheussouza6518 4 года назад +6

    Ótima aula professor, estava procurando algo para extrair informações de outros sites XD

    • @maykbrito
      @maykbrito 4 года назад +1

      Sensacional Matheus 🎉🎉

  • @CharCharTup
    @CharCharTup 3 года назад

    Cara parabéns vc explica muito bem

  • @JohannyLS
    @JohannyLS 4 года назад

    Muito show. Aprendi bastante!

  • @fernandocamilopro
    @fernandocamilopro 4 года назад +2

    Obrigadoooo maykão

    • @maykbrito
      @maykbrito 4 года назад +1

      hahahahah ficou engraçado esse comentário. 🐮

    • @fernandocamilopro
      @fernandocamilopro 4 года назад

      Corretor, nem vi kkkkkk kkk

  • @Orareviveremsantidade
    @Orareviveremsantidade 4 года назад

    Caraca mayk ,conteúdo top👏👏👏

  • @LuzimarOliveiraOn
    @LuzimarOliveiraOn 4 года назад +1

    Show de bola!

  • @willian2s
    @willian2s 4 года назад +1

    Não é possível, Rocketseat lendo mentes kkkk Vlw

    • @rocketseat
      @rocketseat  4 года назад +3

      Nós já dissemos que lemos, não sei porque não acreditam! 🔮🔮

  • @lopesweb7868
    @lopesweb7868 4 года назад

    Show! Cada dia melhora as dicas de vcs!

  • @walyssonpaiva
    @walyssonpaiva 4 года назад

    Estou trabalhando em um projeto com puppeteer no momento, uma coisa legal q descobri é q da pra vc usar o browser já aberto (por exemplo, uma janela do chrome q já estava aberta pelo usuário, sem precisar criar uma no código) . É mt massa mesmo, consegui abandonar o selenium, q estava me dando dores de cabeça

  • @iurylemos2020
    @iurylemos2020 4 года назад

    Que ótimo conteúdo. Obrigado!

  • @gabrielsmartins7550
    @gabrielsmartins7550 4 года назад

    Maikão manja muito

  • @Clube_Livro
    @Clube_Livro 4 года назад

    Muito legal sempre quis aprender sobre Webscraping.

  • @RafaelGomes01
    @RafaelGomes01 4 года назад +1

    Show!! Um toast notification nos próximos code drop seria bacana.

  • @fvgoya
    @fvgoya 4 года назад

    Esse code/drops foi sensacional!!!

  • @hoid7572
    @hoid7572 4 года назад

    No lugar de copiar a nodeList usando o operador spreed não é mais viável utilizar Array.from(nodeList) ?
    uma vez que você não vai expandir com outros conteúdos a não ser o que vem do querySelectorAll, eu achei mais performático isso é verdade ?
    me bateu essa dúvida aqui

  • @zanzaraloggan3713
    @zanzaraloggan3713 4 года назад

    Maykão tá parecendo Prince nesse vídeo

  • @reinaldocouto7964
    @reinaldocouto7964 Год назад

    O que seria de nós iniciantes se não fosse vocês da Rocket?. #MM MaykMonstro!

  • @leandrovalledeavila3567
    @leandrovalledeavila3567 3 года назад

    muito bom este video. Parabens

  • @bernardo_kr
    @bernardo_kr 2 года назад +1

    Muito boa explicação, parabéns !! Acabei fazendo junto pq achei muito interessante essa biblioteca e no final tive uma surpresa, para ser mais especifico essa surpresa (net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin 200) as imagens apenas não carregam, posso estar falando besteira mas aparentemente não é possível mais utilizar as imagens do insta diretamente, catando o erro em fóruns tem alguns comentários informando que é algo a ver com Cross-Origin Resource Policy (CORP), algo da politica da empresa mesmo

    • @IgorSilvaSistemas
      @IgorSilvaSistemas 2 года назад

      Estou com o mesmo problema

    • @unk9
      @unk9 Год назад

      Estava procurando este comentário... Infelizmente não funciona mais com Instagram ou algo do tipo. Vou tentar outra coisa.

  • @paulospiguel
    @paulospiguel 4 года назад

    Adorei o conteúdo. Massa...

  • @MarcusPaulo
    @MarcusPaulo 4 года назад

    Parabéns Mike e Rocketseat pelo excelente vídeo. 🚀

    • @rocketseat
      @rocketseat  4 года назад +1

      Valeeeeeu Marcus pelo feedback!! 💜

  • @douglasandrade5199
    @douglasandrade5199 3 года назад

    Gostei muito do vídeo!

  • @edwilsondasilva9946
    @edwilsondasilva9946 3 года назад

    Show demais! Obrigado.

    • @rocketseat
      @rocketseat  3 года назад

      Que massa que curtiu, Edwilson! 💜

  • @leonardoprimieri8987
    @leonardoprimieri8987 4 года назад +2

    Quando usar o FS e quando usar um banco de dados? O FS seria mais pra testes, certo? Ou em aplicações pequenas posso usar?

    • @alison.aguiar
      @alison.aguiar 4 года назад +1

      Você respondeu, geralmente em produção pode usar tbm porém vc vai ser responsável por fazer o backup dos arquivos, que é muito chato

  • @LucasGenari
    @LucasGenari 3 года назад +1

    Uma boa ideia pra ficar monitorando quando chega ps5 na amazon hahaha

    • @rocketseat
      @rocketseat  3 года назад

      Olha que não é uma má ideia... 👀 😛 💜

  • @JadisonLopes
    @JadisonLopes 4 года назад

    Parabéns "Mayk Brito na área"!! Rs

  • @ronaldo0grande
    @ronaldo0grande 2 года назад +1

    video maravilhoso, explicacao do mykao eh foda.
    mas a magica em 14:00 fico meio dificil de acompanhar pra mim, que tenho pouca intimidade com JS

    • @alexsandroxavier5373
      @alexsandroxavier5373 2 года назад

      Ele tem um array de objetos. O map é como se fosse um for onde retorna um array. Então para cada elemento desse array dele, ele cria uma LI.

  • @mouralipechanel
    @mouralipechanel 4 года назад

    Sensacional!!!

  • @lccaputo
    @lccaputo 4 года назад

    Shoow! muito bom !

  • @iagodelsuc5987
    @iagodelsuc5987 4 года назад

    Show!! Conteúdo excelente.. 👏👏👏

  • @marcelokanu
    @marcelokanu 4 года назад

    Show de bola

  • @gabrielnavas7447
    @gabrielnavas7447 4 года назад

    MASSA!! vlw Mayk!!!

  • @jarbassomonet1813
    @jarbassomonet1813 2 года назад

    bom dia, seguindo a aula não carregou as imagens. Não deveria ter uma prate de login antes para após entrar na pagina e fazer a captura das fotos?

  • @luisrodrigues678
    @luisrodrigues678 4 года назад

    Muuuito bom!! Como fica em produção, eu consigo criar um service na aws, por exemplo, e disparar ele sempre que eu precisar?

  • @damaziomelo9690
    @damaziomelo9690 2 года назад

    da pra colocar um registro de hora q foi salva a imagem? no caso salvar o texto da div + a imagem q o texto ta por cima...?

  • @joaoviitor9021
    @joaoviitor9021 2 года назад

    Acha ele melhor que o selenium ?

  • @davidelias9209
    @davidelias9209 4 года назад +8

    So uma informação adicional cuidado onde vocês iram usar Web Scraping, alguns sites proíbem essa pratica, dando até processo para o envolvido

    • @GameplaysDuvidosoZ
      @GameplaysDuvidosoZ 4 года назад +5

      Mas isso no uso indevido dos dados, não? Pq o Puppeteer nada mais é que um Chromium rodando em background. É o mesmo caso de você baixar manualmente e usar de forma indevida.

    • @machinzero2139
      @machinzero2139 2 года назад

      @@GameplaysDuvidosoZ Foi isso que eu pensei, utilizando dados de terceiros manualmente ou de forma automático com scraping dá no mesmo. O problema não é o scraping, e sim os direitos autorais kkkkk

  • @SauloBorgesRP
    @SauloBorgesRP 3 года назад

    Didática tooop...

  • @matteogalfano
    @matteogalfano 4 года назад +1

    Maykão! Cara, conteúdo muito fera... Queria fazer um pedido se possível. Que tal um vídeo mostrando como pegar a imagem e o conteúdo da foto do instagram? Descrição, título, autor da foto, coração, símbolo de enviar mensagem etc... Abraço!

    • @SniperElitexD
      @SniperElitexD 4 года назад

      Hoje eu estava pesquisando isso também para um projeto...

  • @edu-correia
    @edu-correia 4 года назад

    Sensacional.

    • @rocketseat
      @rocketseat  4 года назад

      Valeeeu pelo feedback, Eduardo!! 💜

  • @bceg3961
    @bceg3961 4 года назад

    Vou usar em um projeto meu, valeu.

  • @hendcode
    @hendcode Год назад

    Seria legal ter algum video ensinando a fazer o Deploy de uma aplicação usando o puppeteer. Pq é bem chato fazer o deploy delas.

  • @wellintonsantos2136
    @wellintonsantos2136 2 года назад

    qual programa vc uso pra fazer este codigo

  • @leonardoruiz3585
    @leonardoruiz3585 4 года назад

    Quando se trata de extrair dados de site grandes, como por exemplo o Instagram, o puppeteer é inviável para implementação em aplicações comerciais, pois o próprio Instagram bane os ips das maquinas que acessam suas páginas através do puppeteer (passei por isso hj... isso pq fiz de uma forma pra contornar essa situação fazendo uma requisição por dia)

    • @leonardoruiz3585
      @leonardoruiz3585 4 года назад +1

      Uma solução pra isso é usar a própria api do Instagram, onde ela retorna um json com todos os dados da página que queira extrair os dados

  • @richcarvalho646
    @richcarvalho646 4 года назад +4

    O cheerio também permite fazer isso, só que ele não abre um browser, é parecido com o beautifulsoup do Python.

    • @rodrigoferreiradossantos7873
      @rodrigoferreiradossantos7873 4 года назад

      Tentei usar o Cheerio no meu TCC e tive umas limitações. Só consegui executar com o Puppeteer. Queria que fosse ao contrário, pois o Puppeteer pode ficar bem pesadinho por abrir páginas do Chrome...

    • @krat0z226
      @krat0z226 3 года назад

      @@rodrigoferreiradossantos7873 o que vc fez no seu TCC que teve que usar exclusivamente o Puppeteer?

  • @evertonfernandes143
    @evertonfernandes143 4 года назад

    Vídeo top, traz um vídeo ensinando técnicas de notificação, tipo admin para todos os usuários

  • @Paul0-Cardos0777
    @Paul0-Cardos0777 Год назад

    top de mais😃

  • @principe.borodin
    @principe.borodin 4 года назад +2

    Eu faço webscapping com request e cheerio, o cheerio age como o jquery no backend, ae facilita o scrap, e o request, faz o request mesmo...inclusive com paginas com login, eu faço login, guardo o cookie e entro nas paginas protegidas, so com esses 2.

  • @danteanjos_
    @danteanjos_ 3 года назад

    Show de bola!
    Me pintou uma dúvida sobre essa prática de scrapping...
    Até que ponto podemos pegar informações de sites?
    Ex. Posso garimpar de qualquer site sem medo de ser processado por algum motivo hahahh?

    • @kelvinlima02
      @kelvinlima02 Год назад

      Acho que se vc não reproduzir coisas com direitos autorais ou tentar vender os mesmos, pode pegar de tudo que esteja público. Mas tem que usar com sabedoria e vê as licenças do q vai pegar

  • @ycarooliveira6529
    @ycarooliveira6529 4 года назад

    Show gostaria de mais conteúdo sobre automação

  • @Guarumidia
    @Guarumidia 10 месяцев назад

    não sei se mudou muito, mas tento de todas as formas e não roda mais para fazer esse print

  • @WilmyDanguya
    @WilmyDanguya 4 года назад +2

    Quem não prática o code drops. mas não perde por nada, porque ama o clean code do Maik deixe um like aqui.

  • @amossilas134
    @amossilas134 4 года назад

    Aula sensacional - parabéns 👏👏👏

    • @rocketseat
      @rocketseat  4 года назад +1

      Valeeu, Amós! 💜💜🚀

  • @robsoncampos7884
    @robsoncampos7884 4 года назад

    F A N T Á S T I C O !!!!

  • @victorbadaro
    @victorbadaro 4 года назад

    O que eu tinha pedido *--------*

  • @eusoueverttonmatheus
    @eusoueverttonmatheus 4 года назад

    Mayke muito bom o conteúdo, você manja muito mesmo. Uma dúvida puppeteer tem alguma coisa como clicar, caso eu queira selecionar um filtro por exemplo?

    • @rocketseat
      @rocketseat  4 года назад +1

      Faala Evertton! Tem sim, dá uma conferida sobre o "element.click()" lá na documentação do Puppeteer 💜

  • @rbltv
    @rbltv 3 года назад

    Showww de bola1

    • @rocketseat
      @rocketseat  3 года назад

      Faaala, Robson! Valeu! 💜 🚀

  • @douglastesch8876
    @douglastesch8876 4 года назад

    Muito massa, e realmente eu auto executava as minhas funções da outra forma haja.

  • @rbilvideos4552
    @rbilvideos4552 3 года назад

    Amei o video, no meu as imagens não aparecem, só aparece como se tivesse sendo carregada
    não printa nehum erro no meu console e ja verifiquei todos codigos estao corretos

  • @robsonsaito59
    @robsonsaito59 4 года назад

    Well done Maikao!!!

  • @reinaldocouto7964
    @reinaldocouto7964 Год назад

    Precisei de uma linha a mais de código para rodar deve aguardar o carregamento da primeira imagem na página antes de extrair todas as imagens, garantindo que você obtenha uma lista completa de imagens na saída. " await page.waitForSelector('article img'); "

  • @antoniomarcoscastrodequeir1975
    @antoniomarcoscastrodequeir1975 3 года назад

    No caso o Chrome que é baseado no Chromium, não?

  • @p.u.c.c.a-g.a.r.u
    @p.u.c.c.a-g.a.r.u 2 года назад

    Obrigado pato papão!

  • @dionismarquesvalada8839
    @dionismarquesvalada8839 4 года назад

    Muito legal o vídeo! Demais mesmo! Bah Mayke sem querer ser chato tem como trazer a resolução 'desse tema de casa' em uma outra aula? Seria bem legal e eu aprenderia também. Abração.

    • @rocketseat
      @rocketseat  4 года назад

      Faala Dionis! Valeeu pelo feedback e sugestão!! 💜

  • @diegojob8084
    @diegojob8084 2 года назад

    Consigo criar isso com docker compose??

  • @tatupreto742
    @tatupreto742 2 года назад

    no meu não aparece como imagem, só o link da imagem, fiz algo errado?

  • @raspaes3899
    @raspaes3899 3 года назад +1

    Maykão, vc poderia mostrar uma maneira de "executar esse evaluate" em uma versão do Js puro?
    Ps: Eu codei um bot que baixa os stories (fotos e vídeos), separa em pastas com seus respectivos nomes, e guarda na minha máquina.
    Mas, queria muito entender isso, com o JavaScript puro.

    • @imperiando
      @imperiando 3 года назад +1

      Amigo, como conseguiu criar um bot pra baixar os stories?

    • @raspaes3899
      @raspaes3899 3 года назад

      @@imperiando Olá, eu usei o Puppeteer, o modulo fs e https do node.
      procure a documentação do Puppeteer.
      Lambrando que o que eu criei é para quem usar o instagram no pc e não no smartphone, certo?

  • @LareanTech
    @LareanTech Год назад

    boa madrugada, eu consigo rodar ele no terminal ubuntu server20.04?

  • @maurorante1
    @maurorante1 Год назад

    Posso lhe fazer uma pergunta? Como faço uma aplicação em HTML ou PHP que use o PUPPETEER em uma hospedagem CPANEL.

    • @kelvinlima02
      @kelvinlima02 Год назад

      Rapaz, o PHP é outra biblioteca pra fazer webscraping.