从站点和不同页面提取数据并保存到cs

2024-10-03 23:25:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在与selenium webdriver一起搜索并从这个站点提取数据https://www.idealista.com/venta-viviendas/marbella-malaga/

我想要一张表,上面有每栋房子的价格(分类项目价格)、房间数量(分类项目详细信息)和平方米(分类项目详细信息)。你知道吗

我想我必须使用driver.find_元素()方法,但我不知道在哪里添加它,以及如何确保在一个有三列的表中添加所有价格、房间和平方米。你知道吗

到目前为止我已经得到了这个代码,但它不起作用。我看到FireFox在浏览网页,但它似乎没有保存和存储数据房屋.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)

Tags: csv项目fromimportbydriverselenium分类