HTML应用指南:利用GET请求获取智己汽车门店位置信息

智己汽车作为高端智能电动汽车品牌,深度融合先锋设计美学、纯电驱动技术、高阶智能驾驶与全场景出行服务,依托L7、LS7、LS6、L6等产品矩阵,打造兼具科技感与驾控乐趣的高端出行体验。在营销推广层面,智己摒弃传统4S店模式,创新采用"体验中心+用户中心"的新零售策略,系统构建以用户旅程为核心的全域触点网络。

目前,品牌已在北京、上海、广州、深圳、杭州、成都、武汉、西安、南京、苏州、重庆等一线及新一线城市核心商圈布局直营体验中心与交付中心,并战略性入驻上海BFC外滩金融中心、北京侨福芳草地、深圳万象城等高端商业综合体,通过沉浸式品牌展台、限时快闪活动与场景化互动装置,强化高端用户触达与社交传播效应。

这些空间不仅是销售终端,更是品牌价值传递与用户关系运营的营销阵地:用户可深度体验LS6的800V高压快充平台、LS7的奢享空间设计、L6的智能底盘调校,以及IM AD高阶智驾、"一键AI代驾"、Carlog智驾影像等创新功能,并直观感受车机与智己APP的无缝互联。门店采用极简艺术化设计,融合实车展示、智驾模拟舱、社群交流区与自助服务终端,营造高质感生活方式场景。部分旗舰门店更配备"专属用户主理人",提供从产品讲解、个性化试驾、上门交付到OTA远程升级、全周期管家服务的一站式陪伴,实现"认知---兴趣---体验---转化---忠诚"的完整营销闭环,持续强化智己"用户型企业"的高端品牌形象与口碑裂变能力。

本文旨在通过程序化方式,调用智己汽车官方公开接口,自动化采集全国智己汽车体验中心、交付中心及授权服务网点的结构化数据。利用 Python 的 requests 库发起标准 HTTP GET 请求,可高效获取包含门店名称、所属省市区、详细地址、营业时间、经纬度坐标、销售与服务热线、门店类型等字段的 JSON 响应。通过对这些数据的整合与地理可视化,我们不仅能清晰描绘智己汽车当前"高端化、直营化、体验化"的线下网络布局密度与区域渗透策略,还可为潜在渠道拓展、用户就近试驾匹配、区域营销资源精准投放等提供可量化的决策依据------这正是"用数据理解智己全直营服务网络"的一次实践,也深刻呼应了智己品牌"用户型企业""数据驱动、体验至上"的新时代价值观。

智己汽车线下门店查询地址:智己汽车线下体验中心|门店-IM智己汽车官网

首先,我们找到网点数据的存储位置,然后看3个关键部分标头、负载、 预览;

标头:通常包括URL的连接,也就是目标资源的位置;

负载:对于GET请求:负载通常包含了传递的参数,因为所有参数都通过URL传递,这里我们可以看到查询关键词,cityCode(市级行政区编码),经销商类型等标签,没有进行加密;

预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段,我们可以看到数据在data里;

接下来就是数据获取部分,先讲一下方法思路;

遍历所有市,这里他们使用的是国家官方的行政区编码,保存为 immotors_cities.csv,然后,通过得到的所有市的cityCode遍历每个市行政区编码,依次调用接口,这样就得到了全部市的门店数据;

方法思路

  1. 找到对应行政区编码数据存储位置,遍历所有市,保存为 immotors_cities.csv;
  2. 我们通过改变查询负载的内容(市级行政区编码),来遍历全国门店,获取所有门店的相关标签数据;
  3. 坐标转换,通过coord-convert库实现GCJ-02转WGS84;

**第一步:**利用requests库发送HTTP请求获取所有市级行政区的编码表,并根据标签进行保存,另存为csv;

完整代码#运行环境 Python 3.11

python 复制代码
import requests
import pandas as pd

# 请求URL
url = "https://www.immotors.com/website/api/portal/portal-unify/v4/c/dealer/city"

# 发送GET请求
response = requests.get(url)

