Jump to content

Webscraping com selenium (python)


Postagens Recomendadas

Estou com um objetivo de fazer uma automação que pegue uma informação de uma planilha excel e insira em um site específico, mas não sei como pegar o resultado(a informação) deste site e colocar na mesma planilha de onde veio a primeira info. Ex: site de pesquisa de locais, na linha 1 da planilha tem um nome de cidade. Quando jogar no site vai aparecer idade da cidade, habitantes e hospitais que tem lá. Quero pegar essas 3 informações que o site deu e colocar em colunas diferentes mas na mesma linha da minha planilha pois tenho centenas de nomes para pesquisar.

Tentei selecionar o elemento e imprimir para ver se da certo, mas não vai: planodocliente = chrome.find_element(By.XPATH,'//*[@id="detalhe-plano-plano"]/span')

planodocliente.get_attribute()

print(planodocliente)

 

tentei com beatifulsoup mas também sem sucesso

Link to comment
Compartilhe em outros sites

Uma alternativa seria usar o Selenium e o BeautifulSoup juntos para realizar sua automação. O Selenium pode ser usado para abrir o site, clicar em elementos, preencher formulários, etc., e o BeautifulSoup para extrair informações da página após o site ser carregado. Aqui está um exemplo de como fazer isso em Python:

 

from selenium import webdriver
from bs4 import BeautifulSoup

# Inicializa o driver do Selenium
driver = webdriver.Chrome()

# Abre o site
driver.get("https://www.example.com/search?city=NomeDaCidade")

# Espera o elemento desejado ser carregado
element = WebDriverWait(driver, 10).until(
    EC.presence_of_element_located((By.ID, "detalhe-plano-plano"))
)

# Obtém o HTML da página
html = driver.page_source

# Fecha o driver
driver.quit()

# Analisa o HTML com o BeautifulSoup
soup = BeautifulSoup(html, "html.parser")

# Procura pelo elemento que contém a informação desejada
element = soup.find("span", id="detalhe-plano-plano")

# Imprime o texto do elemento
print(element.text)


Em seguida, você pode usar o Pandas para ler a planilha Excel, fazer as pesquisas e escrever as informações de volta na planilha. Aqui está um exemplo de como fazer isso:

 

import pandas as pd

# Lê a planilha Excel
df = pd.read_excel("planilha.xlsx")

# Loop por todas as linhas da planilha
for index, row in df.iterrows():
    # Realiza a pesquisa com o Selenium e o BeautifulSoup aqui
    # ...
    
    # Atualiza as informações na planilha
    df.at[index, "Idade da Cidade"] = idade
    df.at[index, "Habitantes"] = habitantes
    df.at[index, "Hospitais"] = hospitais

# Salva a planilha atualizada
df.to_excel("planilha_atualizada.xlsx", index=False)


Espero ter ajudado.
 

  • Curtir 1
  • Amei 1
Link to comment
Compartilhe em outros sites

Crie uma conta ou entre para comentar 😀

Você precisa ser um membro para deixar um comentário.

Crie a sua conta

Participe da nossa comunidade, crie sua conta.
É bem rápido!

Criar minha conta agora

Entrar

Você já tem uma conta?
Faça o login agora.

Entrar agora


×
×
  • Create New...