You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取房产网站中可点击地图的URL?(BeautifulSoup爬虫问题)

问题:提取Rightmove房产页面中可点击地图的URL

我需要从房产页面(链接:https://www.rightmove.co.uk/properties/119854820#/?channel=RES_BUY)中提取显示建筑位置的可点击地图的URL。

可点击地图截图:clickable map
目标元素截图:element

我尝试用BeautifulSoup写了以下代码,但不管是指定选择器还是遍历所有img标签,都无法获取目标链接:

response = requests.get(url)
content = BeautifulSoup(response.text, 'lxml')

images = [image['src'] for image in content.findAll('a', {'class': '_1kck3jRw2PGQSOEy3Lihgp'})]

images = [image['src'] for image in content.select('div', {'class': '_38EHcC14J7Q40UwAPp10QP'})]

urls = [urll.get("href") for urll in content.findAll('a', {'class': '_1kck3jRw2PGQSOEy3Lihgp'})]

all_imgs = [img.get('data-src') for img in content.select('img.lazy')]

请问这个可点击地图在HTML里是不是有特殊处理?


解决方案

Rightmove的这类地图元素大概率是动态加载的——你用requests.get()拿到的只是页面的初始静态HTML,而地图的实际链接是页面加载完成后通过JavaScript动态渲染出来的,所以BeautifulSoup根本抓不到这些动态生成的内容。

给你两个可行的解决思路:

  • 用Selenium模拟浏览器加载页面:
    Selenium会像真实浏览器一样加载页面并执行JS,等地图元素渲染完成后再抓取。示例代码如下:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    
    url = "https://www.rightmove.co.uk/properties/119854820#/?channel=RES_BUY"
    driver = webdriver.Chrome()  # 需提前安装ChromeDriver并配置环境变量
    driver.get(url)
    
    # 等待地图元素加载完成,选择器需根据实际渲染后的HTML调整
    map_link = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "a._1kck3jRw2PGQSOEy3Lihgp"))
    )
    map_url = map_link.get_attribute("href")
    print(map_url)
    
    driver.quit()
    
  • 抓取页面的API接口:
    打开浏览器开发者工具(F12)切换到「网络」标签,刷新页面后查找加载地图相关的API请求——Rightmove通常会在页面加载时调用接口获取房产位置信息,地图链接可能就藏在这些接口返回的JSON数据里。这种方法比Selenium更高效,无需模拟浏览器。

另外,你之前的代码有个小错误:content.select('div', {'class': '_38EHcC14J7Q40UwAPp10QP'})写法不对,select方法参数是CSS选择器,正确写法应为content.select('div._38EHcC14J7Q40UwAPp10QP'),不过就算改对,也因动态加载问题拿不到内容。


内容的提问来源于stack exchange,提问作者user3390486

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 15:01:14