En esta ocación vamos a extraer los datos de un portal inmobiliario. Los datos son la base para armar un Sistema de Información de Mercados que nos permita tomar decisiones basadas en información obtenida de datos del mercado o de la competencia.
#1 Necesitamos tener instalado Cromedriver en nuestro Pc en local.
#2 Para ejecutar el código python vamos a necesitar jupyter.
#3 Instalamos la librería Selenium !pip install selenium
#4 Abrimos el navegador y simulamos la navegación buscando dónde queremos pulsar, escribir y extraer texto. Como si lo hicieramos manualmente pero de forma automatizada.
import time
from selenium.webdriver.common.keys import Keys
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains
Abrimos el navegador Chromedriver
driver=webdriver.Chrome()
driver.get("https://www.fotocasa.es/es/")
driver.maximize_window()
Pulsamos alquilar, escribimos la localidad y pulsamos enter.
time.sleep(2)
alquilar=driver.find_element("xpath",'.//div[@class="re-HomeSearchSelector-item re-HomeSearchSelector-item--rent"]')
alquilar.click()
time.sleep(1)
buscador=driver.find_element("xpath",'.//div[@class="sui-AtomInput--withIcon sui-AtomInput--withIcon--right"]/input')
buscador.click()
buscador.send_keys('Málaga')
time.sleep(1)
buscador.send_keys(Keys.ENTER)
Extraemos los precios, haciendo scroll en la página.
listaProductos=[]
for i in range(15):
precios = driver.find_elements("xpath",'.//span[@class="re-CardPrice"]')
for precio in precios:
valor=precio.text
listaProductos.append(valor)
ActionChains(driver).key_down(Keys.PAGE_DOWN).key_up(Keys.PAGE_DOWN).perform()
time.sleep(0.5)
print(listaProductos)
Juande Marín
Profesor de Marketing digital, divulgador de inteligencia artificial y neuroeducación. Especializado en posicionamiento en buscadores y diseño web. Autor de varios libros relacionados con el comercio electrónico y el marketing digital (McGraw Hill, Paraninfo,…) Juande2marin