# 检查请求是否成功
if response.status_code == 200:
    # 解析JSON响应
    data = response.json()

    # 提取data部分
    city_data = data.get('data', [])
    # 将数据转换为DataFrame
    df = pd.DataFrame(city_data)

    # 保存为CSV文件
    df.to_csv('immotors_cities.csv', index=False, encoding='utf-8-sig')

    print("数据已成功保存到immotors_cities.csv")
else:
    print(f"请求失败,状态码: {response.status_code}")

数据会以csv表格的形式,保存在运行脚本的目录下,数据标签包括:cityCode(市行政区编码)、cityName(市行政区名称);

**第二步:**利用requests库发送HTTP请求遍历以设立门店的166个市级编码并获取所有智己门店数据,并根据标签进行保存,另存为csv;

完整代码#运行环境 Python 3.11

python 复制代码
import requests
import csv
import time

# 添加请求头,模拟真实浏览器
HEADERS = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36"
}

def load_city_codes(file):
    try:
        with open(file, "r", encoding="utf-8-sig") as f:
            return [row["cityCode"].strip() for row in csv.DictReader(f) if row.get("cityCode", "").strip()]
    except Exception as e:
        print(f"读取 {file} 失败: {e}")
        return []

def fetch_dealers(city_code, retries=2):
    url = "https://www.immotors.com/website/api/portal/portal-unify/v4/c/dealer/city/dealerList"
    params = {
        "count": 100,
        "lastItem": 0,
        "cityCode": city_code,
        "dealerType": "10011001,10011002"   # 体验中心 + 交付中心
    }
    for attempt in range(retries + 1):
        try:
            resp = requests.get(url, params=params, headers=HEADERS, timeout=10)
            data = resp.json()
            if resp.status_code == 200 and data.get("resultCode") == "200":
                return data.get("data", {}).get("blocks", [])
            else:
                print(f"城市 {city_code} 返回非成功状态: {data.get('message', '未知错误')}")
                return []
        except Exception as e:
            if attempt < retries:
                wait = 2 ** attempt  # 指数退避:1s, 2s, 4s...
                print(f"城市 {city_code} 第 {attempt + 1} 次失败,{wait} 秒后重试: {e}")
                time.sleep(wait)
            else:
                print(f"城市 {city_code} 最终失败: {e}")
                return []

def main():
    city_codes = load_city_codes("immotors_cities.csv")
    if not city_codes:
        return

    fields = [
        "dealerCode", "dealerName", "cityName", "address",
        "dealerPhone", "businessTime", "viewBusinessTime",
        "latitude", "longitude"
    ]

    total = 0
    with open("zhi_ji_dealers.csv", "w", encoding="utf-8-sig", newline="") as f:
        writer = csv.DictWriter(f, fieldnames=fields)
        writer.writeheader()

        for i, code in enumerate(city_codes, 1):
            print(f"[{i}/{len(city_codes)}] 获取城市 {code} 的门店...")
            dealers = fetch_dealers(code)
            rows = []
            for d in dealers:
                business_info = d.get("businessInfo") or {}
                rows.append({
                    "dealerCode": d.get("dealerCode"),
                    "dealerName": d.get("dealerName"),
                    "cityName": d.get("cityName"),
                    "address": d.get("address"),
                    "dealerPhone": d.get("dealerPhone"),
                    "businessTime": d.get("businessTime"),
                    "viewBusinessTime": business_info.get("viewBusinessTime"),
                    "latitude": d.get("addressLatitude"),
                    "longitude": d.get("addressLongitude")
                })
            writer.writerows(rows)
            total += len(rows)
            time.sleep(0.5)

    print(f"\n完成!共获取 {total} 家门店,已保存至zhi_ji_dealers.csv")

if __name__ == "__main__":
    main()

获取数据标签如下,dealerCode(门店ID)、dealerName(门店名称)、address(门店地址)、dealerPhone(销售电话)、viewBusinessTime(营业时间)、lng & lat(地理坐标),其他一些非关键标签,这里省略;

