You need to enable JavaScript to run this app. 如何使用Python将爬取的房产数据存储到CSV并实现索引处理
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python将爬取的房产数据存储到CSV并实现索引处理

数据提取与存储实现方法

1. 索引提取目标字段

  • 若你手上的输出还保留基础HTML标签,推荐用BeautifulSoup库解析索引,比正则匹配稳定性高:可以通过标签名、class属性定位到所有房源数据行,再提取文本内容。
  • 若已经是清理完标签的纯文本,且每条数据的字段排列顺序固定、有统一分隔符(空格/制表符等),直接按分隔符切割文本后,用列表索引取值即可,索引从0开始计数。
  • 若字段顺序不固定,可以用关键字匹配定位:比如包含「平」「㎡」的内容对应Area字段,包含「室」「bedroom」的内容对应Bedroom字段。

2. 写入CSV文件

直接用Python内置的csv模块即可实现,不需要额外安装第三方依赖,示例代码如下:

from bs4 import BeautifulSoup
import csv
import requests

# 第一步:请求获取目标页面内容
url = "你要请求的目标URL"
resp = requests.get(url)
html_content = resp.text

# 第二步:解析提取目标字段
soup = BeautifulSoup(html_content, "html.parser")
# 这里的标签筛选规则需要根据你实际的页面结构调整,示例为筛选所有class为house-item的元素
house_items = soup.find_all(class_="house-item")

# 定义CSV表头
csv_headers = ["Area", "Bedroom", "Location", "Price", "楼层"]
data_list = []

for item in house_items:
    # 提取单条房源的纯文本,按空格切割为列表
    item_text = item.get_text(strip=True)
    info_list = item_text.split()
    # 按索引取对应字段,需要根据你实际的字段顺序调整索引值
    area = info_list[0]
    bedroom = info_list[1]
    location = info_list[2]
    price = info_list[3]
    floor = info_list[4]
    data_list.append([area, bedroom, location, price, floor])

# 第三步:写入CSV文件
with open("house_data.csv", "w", encoding="utf-8-sig", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(csv_headers)
    writer.writerows(data_list)

注意事项

  • 代码中的标签筛选规则、字段索引位置需要根据你实际的输出内容调整,和你的数据结构匹配即可运行。
  • 用utf-8-sig编码写入CSV可以避免打开文件时出现中文乱码的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 14:54:02