我正在尝试使用 selenium python 来抓取一个网站,但它没有给我所有结果

问题描述 投票:0回答:1

我正在使用 selenium 扫描 booking.com,它有 600 多个结果,但 selenium 只扫描 51 个结果。我不知道我做错了什么。这是我的代码。

从 selenium 导入 webdriver 从 selenium.webdriver.common.by 导入 将 pandas 导入为 pd

url = 'https://www.booking.com/searchresults.html?aid=397645&label=bin859jc-1DCAEoggI46AdIM1gDaKcBiAEBmAExuAEXyAEM2AED6AEB-AECiAIBqAIDuAK-xqeyBsACAdICJGEwYTAzM2QwLTQ1MjEtNGIzNi04NTYyLT cxMjY5NzJlMGNjNtgCBOACAQ&sid=968beab70293559758c39b5f6e59b26e&checkin=2024-05-20&checkout=2024-05-23®ion=5140&' 驱动程序 = webdriver.Edge() driver.get(url)

名称=[] 位置=[]

container = driver.find_element(By.CLASS_NAME, "d4924c9e74") 公寓 = container.find_elements(By.XPATH, './/div[contains(@role, "group")]')

对于公寓中的 x: name.append(x.find_element(By.XPATH, './/a[contains(@data-testid, "title")]').text) location.append(x.find_element(By.XPATH, './/span[contains(@data-testid, "address")]').text) # 打印(x.text)

酒店={ '名字':名字, “位置”:位置 } 打印(酒店)

这是我的结果

{'name': ['莫拉桑给巴尔岛 在新窗口中打开', 'Zanziblue 在新窗口中打开', 'Maisha Nungwi 在新窗口中打开', '巴拉丁桑给巴尔海滩酒店 在新窗口中打开', '桑给巴尔精品酒店 在新窗口中打开', '应许之地旅馆 在新窗口中打开', '宽扎日出度假村 在新窗口中打开', '卡拉福海滩度假村及水疗中心 在新窗口中打开', 'Hekaya Zanzibar 在新窗口中打开', '天堂海滩度假村及水疗中心 在新窗口中打开', 'Zuri Zanzibar 在新窗口中打开', 'Tembo House Hotel 在新窗口中打开', '日落肯德瓦海滩酒店 在新窗口中打开', 'Villa Nyota Zanzibar 在新窗口中打开', 'Kizikula 在新窗口中打开', 'Riu Jambo 酒店 - 全包式 在新窗口中打开', 'Chumbe 岛珊瑚公园 在新窗口中打开', '黄金桑给巴尔海滩别墅及水疗中心 在新窗口中打开', 'Mtende Beach Bungalow océan view 在新窗口中打开', 'Le Mersenne Zanzibar, Autograph Collection 在新窗口中打开', '本圭湾度假村 在新窗口中打开', '奥里莉亚桑给巴尔酒店 在新窗口中打开','绫海滩度假村 在新窗口中打开', 'Z-Lodge Zanzibar 在新窗口中打开', '玛雅海洋度假村 在新窗口中打开'], '位置': ['Matemwe', 'Matemwe', 'Nungwi Beach, Nungwi', 'Michamvi', 'Mfumbwi', 'Kizimkazi Beach, Kizimkazi', 'Kizimkazi', 'Pingwe', 'Pingwe', 'Uroa', '肯德瓦肯德瓦海滩', '桑给巴尔市', '肯德瓦肯德瓦海滩', '基登加', 'Kizimkazi', '南威', 'Mbweni', '肯德瓦肯德瓦海滩', 'Mtende'、'Michamvi'、'Pongwe'、'Ngambo'、'Kizimkazi 海滩、Kizimkazi'、'Kiwengwa'、'Bwejuu 海滩、Bwejuu']}

python selenium-webdriver web-scraping
1个回答
0
投票

当您滚动时,结果会动态加载。您需要使用selenium向下滚动页面才能加载所有结果。

参见这里例如

© www.soinside.com 2019 - 2024. All rights reserved.