#07 - Integrando o Selenium com o BeautifulSoup: Parte I | Web Scraping com Python

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

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

  • @romariopaixao4063
    @romariopaixao4063 Год назад +23

    É uma pena que ele tenha parado com essa playlist. Foi a que mais aprendi sobre o assunto. Volta Walisson, vc é fera !!!

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

      Verdade. Tô aprendendo agora, a biblioteca tá um pouco diferente, mas a lógica com que ele ensina é perfeita. Melhor que muuuuito curso pago.

    • @douglasneres
      @douglasneres 4 месяца назад

      up

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

    Hoje, graças a vc @Walisson consegui terminar uma atividade que estava no meu colo há quase 20 dias, e que fiquei 12horas trabalhando, um pontinho específico do seu vídeo, quando vc deu a ideia de printar o código que estava voltando, antes de continuar
    No meu caso o site (de finanças) estava identificando que era um script e para isso precisei incluir um "user_agent" mas isso só deu pra ver pq peguei sua dica dada com muito profissionalismo e leveza
    Como disse o comentário abaixo é uma pena que tenha parado esta série..... a não ser que este comentário te faça continuar....rs
    Abraço e obrigad

    • @douglasneres
      @douglasneres 4 месяца назад

      vc pode incluse rotacionar seu UserAgente com a biblioteca: from fake_useragent import UserAgent

  • @ars351
    @ars351 4 месяца назад

    parabéns. essa sua playlist está mais informativa que a "Web Scraping with Python" do Datacamp.

  • @JoaoSantos-jb7ul
    @JoaoSantos-jb7ul 3 месяца назад

    Wallison, estou em 12 de outubro de 2024. Gostei bastante das dicas para entender "quando o Beautiful Soup + Requests funciona e quando não; assim precisando usar Beautiful Soup + Selenium". O Selenium, depois que você fez este vídeo (estou comentando 3 anos depois que você o gravou) teve algumas mudanças - inclusive a gente consegue fazer com que ele importe o webdriver atualizado. Fiz algumas adaptações juntando as tuas dicas com outras recentes da Hashtag treinamentos, e consegui que funcionasse a abertura de um site! Se você vir esta mensagem que escrevi e puder atualizar os vídeos, será fantástico para o pessoal que acompanha/acompanhou!

    • @victorport8228
      @victorport8228 15 дней назад

      Boa Noite Joao, vc conseguiu resolver tudo da aula?

    • @victorport8228
      @victorport8228 15 дней назад

      preciso de ajuda com o input_place.send_keys("São Paulo") , esse SEND_KEYS está desatualizado e nao sei qual codigo colocar.

  • @douglasneres
    @douglasneres 4 месяца назад

    Top demais! Continua a Playlist man!!!

  • @gabrielwon-held2769
    @gabrielwon-held2769 2 года назад

    excelente conteudo !

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

    Parabéns amigo, poderia voltar com mais vídeos nessa playlist, foi bem instrutivo e a sua didática é muito boa. Parabéns!

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

    Cara vc eh muito bom

  • @LucasAraujo-oo5en
    @LucasAraujo-oo5en Год назад

    Simplesmente sensacional !!

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

    Parece que vc estava adivinhando qual era minha dúvida kkkk... Excelente vídeo Walisson !

  • @JoaoVitorBrabo-p5q
    @JoaoVitorBrabo-p5q Год назад

    Irado o material! Parabéns

  • @bruno-dev
    @bruno-dev 3 года назад +2

    Conteúdo mto bem explicado... Plz não demore 2 meses pra postar os próximos vídeos, aprendi bastante com vc

    • @WalissonSilva
      @WalissonSilva  3 года назад +3

      Valeu, Bruno!! Mais tarde já vai sair o oitavo vídeo dessa série!

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

    essa manjada com o sleep foi genial cara ...

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

    Muito boa a didática, grato por compartilhar o conhecimento

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

    Maravilha de vídeo!

  • @danielalvesitame1881
    @danielalvesitame1881 2 года назад +2

    Show de bola o conteúdo cara!!
    Eu estou tendo um problema desde que atualizou pro chrome 103. Quando uso o selenium, o chrome fecha automaticamente após rodar o script. Ele faz tudo que tem que ser feito, mas ele fecha automaticamente. Como se tivesse um "close default". Alguém mais ta com isso??

  • @c-controlltec2628
    @c-controlltec2628 3 года назад +1

    Você explica muito bem, já vi outros vídeos de web Scraping e dificilmente as pessoas explicam oque é cada função do código. Meus parabéns!!!

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

    incrível mano, incrível!!

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

    Um ano depois aprendendo muito! Obrigado!

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

    Parabéns! Excelente material e didática perfeita. Obrigado por compartilhar o teu conhecimento.

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

    Tô assistindo tudo!!! Sou iniciante e tenho aprendido bastante com seus vídeos!!! Muito obrigado e parabéns!!

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

    Cara, assisti todos os vídeos. Sensacional!!!!

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

      Poxa, muito obrigado pelo feedback, Robinson!! É um grande prazer poder compartilhar esse conhecimento por aqui! Hoje já vamos ter outro vídeo dessa série por aqui!

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

    Parabéns. Ótima didatica

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

    👍👍👍

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

    Irmão, que top as explicações, mais um inscrito

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

    Irmão, vc é o cara, vou testar o seu método, dicas incríveis e didática sensacional.

  • @guisato1
    @guisato1 3 года назад +8

    Parabéns pelo conteúdo com excelente didática! Um vídeo sobre o css selector seria bem legal (talvez até uma série HTML básico para Web Scraping). Obrigado por compartilhar!

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

      Muito obrigado pelo feedback, Guilherme! Inclusive, agradeço demais pela sugestão!!

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

    Se a conexão da Internet ficar lenta de repente, o sleep não vai resolver, vai dar erro por não encontrar o componente... Por isso sugiro buscar o componente pela id, usar um laço com try except pass, colocando o break após a linha que chama a função click do elemento... Seria interessante também criar uma função que cria esse laço passando como primeiro parâmetro a id/classe/tag do componente e como segundo parâmetro, qual tipo de busca (id/classe/tag).. Assim vc iria garantir que independente de instabilidades na conexão, em algum momento o elemento será clicado

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

    Amigo parabéns pelos seus vídeos, sua didática é excelente....

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

    muito bom o conteúdo, to gostando muito

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

    Excelente vídeo, agregou muito! 🚀🔥

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

    Uma dica é dar um zoom com uso de edição no seu código enquanto fala. Até mesmo assistindo pelo computador pode ficar dificil a leitura algumas vezes, o canal Felipe Deschamps faz isso frequentemente dps da uma olhada. Execelente video me ajudou demais na minha tarefa de webscraping, queria ter um senior assim kkkkkkk

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

    show!! melhor vídeo de selenium que vi até agora.

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

      Woow! Obrigado pelo comentário, Henrique! Fico muito feliz em saber disso! Mais tarde vai sair o oitavo vídeo dessa série!

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

    nossa adorei as aulas quero part 10000 kkkkk 🙏 por favor

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

    Conteúdo excelente👏👏👏

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

    Suas aulas são sensacionais. O jeito como você ensina logo de percebe que você ama o que faz, o que me inspira a querer aprender mais e mais.

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

    Mto bom! Vc tem uma didática mto boa! Estou tentando fazer um scraping no site da bet365 para exibir os jogos de futebol que estão acontecendo ao vivo, mas não estou conseguindo, teria como vc fazer um exemplo disso pra me dar uma direção?
    Parabéns pelo material

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

      Cara acabei de fazer isso, se quiser te ajudo só me chamar aqui que a gente entra em contato.
      Nome dos times e Gols pra cada time, dá um trabalhozinho, mas conversando te explico.

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

      @@adolfomatias7357 amigo, me explica aí como você fez? Manda teu contato, por favor.

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

      @@edsonaguiar59 vou mandar meu LinkedIn daí tu entra e fala cmg eh melhor pode ser?

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

      @@adolfomatias7357 pode sim, manda por favor.

  •  3 года назад

    Está show demais seus tutoriais. Obrigado. Me ajudou demais aqui.

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

    Muito boas as aulas, só estou tendo um problema - o by no find não está sendo identificado.
    NameError: name 'By' is not defined

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

    Parabéns pelo conteúdo e pela didática. Exatamente o que eu estava procurando!!

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

    Ficou ótimo o vídeo e a explicação, parabéns!!!

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

    Ensina como poucos! Valeu mais uma vez!

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

    mt obrigado

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

    excelente!!! estava buscando exatamente isso. incrível sua didática, virei fã

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

    Parabéns pelo conteúdo! Ganhou um inscrito pela excelente playlist.

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

    Material muito bom! Obrigada :D

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

    Ótimo vídeo amigo

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

    Sensacional! Sua didática e muito boa. Parabéns e obrigado!

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

      Eu que agradeço pelo feedback, Carlos! Fico feliz em contribuir com a sua evolução. Sucesso!

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

    Excelente explicação, você é demais! Obrigado por compartilhar seu conhecimento, tô aprendendo muita coisa. Parabéns.

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

      Poxa, que legal, Venilton! Fico muito feliz em poder contribuir, cara! Obrigado pelo feedback!!

  • @viniciuss.oliveira9504
    @viniciuss.oliveira9504 3 года назад

    Seu conteúdo esta sensacional de bom Walison! Parabéns e sucesso

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

    Boa Tarde ! Como fazer para pegar informações do google maps ? clicando no resultado de uma pesquisa uma nova pagina abre com o endereço e outras informações...como posso recuperar o endereço ?

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

    O comando usado para definir o tamanho da janela do navegador não funcionou no Firefox. Neste navegador eu tenho que usar um comando diferente?
    Obrigado pelas aulas, estou gostando muito.

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

    FAZ UMA PARTE 3,4,5.......

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

    Ótimo vídeo mestre! Poderia fazer um vídeo sobre selenium no jupyter?

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

    o meu deu erro na parte de por o texto no "input", alem de que a pagina abre e logo em seguida fecha

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

    top , aprendi bastante , no caso se eu quisesse pegar links que estão em páginas diferentes, qual seria a melhor solução? exemplo: eu tenho uma relação de concursos que consigo pegar as descrições de todos eles, mas pra eu acessar o edital eu tenho que clicar em cada um separado pra acessar a página do link e não consigo capturar todos os links pois cada link do edital tem sua respectiva página

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

    Como faço para que o selenium pesquise uma lista de nomes? Exemplo: 1a pesquisa São Paulo, 2a pesquisa Rio de Janeiro, 3a pesquisa Mato Grosso e assim vai. Tem como?

  • @andrebarbosa-marca
    @andrebarbosa-marca 2 года назад

    Eu nao consigo rodar em um servidor vps, unbuntu 20.04 da digital ocean. da mt erro no webdriver sabe me dizer como resolver?

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

    Por que o meu browser fecha sozinho apos rodar o teste?

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

      @Wallisson, o meu também fecha. Não sei o motivo. Quem puder explicar agradeço.

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

      Options.add_experimental_option('detach', True)

  • @franciscorodriguesfrancisc6920
    @franciscorodriguesfrancisc6920 5 месяцев назад

    Boa noite!
    Walisson, quando se gera um executável de programa criado no Python utilizando o Selenium, para que ele funcione corretamente em outra máquina é necessário ter o Selenium instalado ou não? Tive essa percepção quando testei um executável em uma máquina que não tinha nem o Python nem o Selenium instalado. Ele não funcionou.

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

    Quando tento usar a função submit() dá esse erro aqui : selenium.common.exceptions.NoSuchElementException
    O que faço?

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

    Alguém pode me ajudar?
    A minha ideia é criar um input e a partir do input o selenium fazer a pesquisa no input do site como isso ficaria nesse mesmo código?

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

    Como posso fazer para pegar uma " div" que tem um texto?

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

    Nao seria melhor usar a função find...xpath e clicar? Ele iria achar exatamente a xpath que deseja. Ou não?

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

    Lança a parte 2, 3 ,4... top

  • @AaaaAaaa-kw8wp
    @AaaaAaaa-kw8wp 3 года назад

    Você tem uma didática bárbara, seu canal precisa ter e terá mais inscritos! Só fiquei com uma dúvida: saberia me dizer se o Selenium pode "esperar" que um certo elemento apareça antes de realizar uma ação, igual ao Puppeteer do Nodejs? Abraços

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

    Excelente vídeo.
    Uma dúvida. Sobre o sleep (4). Ao invés de informar o tempo existe alguma forma de configurar um "auto" para que a lib aguarde toda pág. carregar para depois executar alguma coisa. Daí, não precisamos ficar estimando um tempo. Existe ?

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

      Verifique wait implícito.
      Neste caso poderia ser conforme abaixo onde o Selenium aguarda o carregamento da página por no máximo 30 segundos. No entanto, se ela carregar antes deste tempo ela continua a execução do código restante imediatamente.
      navegador.implicitly_wait(30)

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

    Como fazer pra pegar o HTML dentro de um

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

    walisson, na hora do send_keys meu código deu esse erro:
    ElementNotInteractableException Traceback (most recent call last)
    in
    15
    16 lugar = navegador.find_element_by_tag_name('input')
    ---> 17 lugar.send_keys("São Paulo")
    18 lugar.submit()
    19

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

    uma duvida pq nesse código eu não consigo pegar detalhes.text?
    cursos = BeautifulSoup(navegador.page_source, 'html.parser')
    print(cursos.prettify())
    detalhes = cursos.findAll('div', attrs={'class': 'obs_list OSAutoMarginTop'})
    print('Detalhes do curso: ', detalhes)
    quando coloco o .text depois de detalhes da erro

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

      quando coloco dentro de um for ele só me retorna uma informação

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

      AttributeError: ResultSet object has no attribute 'text'. You're probably treating a list of elements like a single element. Did you call find_all() when you meant to call find()?

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

      @@emellysilva2497
      R: Você provavelmente está tratando uma lista de elementos como um único elemento. Você chamou find_all() quando devia chamar find()?
      Para recuperar o texto de todos os elementos, você precisa iterar sobre a lista e chamar o método .text para cada elemento. Assim:
      detalhes = cursos.findAll('div', attrs={'class': 'obs_list OSAutoMarginTop'})
      for detalhe in detalhes:
      print('Detalhe do curso: ', detalhe.text)

  • @joaovictor-dl6ve
    @joaovictor-dl6ve 3 года назад

    Tenho uma dúvida, não teria como pegar todos esses botões e colocar em um "for"? Pois se a pagina tiver 20 botões eu teria q ficar repetindo os 20....

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

    O meu navegador Chrome ele abre e fecha, ai tenho que ficar colocando sleep pra não fechar.

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

      .add_experimental_option('detach', TRUE)

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

      Options.add_experimental_option('detach', True)

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

    No caso de um Feed infinito?
    Existe um scroll até acabar?

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

      queria muito saber isso também! Queria pegar as noticias do g1 pra montar uma base de dados pra treinar uma IA. O site do G1 tem um botão "ver mais" mas quando vc rola a tela e automaticamente já vai "sendo clicado" e carrega mais noticias. Voce descobriu como fazer isso?

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

    O headless no meu não funciona

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

    ao executar os mesmos comandos, o script roda normal, porém, minha pagina do airbnb fecha automaticamente.....é algum procedimento que o site introduziu para não ser mapeado ?

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

      Não é muita vantagem deixar o navegador aberto pois sempre que você executar ele abrirá uma outra instância do browser.
      O Selenium não tem feature de usar sempre a mesma instância do browser e por isto ele sempre fecha depois que o teste termina.
      Para deixar o browser aberto é só colocando um tipo de sleep.

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

    acho q o site e o selenium mudaram um pouco, nao consigo extrair o html com esses comandos mais

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

    Walisson, é comum nesses sites que utilizam renderização do lado do cliente possuir informações diferentes dentro de classes com o mesmo nome?

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

    Parabéns pelo canal. Conheci ontem e estou maratonando, queria dizer que meu sublime não está compilando meus códigos python. Apenas aparece Finished no final. Estou com python 3 instalado no meu windows, já fiz o script do python3 e também já instalei o sublime Perl. Porém o mesmo não roda os códigos em python quando acrescento cores. Se puder me ajudar agradeço.

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

      Obrigado pelo feedback, Fable! Cara, realmente o Sublime Text tem dado uns problema, principalmente no Windows. A configuração dele acaba sendo bem complicada para executar códigos em Python de uma forma simples. Por esse motivo, inclusive, eu migrei recentemente para o Visual Studio Code. Se você tiver interesse em utilizar esse outro editor de código, eu tenho até um vídeo aqui no canal falando como você pode configurar ele para rodar scripts em Python de uma forma bem simples. É um vídeo bem completo! Mas, se você quiser mesmo utilizar o Sublime, eu poderia te ajudar melhor com mais detalhes dos erros que você está obtendo. Se quiser, me manda um e-mail (walissonsilva10@gmail.com) ou manda uma mensagem no Instagram (@walissonsilvablog) que a gente pode ver como poderíamos resolver, beleza?

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

    Muito bom, cara! Parabéns.
    Uma dúvida: Quando a gente manda esse BeautifulSoup(navegador.page_source, '...') aparecem diversas features, como 'html5lib'. Faz diferença usarmos as outras? Em qual situação isso é uma boa ideia se faz diferença?

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

    O seu abre e não fecha como faz isso ?

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

    Quem ta dando ctrl+C e ctrl+V nos codigos e não ta funcionando. Lembrem-se que esse vídeo tem mais de 1 ano, da uma olhada na documentação pra ver quais comandos mudaram com o tempo.

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

    send_keys nao ativa.

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

    Walisson
    Cara, me ajuda a entender um erro pf ta me deixando maluco.
    kkkkkkkkkkkkkkkkk
    Minha pagina web fecha sozinha só pelo fato de estar importando a biblioteca Requests, voce ja viu isso acontecer ? Sabe oq pode ser ?
    se eu comento a linha
    #import requests volta funcionar normal :'(

  • @luizfelipefelipe5007
    @luizfelipefelipe5007 9 месяцев назад +2

    alguém ai tentando fazer e esta tendo problema?

  • @RafaelWallace-s8f
    @RafaelWallace-s8f 10 месяцев назад

    Assisti mais de 80 videos sobre o mesmo assunto, os caras sao feras porem nao sabem ensinar, ja o Walisson usa uma tecnica de abordagem muito simples e interativa o usuario consegue entender perfeitamente a logica do codigo mesmo nao entendendo nada de programação.
    Volta com as aulas irmao.

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

    Aqui não rolou... antes de eu acessar aonde preciso extrair os dados preciso clicar em um HREF que não consigo fazer via selenium
    Select your login method

    Employees


    Customers

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

    Boa noite meu caro, Walisson! Tudo bem ?
    Estou com alguns problemas na hora de executar o meu script. As vezes ele funciona corretamente, vezes não.
    Poderia me ajudar ?
    Meu script tá igual ao seu!
    Meu Erro: [12936:1632:0726/234146.644:ERROR:device_event_log_impl.cc(214)] [23:41:46.644] Bluetooth: bluetooth_adapter_winrt.cc:1073 Getting Default Adapter failed.

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

    O meu navegador fecha após o teste. Alguém sabe o motivo?