Я работаю с селеновым веб-драйвером для поиска и извлечения данных с этого сайта https://www.idealista.com/venta-viviendas/marbella-malaga/
Я хочу получить таблицу с ценами каждого из домов (класс item_price), количеством комнат (класс item_detail) и кв. метры (класс item_detail).
Я считаю, что мне нужно использовать метод driver.find_elements (), но я не знаю, где его добавить и как убедиться, что мы добавимвсе цены, номера и кв. метры в таблице с тремя столбцами.
Пока я получил этот код, но он не работает.Я вижу, как FireFox просматривает страницы, но кажется, что он не хранит и не хранит данные в Houses.csv.Кто-нибудь может помочь?Спасибо
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.common.exceptions import NoSuchElementException
import pandas as pd
import csv
import time
driver = webdriver.Firefox()
driver.get("https://www.idealista.com/venta-viviendas/marbella/las-chapas-el-rosario/")
pages_remaining = True
price = []
rooms = []
size = []
while pages_remaining:
price = driver.find_elements_by_class_name("item-price")
rooms = driver.find_elements_by_xpath("//*[contains(text(), 'hab.')]")
size = driver.find_elements_by_xpath("//*[contains(text(), 'm²')]")
houses = [price, rooms, size]
try:
# Checks if there are more pages with links
next_link = driver.find_element_by_class_name("icon-arrow-right-after")
next_link.click()
time.sleep(10)
except NoSuchElementException:
rows_remaining = False
with open('houses.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile)
csvwriter.writerows(houses)
print(houses)