第三步: 坐标系转换,由于智己门店数据使用的是高德坐标系(GCJ-02),为了在ArcGIS上准确展示而不发生偏移,我们需要将门店的坐标从GCJ-02转换为WGS-84坐标系。我们可以利用coord-convert库中的gcj2wgs(lng, lat)函数,也可以用免费这个网站:批量转换工具:地图坐标系批量转换工具 - 免费在线转换器

对CSV文件中的门店坐标列进行转换,完成坐标转换后,再将数据导入ArcGIS 进行可视化;

接下来,我们进行看图说话:

第一段:空间分布特征

智己汽车门店呈现显著的"东密西疏、沿海集聚"格局。高密度区域集中于长三角(上海、苏州、杭州、南京)、珠三角(广州、深圳、佛山)及京津冀(北京、天津、石家庄),三地合计占比超50%;中西部仅成都、重庆、西安等新一线核心城市有较密集布点,其余省份多为单点覆盖。门店数量与区域经济水平、高端新能源消费潜力高度正相关,反映出品牌初期聚焦高购买力市场的策略。

第二段:城市层级渗透情况

从城市能级看,一线城市(北上广深)门店数量最多且多为直营旗舰店;新一线城市(如杭州、南京、武汉、成都)以标准店+体验中心组合为主;普通地级市(如芜湖、柳州、洛阳)普遍仅1家授权店,且多依附于传统豪华/合资品牌4S店。值得注意的是,部分三四线城市(如台州、泉州、临沂)出现门店布局,显示品牌正试探下沉市场,但尚未形成网络效应。

第三段:战略缺口与机会

当前明显空白区域包括:东北全域(除沈阳、大连外几乎无覆盖)、西北内陆(甘肃、宁夏、青海、西藏无门店)、西南非省会城市(如贵州、云南多数地州缺失)。此外,地图中港澳台地区虽有少量标注(如台北、香港),但未见明确门店信息,国际化拓展尚处早期。建议下一阶段在成渝、长江中游城市群加强加密,在政策支持的新能源示范区(如合肥、郑州)设立区域服务中心,同时评估华南县级市试点可行性。

总结:智己门店网络已构建起"高势能核心圈",但广度与韧性不足,亟需从"密度优先"转向"结构优化"

当前布局有效支撑了品牌在高端新能源市场的声量建立与首批用户触达; 然而,过度依赖东部沿海高线城市导致抗风险能力弱 ------一旦区域政策收紧或竞品加速下沉,市场增量将迅速见顶. 未来应聚焦三方面升级:

1)加密中西部枢纽节点(如成都、西安、武汉)作为区域服务中心,辐射周边300km半径;

2)进入潜力三四线,降低单店投入门槛;

3)结合地方补贴政策、充电基建密度与竞品网点重合度,动态调整拓店优先级。

唯有实现"核心稳固、腰部扎实、边缘试探"的三级网络结构,方能支撑智己从"新势力标杆"迈向"主流豪华电动品牌"的长期目标.

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

相关推荐
码界筑梦坊2 小时前
132-基于Python的中老年体检数据可视化分析系统
开发语言·python·信息可视化·flask·毕业设计
大飞记Python2 小时前
【2026更新】Python基础学习指南(AI版)——06函数
开发语言·人工智能·python
xing-xing2 小时前
Anaconda学习总结
python
爱吃苹果的梨叔2 小时前
2026分布式坐席系统推荐:指挥中心、调度中心、机房集中管控该怎么选?
python
liuhl09102 小时前
Python 列表推导式
python
测试19989 小时前
软件测试 - 单元测试总结
自动化测试·软件测试·python·测试工具·职场和发展·单元测试·测试用例
LaughingZhu11 小时前
Product Hunt 每日热榜 | 2026-05-21
前端·人工智能·经验分享·chatgpt·html
曲幽11 小时前
我用了FastApiAdmin后,连夜把踩过的坑都整理出来了
redis·python·postgresql·vue3·fastapi·web·sqlalchemy·admin·fastapiadmin
前端若水13 小时前
会话管理:创建、切换、删除对话历史
前端·人工智能·python·react.js