使用selenium Python获得的单独列表



我正在开发一个脚本,用selenium 抓取hotels.com的一个页面

import time
import os
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.common.by import By
import pandas as pd
import csv 
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()))
driver.get('https://es.hoteles.com/ho227810/secrets-lanzarote-resort-spa-adults-only-18-yaiza-espana/')
time.sleep(3)
try:
cookies = driver.find_element(By.CLASS_NAME, 'osano-cm-button--type_accept')
cookies.click()
time.sleep(2)
except:
pass
try:
tamano_hotel = driver.find_elements(By.XPATH, '//*[@id="Amenities"]/div/div[1]/div/div[2]')
hotel=[]
for iterarhotel in tamano_hotel:
hotel.append(iterarhotel.text)
print(hotel)
time.sleep(2)        
except:
print("Nothing")

它将其提取为列表

['Tamaño del hoteln331 habitacionesnCuenta con 8 pisosnEntrada y salidanHorario del registro de entrada: de 15:00 a 0:00nEdad mínima para efectuar el registro de entrada: 18nSe puede efectuar el registro de salida hasta las 12:00nRestricciones relacionadas con tu viajenConsulta las restricciones por el COVID-19.nInstrucciones especiales de entradanEl personal de recepción estará esperando a los huéspedes a su llegada.nPara obtener más información, ponte en contacto con el alojamiento a través de los datos que aparecen en la confirmación de la reserva.nLos restaurantes del establecimiento abren en función de la temporada.nDocumentación para el registro de entradanEs obligatorio presentar una tarjeta de crédito o de débito, o dejar un depósito en efectivo, para posibles cargos adicionales.nPueden pedirte un documento de identidad válido.nLa edad mínima para alojarse en este alojamiento es de 18 añosnLa edad mínima para realizar el registro de entrada es de 18 años.nMenoresnCunas no disponiblesnMascotasnSe admiten mascotas (solo perros y gatos, 1 por habitación hasta 10 kg)*nCon restricciones*nInternetnConexión wifi gratis en las zonas comunesnConexión wifi gratis en las habitacionesnAparcamientonAparcamiento sin asistencia gratuito en las instalacionesnAparcamiento para coches accesible en silla de ruedas en las instalacionesnTrasladosnTraslado desde/hasta el aeropuerto*nInformación adicionalnAlojamiento para no fumadoresnSolo para adultos']

我正试图把便利设施部分拼凑起来,但我把清单都拼在一起了,我怎么能把它分开,这样就分开了呢?

Tamaño del酒店:331个居住区,Cuenta con 8 pisos

入口和萨利达:入口登记处:15:00至0:00,入口登记处主任:18,萨利达登记处主任已于12:00

相关限制:新冠肺炎限制咨询。

等等。。。

创建一个空的dictionary对象,并添加key作为header以及value和li元素。

我也更改了定位器。

try:
tamano_hotel = driver.find_elements(By.CSS_SELECTOR, 'section#Amenities div.uitk-layout-columns-item')
hotel=[]
dictdetails={}
for iterarhotel in tamano_hotel:
dictdetails[iterarhotel.find_element(By.XPATH, ".//h3").text]=",".join([item.text for item in iterarhotel.find_elements(By.XPATH, ".//ul//li")])
hotel.append(dictdetails)
print(hotel)
time.sleep(2)        
except:
print("Nothing")

控制台输出:

[{'Tamaño del hotel': '331 habitaciones,Cuenta con 8 pisos', 'Entrada y salida': 'Horario del registro de entrada: de 15:00 a 0:00,Edad mínima para efectuar el registro de entrada: 18,Se puede efectuar el registro de salida hasta las 12:00', 'Restricciones relacionadas con tu viaje': 'Consulta las restricciones por el COVID-19.', 'Instrucciones especiales de entrada': 'El personal de recepción estará esperando a los huéspedes a su llegada.,Para obtener más información, ponte en contacto con el alojamiento a través de los datos que aparecen en la confirmación de la reserva.,Los restaurantes del establecimiento abren en función de la temporada.', 'Documentación para el registro de entrada': 'Es obligatorio presentar una tarjeta de crédito o de débito, o dejar un depósito en efectivo, para posibles cargos adicionales.,Pueden pedirte un documento de identidad válido.,La edad mínima para alojarse en este alojamiento es de 18 años,La edad mínima para realizar el registro de entrada es de 18 años.', 'Menores': 'Cunas no disponibles', 'Mascotas': 'Se admiten mascotas (solo perros y gatos, 1 por habitación hasta 10 kg)*,Con restricciones*', 'Internet': 'Conexión wifi gratis en las zonas comunes,Conexión wifi gratis en las habitaciones', 'Aparcamiento': 'Aparcamiento sin asistencia gratuito en las instalaciones,Aparcamiento para coches accesible en silla de ruedas en las instalaciones', 'Traslados': 'Traslado desde/hasta el aeropuerto*', 'Información adicional': 'Servicio de limpieza diario,Caja fuerte', 'Comida y bebida': '6 restaurantes,5 bares o lounges,Bar junto a la piscina,Cafetería,Café y té en una zona común,Servicio de habitaciones las 24 horas,Snack-bar o delicatessen', 'Actividades': 'Tenis,Ráquetbol o squash,Vóleibol,Submarinismo,Cerca de la playa,Rutas a pie o en bicicleta en las inmediaciones,Ciclismo de montaña en las inmediaciones,Kayak en las inmediaciones,Esnórquel en las inmediaciones,Alquiler de ciclomotores o scooters en las inmediaciones', 'Teletrabajo': 'Centro de negocios abierto las 24 horas,5 salas de reuniones,Sala de ordenadores,Centro de conferencias de 1899 metros cuadrados']

相关内容

  • 没有找到相关文章

最新更新