Não conhecia o termo web scraping porém faço muito isso para extrair dados de sites de empresas que não fornecem dados via web services mesmo que você implore ou até mesmo monte um servidor para eles. Eu implementei em Java, mas adorei a maneira como vocês fizeram usando Python.
Já tinha até me esquecido mas tenho um projeto bem simples que fiz para extrair dados do site da loteria federal: github.com/tiagoadmstz/SearchLoteriaFederal
Muito bom, finalmente um assunto que amo ... Dependendo do Parser da pra fazer muita coisa e até virar tcc da faculdade,automação com django,pegar preços de lojas super baratos...
Que vídeo sensacional, vocês são incríveis 😍😍, a didática de vocês e sensacional...é tão bom saber que tão perto(Sou de São José do vale do rio preto) tem programadores desse nível, estou ingressando agora na programação e desenvolvi esse msm projeto junto com esse vídeo ... Parabéns pra vocês ♥️😍 muito fã
Realmente venho acompanhando esse canal, já faz algum tempo. Primeiro que esse casal, é muito simpático. E os assuntos, são muito bem explicados.... Muito legal.... Sucesso para vocês.
@Samuel H tente usar a biblioteca pyautogui. Use o método press() para pressionar apenas uma tecla e use o método hotkeys() para pressionar teclas combinadas. Abraços. Espero ter ajudado. pyautogui.readthedocs.io/en/latest/keyboard.html
Caramba 2 dias tomando surra nesse video mas finalmente consegui completar o projeto ! Adicionei um click para a janela popup que provavelmente não é a melhor forma de fazer e adaptei para o chrome que provavelmente também não foi a melhor forma de fazer, mas está funcionando! Obrigado Código Fonte TV! Quem quiser dar uma olhada como ficou, segue o github: github.com/RaphaelR89/Webscrapping
Eu como analista de BI, tive resistência ao python por muito tempo. Mas quando comecei a estudar, achei SENSACIONAL. Tenho milhões de ideias pra fazer. Parabéns pelo vídeo.
Código Fonte TV Muito bom o video. Parabéns. Uma duvida, no começo do video voces comentam que da para fazer o scraping com o headless=true. Nesse caso o mouse e teclado ficam livres para o uso durante a execuçao ?
meu, você são muito massa..... mas nossa, estou iniciando agora, não consigo acompanhar.... parace fácil na mão de vocês, mas sou iniciante... a pergunta é, por onde eu começo???? prazer incrivel de ter caido na página de vocês
Olá, amigo. Tem algum curso que indica para iniciantes. O que eu quero é levantar dados e estatísticas de futebol de um site específico. Preciso filtrar quais as ligas mais empatam e os times que mais empatam nessas ligas. Teoricamente é isso.
quero me tornar um programador full porem eu nunca me envolvi com desenvolvimento web, conheço http e websocket em python, programo em C/C++ java etc, conheço bem html+css+javascript, oque mais devo saber pra começar?
Muito boa a aula! 🤘. Deu pra pegar muita coisa. Estou começando na área e tenho uma dúvida: eu gostaria de desenvolver um programa que buscasse o CNPJ da empresa no site da RF. Posso usar o Colab pra desenvolver isso? Ou é melhor o VS Code? Obgdo
Olá pessoal, estou aprendendo webscripng. Mas no momento da instalação ao rodar o comando mencionado no ReadMe, apresenta erro na hora de instalar o pandas. Alguém tentou por container? No container consegui resolver esse problema, mas na hora de executar da erro na linha 51 ( web driver.firefoxe(options=option) Pelo que pesquisei seria o geckoDriver (v0.33), mas ele está devidamente atualizado e de acordo com a versao do firefox(115.3.0) O erro: selenium. Common. Exception.webdriverexception: message: Process unexpectedly closet with status 1
Estou com esse erro já tentei "setar" de todas as formas que conheço, alguém com alguma solução?? TypeError: 'set' object is not subscriptable field = rankings[type]['field']
Fiz um teste com o código. Meu conhecimento é pequeno. Está constando este erro. Podem, por favor, me ajudar? /WebScraping.py", line 5, in from bs4 import BeautifulSoup ModuleNotFoundError: No module named 'bs4'
Excelente Vídeo. Alguém poderia me auxiliar na seguinte questão? Estou criando um webScraper para pegar os dados de um site que possui uma "table" que possui a opção de selecionarmos a quantidade de colunas que ela poderá possuir. Quando abrimos esse site a quantidade de colunas são 10 (2010 a 2019), mas meu objetivo é pegar dados desde 2005. Utilizando selenium eu preencho de 2005 a 2019, porém sempre são trazidos dados de 2010 a 2019, ou seja, da tabela original. Após clicar em 2005, eu utilizo "table = soup_resultado.find(name='table')" Obrigado!
Muito bom o vídeo, super didático. Uma ideia legal seria fazer uma parte 2 usando esses dados pra gerar alguns gráficos e explorar as libs de Data Visualization do Python.
o find_element_by_xpath está dizendo descontinuado alguém sabe resolver, e como fazer o codigo sem usar o time.sleep, é so usar o que está exatamente aqui :WebDriverWait(driver).until(condition) ???
Só um detalhe, a melhor maneira de esperar que um conteúdo carregue, sem usar sleep, é usando WebDriverWait(driver).until(condition). Valeu pelo ótimo vídeo! Abraços
O meu está dando vários erros. O que poderia ser?Não encontra o webdriver. Traceback (most recent call last): File "C:\Users\ICTS\Documents\codigos\webscraping.py", line 61, in top10ranking[k] = buildrank(k) File "C:\Users\ICTS\Documents\codigos\webscraping.py", line 30, in buildrank driver.find_element_by_xpath( File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver emote\webelement.py", line 80, in click self._execute(Command.CLICK_ELEMENT) File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver emote\webelement.py", line 633, in _execute return self._parent.execute(command, params) File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver emote\webdriver.py", line 321, in execute self.error_handler.check_response(response) File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver emote\errorhandler.py", line 242, in check_response raise exception_class(message, screen, stacktrace) selenium.common.exceptions.ElementNotInteractableException: Message: Element could not be scrolled into view
Eu já fiz vários códigos de web Scrapping com Selenium, e hoje eu aprendi uma coisa importante: eu não sei nada de web Scrapping 😂. Parabéns, pessoal. Vídeo fantástico!
Na execução do código tive o seguinte erro... Traceback (most recent call last): File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start self.process = subprocess.Popen(cmd, env=self.env, File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 854, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line 1307, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado During handling of the above exception, another exception occurred: Traceback (most recent call last): File "c:/Users/tales/Documents/Estudos/Programação/Python/WebScraping.py", line 21, in browser = webdriver.Firefox() File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__ self.service.start() File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start raise WebDriverException( selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. Como resolvo?
Alguém atualmente conseguiu fazer? Unable to locate element: {"method":"xpath","selector":"//div[@class='nba-stat-table']//table//thead//tr//th[@data-field='FG3M']"} Fica apresentando esse erro
Olá, sigo o canal já a basteante tempo, e estou tentando executar o script deste vídeo, porem dá erro. (Traceback (most recent call last): File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start self.process = subprocess.Popen(cmd, env=self.env, File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 854, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 1307, in _execute_child hp, ht, pid, tid = _winapi.CreateProcess(executable, args, FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado During handling of the above exception, another exception occurred: Traceback (most recent call last): File "webscraping.py", line 51, in driver = webdriver.Firefox(options=option) File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__ self.service.start() File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start raise WebDriverException( selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH. Já fiz o download do geckodriver e adicionei ao patch, e mesmo assim continua dando erro. Se alguém puder ajudar agradeço.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts. requests2 2.16.0 requires urllib3=1.21.1, but you have urllib3 1.26.7 which is incompatible.
Pra quem esta tentando reproduzir esse projeto em 2024 com o python >3.12, se der algum erro, baixe uma versão antiga, fiz tudo no meu e só consegui rodar o selenium no python 3.6 com um ambiente virtual
Olá! Alguém pode me ajudar? Fiz a primeira parte do código, onde faz abrir o site, porém não funciona. Primeiro eu estava num Windows, sempre dava erro nas bibliotecas, todas instaladas (não sei se instalei certo, mas no final tive a mensagem de sucesso) mas não funcionavam, agora estou tentando numa máquina virtual com Linux Debian, mas também não roda, dá um erro, algo como traceback... PATH... SE ALGUEM PODER ME AJUDAR FICAREI MUITO GRATO! POR FAVOR!!!!!!!!
Se for " 'geckodriver' executable needs to be in PATH. ". Baixe a última versão do geckodriver e a coloque na raiz do Python instalado em sua máquina, em se tratando de estar usando o SO windows.
Muito bom o conteúdo, ... Mas, sera que alguem poderia me dar uma auxilio em uma coisa. Preciso puxar o valor, mas de verdade nao estou conseguindo. A estrutura da pagina eh basicamente essa.. v v v Venda: R$ 2.445.000,00 Preciso puxar apenas o valor, ... driver.find_element_by_xpath("//div[@class='info-valores']//ul[@class='values']//li//span[contains(text(), 'Venda:'/span") (esse acima nao vai..rs)
Incrível o que da pra fazer com Python. Consigo realizar esse código periodicamente ? tipo, rodar o código em alguns horários específicos do dia para todos os dias ?
Um tempo atrás eu dava uma ajuda no fórum do Clube do Hardware, na parte onde ficavam as promoções, era um único tópico e eu usava web scrapping para atualizar os preços dos produtos, pra cada produto ia visitando um link pra cada loja vendendo ele (cadastrado previamente) e salvava num banco de dados. Depois clicava num link e gerava o post pra copiar e colar no fórum. Usei Java, Grails, Jsoup, HSQLDB, foi divertido fazer ele funcionar, mas acho que perdi o código :P
Bacana o vídeo, mas pra quem está começando, como é o meu caso, foi um pouco rápido d+... Apesar de já programar em outras linguagens, senti falta da explicação dos comandos e dos parâmetros preenchidos na chamada de cada um deles... Isso exploraria com mais profundidade as bibliotecas usadas. Mas como falei, talvez não seja o conteúdo adequado para quem está "engatinhando" ainda... Em breve espero poder acompanhar o raciocínio na mesma velocidade em que se dá a dinâmica do vídeo.
Não estou conseguindo, o meu deu o seguinte erro: selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Dá pra fazer um "web scraping" mas com programas no computador ? Tipo abre um programa no computador-->clica em uma guia--->abre uma aba-->acessa um arquivo...
Ola tudo bem? Estou fazendo um web scrap no site da amazon com Pandas e Beaautiful Soup mas estou com um problema, será que voces podem me ajudar? O problema é que na página que estou pesquisando estou coletando as informações de produto e preço, mas ocorre que alguns produtos estão sem preço! Neste caso, o programa está pegando o preço do produto seguinte para colocar neste produto, ficando com a informação errada.....sabem como posso fazer para resolver isso? Obrigada!!!!
Por que no seu caso você não precisou de informar onde estava o seu geckodriver em 6:15 para funcionar o código? Meu código estava dando erro e eu tive que quebrar a cabeça por 2 horas para procurar solucionar o erro, e vi que na verdade nesse () da linha 14 do seu código tem que informar onde está o geckodriver para funcionar...
Alguém saberia dizer se teria alguma forma, utilizando o selenium, de trocar esse time.sleep() por uma função async, para aguardar o load da page? Ótimo vídeo!
Por que tudo que eu codo no Python e tento executar, nunca vai e dá erro de sintaxe ou, erro de ? Pior é que eu faço tudo direitinho do jeito que vejo nos vídeos...
Estou querendo usar os dados que extraio do site em um cálculo, porém não consigo por estar em string, como consigo fazer a conversão ou extrair diretamente como int?
Neste caso, eles encerram o vídeo apenas com os dados no próprio ambiente de desenvolvimento. Como fazer pra pegar esses dados e coloca-los em algum arquivo xlsx por exemplo?
*Parsear HTML é válido quando não há outra maneira de extrair os dados. No caso dessa página especificamente dá uma olhadinha nos XHR que a página faz que vai ver que a API é consumida no front e já está pronta, não existe a menor necessidade de parse. (/stats/leaguedashplayerstats), fiz um teste pelo PostMan e funcionou perfeitamente. Só foi necessário enviar os Request Headers conforme estão lá, não requer uso do Cookie.*
Tem razão. stats.nba.com/stats/leaguedashplayerstats?College=&Conference=&Country=&DateFrom=&DateTo=&Division=&DraftPick=&DraftYear=&GameScope=&GameSegment=&Height=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=Totals&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2019-20&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&TwoWay=0&VsConference=&VsDivision=&Weight=
Usar um sleep pra carregar a página não é uma boa prática, tem como esperar até a página carregar um certo elemento, aí o código fica mais eficiente, mas gostei mto do vídeo, amo web scraping.
@@brunoconde8614 tem dois jeitos, o implictly wait e o explicitly wait, o implictly é simples, só chamar um webdriver.implictly_wait(tempo em segundos) logo dps de abrir o navegador, desse jeito, se vc tentar pegar qualquer elemento e ele não estiver na página, ele vai tentando pegar enquanto o tempo em segundos não acaba. O explicitly wait so espera por um elemento que vc tem que especificar (é mais verboso doq o implictly)
Preciso de um orçamento de alguém que pegue os numeros sortiados na bet 365 e coloque em uma planilha de forma altomatico, alguém tem alguma noção desse serviço? me chama no whatss (33)987620198
Não conhecia o termo web scraping porém faço muito isso para extrair dados de sites de empresas que não fornecem dados via web services mesmo que você implore ou até mesmo monte um servidor para eles. Eu implementei em Java, mas adorei a maneira como vocês fizeram usando Python.
Já tinha até me esquecido mas tenho um projeto bem simples que fiz para extrair dados do site da loteria federal: github.com/tiagoadmstz/SearchLoteriaFederal
Oi com gentileza vc pode me explicar , isso é o que?
@@mayara7442 Desculpe mas eu não entendi sobre o que você deseja explicação.
Sem palavras, incrível como sempre, parabéns 👏🏾👏🏾👏🏾👏🏾👏🏾
Python é realmente uma linguagem fantástica, curti muito o conteúdo do vídeo, vcs estão de parabéns !!!
Fantástico é C, Assembly, Rust. Python tem várias bibliotecas, o que facilita. Mas qualquer linguagem poderia ter também.
Muito bom, finalmente um assunto que amo ... Dependendo do Parser da pra fazer muita coisa e até virar tcc da faculdade,automação com django,pegar preços de lojas super baratos...
Olá você sabe fazer web scraping?
Simplesmente Fantástico!!!
Que vídeo sensacional, vocês são incríveis 😍😍, a didática de vocês e sensacional...é tão bom saber que tão perto(Sou de São José do vale do rio preto) tem programadores desse nível, estou ingressando agora na programação e desenvolvi esse msm projeto junto com esse vídeo ... Parabéns pra vocês ♥️😍 muito fã
iniciante em py adorei o video muito explicativo parabens
An impressive video that has served as an inspiration for our new members. Your generosity is much appreciated!
its amazing to bring data scraping and nba stats together in an example. i wish there were other languages options as subtitles
Do you haven't any content in your language?
Eu sou muuuito fã do seu Canal,
Eu tento não perder nenhum vídeo.
Peguei esse vídeo na hora certa, valeu galera!!
Legal. E como fazer pra percorrer as linhas de paginação?
imagino que vc não vai ter muita diferença, desde que não seja uma ali interna que faça o Scroll
Muitooooo BOM!!!! Isso vai me ajudar muito nos estudos de Python e no meu objetivo com a linguagem. Meu amor por vocês foi pra ^10 kkkkkk. Parabéns!!!
Realmente venho acompanhando esse canal, já faz algum tempo.
Primeiro que esse casal, é muito simpático.
E os assuntos, são muito bem explicados....
Muito legal....
Sucesso para vocês.
verdade, são sensacionais!
Haha muito bom! eu faço bots pra whatsapp, instagram, etc. usando o python com selenium. Muito bom o conteúdo, sucesso!
Ensina fi😬
Eu tava atrás disso mas não sei usar o selenium
Vc tem repositório no github?
@Samuel H tente usar a biblioteca pyautogui. Use o método press() para pressionar apenas uma tecla e use o método hotkeys() para pressionar teclas combinadas. Abraços. Espero ter ajudado.
pyautogui.readthedocs.io/en/latest/keyboard.html
@Samuel H cara acho que vai ser melhor vc pegar o link do endereço da imagem e fazer uma função com request.get nessa url e salvar a imagem
Estou estudando esse conteúdo em Dart e é impressionante como muitas coisas são similares independente da linguagem.
Boa dinâmica do vídeo, sem enrolação, é direto ao ponto. Obs.: não é "scrap", é "scrape" (skreyp).
Caramba 2 dias tomando surra nesse video mas finalmente consegui completar o projeto ! Adicionei um click para a janela popup que provavelmente não é a melhor forma de fazer e adaptei para o chrome que provavelmente também não foi a melhor forma de fazer, mas está funcionando! Obrigado Código Fonte TV!
Quem quiser dar uma olhada como ficou, segue o github: github.com/RaphaelR89/Webscrapping
Parabéns Raphael!!!! 👏👏👏
Eu como analista de BI, tive resistência ao python por muito tempo. Mas quando comecei a estudar, achei SENSACIONAL. Tenho milhões de ideias pra fazer. Parabéns pelo vídeo.
Olá, você sabe fazer web scraping?
@@anasousa7718 Sim
@@o_comentador_aleatorio pode-me dar um contacto para eu lhe pedir um trabalho?
@@anasousa7718 @alves.19xx
Insta
@@o_comentador_aleatorio mandei-te um pedido agora. Fisioterapia for life
Código Fonte TV
Muito bom o video. Parabéns.
Uma duvida, no começo do video voces comentam que da para fazer o scraping com o headless=true.
Nesse caso o mouse e teclado ficam livres para o uso durante a execuçao ?
11:30 Bruxaria hehehehehehe
TOPZERAAAAAAAAAA
meu, você são muito massa.....
mas nossa, estou iniciando agora, não consigo acompanhar.... parace fácil na mão de vocês, mas sou iniciante...
a pergunta é, por onde eu começo????
prazer incrivel de ter caido na página de vocês
Olá, amigo.
Tem algum curso que indica para iniciantes.
O que eu quero é levantar dados e estatísticas de futebol de um site específico.
Preciso filtrar quais as ligas mais empatam e os times que mais empatam nessas ligas.
Teoricamente é isso.
Apareceu a palavra Python no video eu venho correndo 😍 Scrapping/Crawler entao 😙
que doido demais
quero me tornar um programador full porem eu nunca me envolvi com desenvolvimento web, conheço http e websocket em python, programo em C/C++ java etc, conheço bem html+css+javascript, oque mais devo saber pra começar?
Muito bom
Pena que são apenas dois vídeos por semana #conhecimento
ótimo vídeo!!! Vcs poderia fazer WebScraping do site de aposta da blaze?
kkkkkkkkkkkkk.... como faz esse foguinhoo!!!!
posso usar o mesmo processo para ações
Bom dia, vocês esqueceram de atualizar a descrição do vídeo !!! rsrs
Atualizamos mas parece que não propagou! Muito obrigado por nos avisar!
Muito boa a aula! 🤘. Deu pra pegar muita coisa. Estou começando na área e tenho uma dúvida: eu gostaria de desenvolver um programa que buscasse o CNPJ da empresa no site da RF. Posso usar o Colab pra desenvolver isso? Ou é melhor o VS Code? Obgdo
Muito bom, já dá pra montar um app de bolão.
com o chrome só consegui ler o xpath usando headless = False, senão ele não encontrava.
muito interessante, só tenho que aprender melhor esse vocabulário que vocês usam
Como sei se é permitido fazer web scraping em um site?
Olá pessoal, estou aprendendo webscripng. Mas no momento da instalação ao rodar o comando mencionado no ReadMe, apresenta erro na hora de instalar o pandas.
Alguém tentou por container? No container consegui resolver esse problema, mas na hora de executar da erro na linha 51 ( web driver.firefoxe(options=option)
Pelo que pesquisei seria o geckoDriver (v0.33), mas ele está devidamente atualizado e de acordo com a versao do firefox(115.3.0)
O erro: selenium. Common. Exception.webdriverexception: message: Process unexpectedly closet with status 1
Estou com esse erro já tentei "setar" de todas as formas que conheço, alguém com alguma solução??
TypeError: 'set' object is not subscriptable
field = rankings[type]['field']
ja entreguei um projeto que usava webscraping mas nao usei o selenium, eu trabalhei com 2 libs do php
Provavelmente as libs que você usava eram beautifulsoup4 e requests
Provavelmente as libs que você usava eram beautifulsoup4 e requests
Não esta mais funcionando, atualizaram o site
Fiz um teste com o código. Meu conhecimento é pequeno. Está constando este erro. Podem, por favor, me ajudar?
/WebScraping.py", line 5, in
from bs4 import BeautifulSoup
ModuleNotFoundError: No module named 'bs4'
Excelente Vídeo.
Alguém poderia me auxiliar na seguinte questão?
Estou criando um webScraper para pegar os dados de um site que possui uma "table" que possui a opção de selecionarmos a quantidade de colunas que ela poderá possuir. Quando abrimos esse site a quantidade de colunas são 10 (2010 a 2019), mas meu objetivo é pegar dados desde 2005.
Utilizando selenium eu preencho de 2005 a 2019, porém sempre são trazidos dados de 2010 a 2019, ou seja, da tabela original.
Após clicar em 2005, eu utilizo "table = soup_resultado.find(name='table')"
Obrigado!
Tenho 22 anos, é tarde pra começar programar e entrar no mercado?
Olá amigo, você faz freelancer?
Python é muito legal. Dá para fazer muitas coisas com pouquissimas linhas. Esse quadro é sensacional.
Muito bom o vídeo, super didático. Uma ideia legal seria fazer uma parte 2 usando esses dados pra gerar alguns gráficos e explorar as libs de Data Visualization do Python.
Excelente ideia!
@@codigofontetv olá, seria possível fazer um trabalho de web scraping?
o find_element_by_xpath está dizendo descontinuado alguém sabe resolver, e como fazer o codigo sem usar o time.sleep, é so usar o que está exatamente aqui :WebDriverWait(driver).until(condition) ???
Só um detalhe, a melhor maneira de esperar que um conteúdo carregue, sem usar sleep, é usando WebDriverWait(driver).until(condition). Valeu pelo ótimo vídeo! Abraços
Tem também o implicity_wait do driver
TheuzzLivee verdade 😉
@Human Exploit o código pode dar erro se o componente em que será realizado o scrape não tiver sido renderizado, por exemplo
Aha! Foi verdade mesmo kkkkk acertei o vídeo antes de sair !
Muito bom !
Vocês são demais !
Pra quem não entendeu é só ler meu comentário nesse vídeo
ruclips.net/video/3LDknWxVw7Y/видео.html
pra mim quando abre o robô, da uma msg de aceitar os cookies, e por causa disso da erro, eu aceito manualmente e da certo o clique
Esse é o casal que adoro tanto. Show de bola.
Estou começando com Python agora, amei esse desafio que vocês fizeram.
Parabéns....
Vocês tem tênis Jordan combinando? kkkk
O meu está dando vários erros. O que poderia ser?Não encontra o webdriver. Traceback (most recent call last):
File "C:\Users\ICTS\Documents\codigos\webscraping.py", line 61, in
top10ranking[k] = buildrank(k)
File "C:\Users\ICTS\Documents\codigos\webscraping.py", line 30, in buildrank
driver.find_element_by_xpath(
File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver
emote\webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver
emote\webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver
emote\webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "C:\Users\ICTS\AppData\Local\Programs\Python\Python39\lib\site-packages\selenium\webdriver
emote\errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotInteractableException: Message: Element could not be scrolled into view
aqui dá o mesmo erro, resolveu?
@@felipemartins6149 não..
if python de like
else de like mesmo assim kkkk
Mas sério ... aprender linguagem nova sempre demanda esforço :-)
Eu já fiz vários códigos de web Scrapping com Selenium, e hoje eu aprendi uma coisa importante: eu não sei nada de web Scrapping 😂. Parabéns, pessoal. Vídeo fantástico!
Excelente! Ja estou usando na automacao de tarefas de busca de dados para minha planilha Excel
Web Scraping é algo sensacional. Obrigado!
Na execução do código tive o seguinte erro...
Traceback (most recent call last):
File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line
854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\subprocess.py", line
1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:/Users/tales/Documents/Estudos/Programação/Python/WebScraping.py", line 21, in
browser = webdriver.Firefox()
File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__
self.service.start()
File "C:\Users\tales\AppData\Local\Programs\Python\Python38-32\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to
be in PATH.
Como resolvo?
Alguém atualmente conseguiu fazer?
Unable to locate element: {"method":"xpath","selector":"//div[@class='nba-stat-table']//table//thead//tr//th[@data-field='FG3M']"}
Fica apresentando esse erro
Olá, sigo o canal já a basteante tempo, e estou tentando executar o script deste vídeo, porem dá erro.
(Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 72, in start
self.process = subprocess.Popen(cmd, env=self.env,
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 1307, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] O sistema não pode encontrar o arquivo especificado
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "webscraping.py", line 51, in
driver = webdriver.Firefox(options=option)
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 164, in __init__
self.service.start()
File "C:\ProgramData\Anaconda3\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start
raise WebDriverException(
selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
Já fiz o download do geckodriver e adicionei ao patch, e mesmo assim continua dando erro.
Se alguém puder ajudar agradeço.
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
requests2 2.16.0 requires urllib3=1.21.1, but you have urllib3 1.26.7 which is incompatible.
Pra quem esta tentando reproduzir esse projeto em 2024 com o python >3.12, se der algum erro, baixe uma versão antiga, fiz tudo no meu e só consegui rodar o selenium no python 3.6 com um ambiente virtual
Descupe a pergunta fora do contexto, as vezes gosto de fazer tutoriais tambem, qual nome desse toque de fundo? Ah, acompanho muito voces
Olá! Alguém pode me ajudar? Fiz a primeira parte do código, onde faz abrir o site, porém não funciona. Primeiro eu estava num Windows, sempre dava erro nas bibliotecas, todas instaladas (não sei se instalei certo, mas no final tive a mensagem de sucesso) mas não funcionavam, agora estou tentando numa máquina virtual com Linux Debian, mas também não roda, dá um erro, algo como traceback... PATH...
SE ALGUEM PODER ME AJUDAR FICAREI MUITO GRATO!
POR FAVOR!!!!!!!!
Se for " 'geckodriver' executable needs to be in PATH. ". Baixe a última versão do geckodriver e a coloque na raiz do Python instalado em sua máquina, em se tratando de estar usando o SO windows.
Muito bom o conteúdo, ...
Mas, sera que alguem poderia me dar uma auxilio em uma coisa.
Preciso puxar o valor, mas de verdade nao estou conseguindo.
A estrutura da pagina eh basicamente essa..
v
v
v
Venda:
R$ 2.445.000,00
Preciso puxar apenas o valor, ...
driver.find_element_by_xpath("//div[@class='info-valores']//ul[@class='values']//li//span[contains(text(), 'Venda:'/span")
(esse acima nao vai..rs)
Incrível o que da pra fazer com Python. Consigo realizar esse código periodicamente ? tipo, rodar o código em alguns horários específicos do dia para todos os dias ?
Um tempo atrás eu dava uma ajuda no fórum do Clube do Hardware, na parte onde ficavam as promoções, era um único tópico e eu usava web scrapping para atualizar os preços dos produtos, pra cada produto ia visitando um link pra cada loja vendendo ele (cadastrado previamente) e salvava num banco de dados. Depois clicava num link e gerava o post pra copiar e colar no fórum. Usei Java, Grails, Jsoup, HSQLDB, foi divertido fazer ele funcionar, mas acho que perdi o código :P
Bacana o vídeo, mas pra quem está começando, como é o meu caso, foi um pouco rápido d+...
Apesar de já programar em outras linguagens, senti falta da explicação dos comandos e dos parâmetros preenchidos na chamada de cada um deles... Isso exploraria com mais profundidade as bibliotecas usadas.
Mas como falei, talvez não seja o conteúdo adequado para quem está "engatinhando" ainda...
Em breve espero poder acompanhar o raciocínio na mesma velocidade em que se dá a dinâmica do vídeo.
Não estou conseguindo, o meu deu o seguinte erro: selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
selenium.webdriver.firefox.options
Qual comando uso pra chrome e microsoft edge?
Dá pra fazer um "web scraping" mas com programas no computador ? Tipo abre um programa no computador-->clica em uma guia--->abre uma aba-->acessa um arquivo...
O senador Styvenson Valentim (Podemos-RN) apresentou projeto de lei (PL 3608/2020)
quando dou print na variavel "htmlcontent" aparece None, alguem pra ajudar ai galera?
obs:estou usando spyder como IDE
Fazem parecer fácil
Alguém me arranja um contacto de alguém de confiança que saiba fazer web scraping e de preferência barato...
Ola tudo bem?
Estou fazendo um web scrap no site da amazon com Pandas e Beaautiful Soup mas estou com um problema, será que voces podem me ajudar?
O problema é que na página que estou pesquisando estou coletando as informações de produto e preço, mas ocorre que alguns produtos estão sem preço! Neste caso, o programa está pegando o preço do produto seguinte para colocar neste produto, ficando com a informação errada.....sabem como posso fazer para resolver isso? Obrigada!!!!
Por que no seu caso você não precisou de informar onde estava o seu geckodriver em 6:15 para funcionar o código? Meu código estava dando erro e eu tive que quebrar a cabeça por 2 horas para procurar solucionar o erro, e vi que na verdade nesse () da linha 14 do seu código tem que informar onde está o geckodriver para funcionar...
Cara, eu executo tudo da mesma forma, porém dá erro. Não localiza o Xpath... Já tentei de todas as formas 😭
Alguém saberia dizer se teria alguma forma, utilizando o selenium, de trocar esse time.sleep() por uma função async, para aguardar o load da page?
Ótimo vídeo!
Por que tudo que eu codo no Python e tento executar, nunca vai e dá erro de sintaxe ou, erro de ?
Pior é que eu faço tudo direitinho do jeito que vejo nos vídeos...
Estou querendo usar os dados que extraio do site em um cálculo, porém não consigo por estar em string, como consigo fazer a conversão ou extrair diretamente como int?
se o conteúdo da tabela mudasse em tempo real ex. em questão de 15 segundos a tabela fosse atualizada, essa solução q vcs apresentaram serviria ?
Neste caso, eles encerram o vídeo apenas com os dados no próprio ambiente de desenvolvimento. Como fazer pra pegar esses dados e coloca-los em algum arquivo xlsx por exemplo?
Qual versão do firefox utilizado ? Não consegui com a versão mais nova.
E se eu quiser fazer web scraping no site W3school??
*Parsear HTML é válido quando não há outra maneira de extrair os dados. No caso dessa página especificamente dá uma olhadinha nos XHR que a página faz que vai ver que a API é consumida no front e já está pronta, não existe a menor necessidade de parse. (/stats/leaguedashplayerstats), fiz um teste pelo PostMan e funcionou perfeitamente. Só foi necessário enviar os Request Headers conforme estão lá, não requer uso do Cookie.*
Tem razão. stats.nba.com/stats/leaguedashplayerstats?College=&Conference=&Country=&DateFrom=&DateTo=&Division=&DraftPick=&DraftYear=&GameScope=&GameSegment=&Height=&LastNGames=0&LeagueID=00&Location=&MeasureType=Base&Month=0&OpponentTeamID=0&Outcome=&PORound=0&PaceAdjust=N&PerMode=Totals&Period=0&PlayerExperience=&PlayerPosition=&PlusMinus=N&Rank=N&Season=2019-20&SeasonSegment=&SeasonType=Regular+Season&ShotClockRange=&StarterBench=&TeamID=0&TwoWay=0&VsConference=&VsDivision=&Weight=
como consegueriamos fazer isso dinamicamente?
Nossa, tá de Parabéns, muito bom mesmo, vou criar um json de futebol.
video de web scrapping justamente no primeiro dia q conheço a técnica :)
AEWWWWWWWWWW #PYTHON DE NOVOOOOOOO uhuuullll
Agora que iniciei os estudos em python já consigo entender melhor o que o Sr. e a Sra. fizeram.👍👏
Usar um sleep pra carregar a página não é uma boa prática, tem como esperar até a página carregar um certo elemento, aí o código fica mais eficiente, mas gostei mto do vídeo, amo web scraping.
Excelente!!! Vamos ajustar no Github
Como faz pra esperar até que um elemento carregue?
@@brunoconde8614 tem dois jeitos, o implictly wait e o explicitly wait, o implictly é simples, só chamar um webdriver.implictly_wait(tempo em segundos) logo dps de abrir o navegador, desse jeito, se vc tentar pegar qualquer elemento e ele não estiver na página, ele vai tentando pegar enquanto o tempo em segundos não acaba.
O explicitly wait so espera por um elemento que vc tem que especificar (é mais verboso doq o implictly)
Pessoal, não encontrei o código no github. Podem me ajudar?
Gostei
Em 13:44 vimos a importância do test. Nos vemos na próxima aula.
Eu acho muito massa essa técnica (selenium + beautifulsoup4), é o meu martelo. Parabéns pelo vídeo, muito show.
Preciso de um orçamento de alguém que pegue os numeros sortiados na bet 365 e coloque em uma planilha de forma altomatico, alguém tem alguma noção desse serviço? me chama no whatss (33)987620198
Como sai fogo quando vc digita?? kkkk
Passando aqui só para lembrar, que a sintax do "webdriver" mudou, agora serIA assim "driver.find_element("xpath",'URL_SITE').click()"
Python
Uma linguagem fofa pra dedéu! :)