HTML应用指南:利用POST请求获取中国一汽红旗门店位置信息
中国一汽红旗是以“新高尚精致主义”为品牌内核,深度融合东方美学、尖端电动化技术、智能网联与全场景出行服务的高端自主汽车品牌。始终秉持“中国式新高尚精致主义”的产品哲学,致力于通过红旗E-HS9、EH7、H9、HS7等旗舰车型,为用户打造兼具民族自信、科技温度与豪华质感的智慧出行体验。在中国市场,红旗持续推进“线上直连+线下沉浸”的新零售战略,自2022年起系统性构建以用户为中心的全域触点网络,目前已在北京、上海、广州、深圳、杭州、成都、武汉、西安、长春、沈阳、济南、南京等核心城市布局红旗体验中心(Hongqi Experience Center) 与智联旗境空间(Hongqi Smart Space),并通过与高端商业综合体(如北京SKP、上海环贸iapm、成都IFS)、机场贵宾厅、城市文化地标及红旗自有展厅深度协同,设立品牌专属体验区或限时互动展台,形成以红旗体验中心为核心、高端商圈专区为延伸、区域交付服务中心为支撑的轻量化、高质感线下服务生态。
这些线下触点并非传统4S店,而是承载“人·车·生活”东方智慧出行理念的沉浸式交互空间。用户可在店内深度体验红旗EH7的超长续航与快充能力、E-HS9的豪华智能座舱、H9的国雅设计语言,直观感受红旗智联3.0系统的多端协同能力、“红旗精灵”AI语音助手的自然语义理解、L2+级智能驾驶辅助的实际表现,以及与红旗智联APP、智能家居、数字钥匙的无缝互联。门店普遍采用“尚·致·意”设计语言——以东方意境融合现代科技:设有实车静态与动态体验区、红旗智联交互台、智能驾驶模拟舱、国潮文化展示墙,以及自助式数字服务终端。部分旗舰店(如北京金宝街红旗体验中心、上海静安嘉里中心智联旗境、深圳万象城红旗空间)还配备“红旗出行顾问”,可基于用户身份标签(如企业家、新锐家庭、国风爱好者、科技先锋)提供定制化购车与用车方案,并支持现场预约试驾、上门交付、远程OTA升级、终身质保及全生命周期专属服务,真正实现“认知—体验—决策—交付—陪伴”一体化闭环。
本文旨在通过程序化方式,调用红旗官方公开接口,自动化采集全国红旗体验中心、智联旗境空间及授权服务网点的结构化数据。利用 Python 的 requests 库发起标准 HTTP POST 请求,可高效获取包含门店名称、所属省市区、详细地址、营业时间、经纬度坐标、销售与服务热线、门店类型(如“体验中心、交付中心、售后服务站”)等字段的 JSON 响应。通过对这些数据的整合与地理可视化,我们不仅能清晰描绘红旗当前“高端化、数字化、体验化”的线下网络布局密度与区域渗透策略,还可为潜在渠道拓展、用户就近试驾匹配、区域营销资源精准投放等提供可量化的决策依据——这正是“用数据理解红旗新高尚服务网络”的一次实践,也深刻呼应了红旗品牌“一切为了用户”“技术立身、体验至上”的新时代价值观。
中国一汽红旗线下门店查询地址:中国一汽红旗官方网站_经销商查询
首先,我们找到网点数据的存储位置,然后看3个关键部分标头、负载、 预览;
标头:通常包括URL的连接,也就是目标资源的位置;
负载:对于POST请求:负载通常包含了传递的参数,因为所有参数都通过URL传递,这里我们可以看到查询关键词,cityCode(地级行政区编码),时间戳等标签,没有进行加密;
预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段,我们可以看到数据在data里;
接下来就是数据获取部分,先讲一下方法思路,一共七个步骤;
方法思路
- 1.遍历所有省份(共 34 个,含直辖市、自治区等),这里他们使用的是网站自定义的编码,保存为 hongqi_provinces.csv;
- 2.通过得到的所有省份的 provinceCode遍历每个省级行政区编码,依次调用接口,这样就得到了全部地级行政区编码;
- 3.解析返回的 城市列表(含 regionName, regionCode),保存为 hongqi_cities.csv;
- 4.遍历每个城市的 regionCode,请求经销商门店信息数据,依次调用接口;
- 5.采集全国所有城市下的红旗授权经销商信息,并保存为hongqi_dealers.csv 文件,包含关键字段如门店名称、地址、电话、经纬度等;
这里我画了一个流程图;
第一步:利用requests库发送HTTP请求获取所有省级行政区的编码表,并根据标签进行保存,另存为csv;
完整代码#运行环境 Python 3.11
import requests
import csvurl = "https://hongqi.faw.cn/frontapi/PCD/all-province"
headers = {"User-Agent": "Mozilla/5.0","Content-Type": "application/json"
}
payload = {"sortType": 0, "t": 0}response = requests.post(url, json=payload, headers=headers)
data = response.json()with open("hongqi_provinces.csv", "w", encoding="utf-8-sig", newline="") as f:writer = csv.writer(f)writer.writerow(["provinceName", "provinceCode"])for p in data["data"]:writer.writerow([p["provinceName"], p["provinceCode"]])print("已保存到 hongqi_provinces.csv")
数据会以csv表格的形式,保存在运行脚本的目录下,数据标签包括:provinceName(省级行政区名称)、provinceCcode(省级行政区编码);
第二步:利用得到的所有省份的 provinceCode遍历每个省级行政区编码,依次调用接口,获取地级行政区编码表;
import requests
import csv
import time# === 第一步:获取所有省份 ===
province_url = "https://hongqi.faw.cn/frontapi/PCD/all-province"
headers = {"User-Agent": "Mozilla/5.0","Content-Type": "application/json"
}
resp = requests.post(province_url, json={"sortType": 0, "t": 0}, headers=headers)
provinces = resp.json()["data"]# === 第二步:遍历每个省份,获取其下属城市 ===
city_url = "https://hongqi.faw.cn/frontapi/PCD/city-list-by-province"
all_cities = []for p in provinces:code = p["provinceCode"]payload = {"provinceCode": code, "t": int(time.time() * 1000)}res = requests.post(city_url, json=payload, headers=headers)# 有些省份可能无城市数据(如直辖市可能返回空或特殊结构),做安全处理city_data = res.json().get("data", [])if isinstance(city_data, list):for city in city_data:all_cities.append({"provinceCode": code,"cityName": city.get("cityName", ""),"cityCode": city.get("cityCode", "")})else:# 若返回非列表(如直辖市直接返回对象),也可按需处理pass# === 第三步:保存为 CSV ===
with open("hongqi_cities.csv", "w", encoding="utf-8-sig", newline="") as f:writer = csv.DictWriter(f, fieldnames=["provinceCode", "cityName", "cityCode"])writer.writeheader()writer.writerows(all_cities)print(f"共获取 {len(all_cities)} 个城市,已保存至 hongqi_cities.csv")
数据会以csv表格的形式,保存在运行脚本的目录下,数据标签包括:cityName(地级行政区名称)、cityCcode(地级行政区编码);
第三步:利用requests库发送HTTP请求遍历345个地级行政区编码并获取所有中国一汽红旗授权门店数据,并根据标签进行保存,另存为csv;
完整代码#运行环境 Python 3.11
import requests
import csv
import time
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry# === 创建带重试的 session ===
retry = Retry(total=3, backoff_factor=1, status_forcelist=[500, 502, 503, 504])
session = requests.Session()
session.mount("https://", HTTPAdapter(max_retries=retry))
headers = {"User-Agent": "Mozilla/5.0", "Content-Type": "application/json"}# 1. 获取所有城市(含省份)
cities = []
for p in session.post("https://hongqi.faw.cn/frontapi/PCD/all-province", json={"sortType": 0, "t": 0}, headers=headers).json()["data"]:for c in session.post("https://hongqi.faw.cn/frontapi/PCD/city-list-by-province", json={"provinceCode": p["provinceCode"], "t": int(time.time() * 1000)}, headers=headers).json().get("data", []):if isinstance(c, dict):cities.append({"provinceCode": p["provinceCode"],"provinceName": p["provinceName"],"cityCode": c.get("cityCode"),"cityName": c.get("cityName")})print(f"共 {len(cities)} 个城市,开始采集经销商...")# 2. 采集经销商(带重试 + 间隔 + 异常兜底)
dealers = []
for city in cities:try:res = session.post("https://hongqi.faw.cn/frontapi/dealer/dealer-list-by-city-code",json={"cityCode": city["cityCode"],"salesRegion": "","dealerType": "","t": int(time.time() * 1000)},headers=headers,timeout=15 # 稍微延长超时)for d in res.json().get("data", []):if d.get("dealerStatus") == "开业":dealers.append({"provinceCode": city["provinceCode"],"provinceName": city["provinceName"],"cityName": city["cityName"],"dealerName": d.get("dealerName", ""),"dealerShortName": d.get("dealerShortName", ""),"address": d.get("address", ""),"salesHotline": d.get("salesHotline", ""),"serviceCall": d.get("serviceCall", ""),"dealerType": d.get("dealerType", ""),"businessType": d.get("businessType", ""),"shopType": d.get("shopType", ""),"salesRegionName": d.get("salesRegionName", ""),"dealerCode": d.get("dealerCode", ""),"longitude": d.get("longitude", ""),"latitude": d.get("latitude", "")})except Exception as e:print(f"城市 {city['cityName']} 失败: {e}")time.sleep(0.3) # 控制频率# 3. 保存
fields = ["provinceCode", "provinceName", "cityName", "dealerName", "dealerShortName","address", "salesHotline", "serviceCall", "dealerType", "businessType","shopType", "salesRegionName", "dealerCode", "longitude", "latitude"
]
with open("hongqi_dealers.csv", "w", encoding="utf-8-sig", newline="") as f:csv.DictWriter(f, fieldnames=fields).writeheader()csv.DictWriter(f, fieldnames=fields).writerows(dealers)print(f"完成!共采集 {len(dealers)} 家经销商")
获取数据标签如下,provinceName(省份行政区名称)、cityName(地级行政区名称)、address(门店地址)、salesHotline(销售电话)、serviceCall(服务电话)、dealerType(门店类型)、lng & lat(地理坐标),其他一些非关键标签,这里省略;
第四步:坐标系转换,由于中国一汽红旗授权门店数据使用的是高德坐标系(GCJ-02),为了在ArcGIS上准确展示而不发生偏移,我们需要将门店的坐标从GCJ-02转换为WGS-84坐标系。我们可以利用coord-convert库中的gcj2wgs(lng, lat)函数,也可以用免费这个网站:批量转换工具:地图坐标系批量转换 - 免费在线工具;
对CSV文件中的门店坐标列进行转换,完成坐标转换后,再将数据导入ArcGIS进行可视化;
接下来,我们进行看图说话:
从整体布局来看,红旗品牌的线下服务网络呈现出“东部密集、中部拓展、西部覆盖、东北深耕”的全国性战略布局。 经销商网点高度集中在京津冀、长三角、珠三角三大核心城市群,形成以北京、上海、广州、深圳、杭州、南京、苏州、武汉、成都、西安为枢纽的“黄金三角+多极联动”格局。其中,华东地区(尤其是江苏、浙江、安徽)是红旗渠道最密集的区域,单省门店数量超过百个,充分体现了其在高消费力、高汽车渗透率市场的优先级布局。而华北和华南地区也形成了较强的网络支撑,尤其在一线城市及新一线城市周边,几乎实现“一城一店”甚至“一城多店”的全覆盖。
在重点城市中,北京、上海、广州、深圳四大直辖市与计划单列市均设有多个旗舰店或体验中心,且普遍位于城市核心商圈(如北京朝阳区、上海静安区、深圳南山商业圈),彰显了红旗品牌“高端化、国际化”的市场定位。 此外,东北老工业基地作为红旗的“根脉之地”,表现出极强的品牌忠诚度与渠道密度——辽宁沈阳、吉林长春、黑龙江哈尔滨三省会城市不仅拥有旗舰展厅,还配套建设了完善的售后服务体系,部分门店甚至承担区域总部职能。值得注意的是,新疆乌鲁木齐、西藏拉萨、青海西宁等地虽地处偏远,但也已实现基础覆盖,表明红旗正在推进“全国无盲区”的品牌渗透战略,既体现国家责任担当,也为未来政策导向型市场(如新能源补贴、民族地区发展)预留空间。
从区域差异角度看,华中与西南地区的布局正加速追赶,但密度仍明显低于东部沿海。 湖北武汉、湖南长沙、四川成都、重庆等地已形成区域性服务中心,但多数城市仍以单一门店为主,尚未形成“体验+交付+服务”三位一体的闭环生态。相比之下,东南沿海省份如福建、广东、广西则展现出强劲的增长势头,尤其是在厦门、泉州、东莞、佛山等制造业与外贸重镇,红旗通过与本地高端汽贸集团合作,快速布点,抢占新能源高端车市场份额。同时,海南三亚、海口等旅游城市也出现布局迹象,这可能与红旗推动“文旅+出行”融合场景有关,例如为高端游客提供定制化用车服务。
综合来看,红旗的经销商网络已具备“全国可触达、重点深扎根、资源精准投”的成熟特征。 其布局逻辑清晰:在一线及新一线城市强化品牌势能,在二三线城市构建服务半径,在欠发达地区保障基本覆盖。这种“金字塔式”结构不仅服务于当前销售目标,更预示着未来向智能化、数字化、全生命周期服务升级的战略方向。随着红旗新能源车型(如EH7、EHS9)销量持续攀升,预计下一阶段将加大对三四线城市的体验中心投入,推动“线上预约+线下沉浸+上门服务”模式下沉,真正实现“让每一位用户都能便捷地感受到红旗的高尚与精致”。
文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。