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

Python+Selenium爬取房产网站图片 如何按公寓分独立文件夹存储

代码修改方法

你需要调用Python标准库os完成文件夹创建逻辑,修改后的完整代码如下:

import os
import time
import requests
from selenium import webdriver

# 这里替换成你自己的driver初始化逻辑
driver = webdriver.Chrome()

# 你已经整理好的公寓链接列表
links = []
# 新增公寓编号计数器,用来给文件夹命名
apartment_idx = 1
# 统一的根保存路径,避免重复写长路径
root_save_path = "C:/Users/potek/Jupyter_projects/apartments/"

for link in links:
    url = link
    driver.get(url)
    # ========== 新增:创建当前公寓的专属文件夹 ==========
    current_folder = os.path.join(root_save_path, f"apartment{apartment_idx}")
    # exist_ok=True表示如果文件夹已经存在就不报错,直接用
    os.makedirs(current_folder, exist_ok=True)

    # 原代码的爬图逻辑,顺便修正了你之前的缩进错误(之前翻页逻辑没放在circles循环里,会漏图)
    circles = len(driver.find_elements_by_class_name("svg-inline--fa.fa-circle.fa-w-16.css-1xkwzfp"))+1
    print("公寓{}共找到{}张照片".format(apartment_idx, circles))

    images_urls = set()
    for n in range(circles):
        images_containers = driver.find_element_by_class_name("css-ze3zoq").find_elements_by_tag_name("img")
        for image in images_containers:
            images_urls.add(image.get_attribute("src"))
        # 最后一张图不用点下一页
        if n < circles -1:
            driver.find_element_by_class_name("css-11m3oda.excbu0j2").click()
        # 加个短等待,避免图片还没加载完就抓
        time.sleep(0.5)

    # 下载图片到当前公寓的文件夹
    for img_idx, img_url in enumerate(images_urls):
        # 拼接保存路径:当前文件夹/图片序号.jpg
        save_path = os.path.join(current_folder, f"{img_idx+1}.jpg")
        with open(save_path, "wb") as f:
            f.write(requests.get(img_url).content)
    
    # 处理完一套公寓,编号+1
    apartment_idx += 1

driver.quit()

核心改动说明

  • 用os.makedirs在每次处理单套公寓前创建专属文件夹,命名规则就是你要求的apartment1、apartment2依次递增
  • 下载图片时用os.path.join拼接路径,自动适配系统的路径分隔符,避免手动写路径出错
  • 顺便修正了你原代码里的缩进逻辑错误,原来的翻页和图片抓取逻辑没有放在翻页循环里,会导致只能抓到最后一页的图片
  • 给图片按序号命名,比之前用时间戳更清晰,也不会出现同批次图片因为生成时间太近重名的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:06:04