我正在与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)
目前没有回答
相关问题 更多 >
编程相关推荐