HTML应用指南:利用GET请求获取全国领克经销商门店位置信息
领克(LYNK & CO)是以“都市对立美学”为设计哲学、以全球化技术平台(CMA架构)为基石,深度融合智能座舱、高阶驾驶辅助、数字服务生态与用户共创文化的高端智能汽车品牌,中国市场,领克持续推进“线上社群+线下体验”的新零售战略。自2017年首家领克中心落地以来,系统性构建以用户为中心的轻量化线下触点网络。目前已在北京、上海、广州、深圳、杭州、成都、武汉、西安、重庆、苏州、宁波、厦门等核心城市布局领克中心(LYNK & CO Club) 与授权体验店,并通过与高端购物中心(如万象城、IFS、大悦城)、城市文化地标及生活方式空间深度合作,设立品牌专属展区或限时互动快闪店,形成以领克中心为核心体验枢纽、商场体验店为流量触点、本地化交付与服务中心为服务支撑的立体化线下网络。
领克在全国主要城市设有两类线下实体:一是功能较完整的领克中心(LYNK & CO Club),通常位于城市核心商圈或汽车园区;二是规模较小的授权体验店,多设于高端购物中心或人流密集的商业综合体。此外,品牌也会在特定时期于地标性空间设置快闪展区。这些网点普遍不采用传统4S店模式,而是以开放空间设计为主,强调车型展示、座舱交互体验与用户服务功能。除车辆静态展示外,部分门店还提供试驾预约、交付办理、基础售后及会员活动支持,服务范围因城市和网点类型而异。
本文旨在通过程序化方式,调用领克官方公开接口,自动化采集全国授权体验店与领克中心的结构化数据。利用 Python 的 requests 库发起标准 HTTP GET 请求,可高效获取包含门店名称、省市区信息、详细地址、营业时间、经纬度坐标、联系电话及服务类型(如“试驾体验、车辆交付、售后支持、会员活动”)等字段的 JSON 响应。通过对这些数据的整合与地理可视化,我们不仅能清晰描绘领克当前线下服务网络的覆盖密度与区域策略,还可为潜在渠道拓展、用户就近试驾匹配、区域营销资源投放及社群活动选址提供可量化的决策依据——这正是“用数据理解用户触点网络”的一次实践,也呼应了领克一贯坚持的开放、透明、以用户为中心的品牌价值观,以及“不止于车”的未来出行生态愿景。
领克经销商门店查询地址:经销商门店-领克官网
首先,我们找到门店数据的存储位置,然后看3个关键部分标头、负载、 预览;
标头:通常包括URL的连接,也就是目标资源的位置;
负载:对于GET请求:负载通常包含了传递的参数,有些网页负载可能为空,或者没有负载,因为所有参数都通过URL传递,这里我们可以看到cityCode(行政区编码)等标签,没有进行加密;
预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段,我们可以看到数据在data里;
首先,我们观察到它的查询方式依然是通过不同地级行政区编码进行网点查询,那我们直接在"Fetch/XHR"先找到对应数据存储位置, 我们可以看到响应请求包含地级行政区编码对应内容的响应请求,另外,根据上面负载的内容,我们可以知道,数据是直接通过行政区编码进行传递的,为了方便我们可以建立一个包含地级行政区编码的字典,通过遍历行政区编码来查询全国数据;
接下来就是数据获取部分,先讲一下方法思路,一共七个步骤;
方法思路
- 1.遍历所有 省份(共 34 个,含直辖市、自治区等)
- 2.对每个省份的 regionId,调用接口:https://www.lynkco.com.cn/api/geely/lynk/region/GetCitiesByPro?regionId=219
- 3.解析返回的 城市列表(含 regionName, regionCode)
- 4.保存为 all_cities.csv,格式如下:
- 5.遍历每个城市的 regionCode,请求经销商门店信息数据,调用接口:lynkco.com.cn/api/geely/lynk/dealer/list?cityCode=330600&seriesCode=
- 6.提取关键字段:公司名、地址、电话、经纬度、评分等
- 7.汇总所有经销商数据,保存为 dealers.csv
第一步:这里,我直接把响应请求里面的34个省市、自治区数据复制出来当输入用了,省的再去调接口进行查询,接下来,利用requests库发送HTTP请求获取所有地级行政区的编码表,并根据标签进行保存,另存为csv;
完整代码#运行环境 Python 3.11
import requests
import csv
import time# 第一步:获取所有省份(也可从接口获取)
provinces = [{"regionCode": "450000", "regionId": "218", "regionName": "广西壮族自治区"},{"regionCode": "230000", "regionId": "219", "regionName": "黑龙江省"},{"regionCode": "360000", "regionId": "220", "regionName": "江西省"},{"regionCode": "320000", "regionId": "221", "regionName": "江苏省"},{"regionCode": "630000", "regionId": "222", "regionName": "青海省"},{"regionCode": "110000", "regionId": "223", "regionName": "北京市"},{"regionCode": "710000", "regionId": "224", "regionName": "台湾省"},{"regionCode": "540000", "regionId": "225", "regionName": "西藏自治区"},{"regionCode": "150000", "regionId": "226", "regionName": "内蒙古自治区"},{"regionCode": "420000", "regionId": "227", "regionName": "湖北省"},{"regionCode": "510000", "regionId": "228", "regionName": "四川省"},{"regionCode": "370000", "regionId": "229", "regionName": "山东省"},{"regionCode": "460000", "regionId": "230", "regionName": "海南省"},{"regionCode": "330000", "regionId": "231", "regionName": "浙江省"},{"regionCode": "640000", "regionId": "232", "regionName": "宁夏回族自治区"},{"regionCode": "140000", "regionId": "233", "regionName": "山西省"},{"regionCode": "340000", "regionId": "234", "regionName": "安徽省"},{"regionCode": "520000", "regionId": "201", "regionName": "贵州省"},{"regionCode": "430000", "regionId": "202", "regionName": "湖南省"},{"regionCode": "210000", "regionId": "203", "regionName": "辽宁省"},{"regionCode": "610000", "regionId": "204", "regionName": "陕西省"},{"regionCode": "650000", "regionId": "205", "regionName": "新疆维吾尔自治区"},{"regionCode": "820000", "regionId": "206", "regionName": "澳门特别行政区"},{"regionCode": "130000", "regionId": "207", "regionName": "河北省"},{"regionCode": "440000", "regionId": "208", "regionName": "广东省"},{"regionCode": "620000", "regionId": "209", "regionName": "甘肃省"},{"regionCode": "220000", "regionId": "210", "regionName": "吉林省"},{"regionCode": "310000", "regionId": "211", "regionName": "上海市"},{"regionCode": "350000", "regionId": "212", "regionName": "福建省"},{"regionCode": "810000", "regionId": "213", "regionName": "香港特别行政区"},{"regionCode": "530000", "regionId": "214", "regionName": "云南省"},{"regionCode": "120000", "regionId": "215", "regionName": "天津市"},{"regionCode": "500000", "regionId": "216", "regionName": "重庆市"},{"regionCode": "410000", "regionId": "217", "regionName": "河南省"}
]# 接口 URL
base_url = "https://www.lynkco.com.cn/api/geely/lynk/region/GetCitiesByPro"# 准备 CSV 文件
csv_file = "all_cities.csv"
with open(csv_file, mode='w', encoding='utf-8-sig', newline='') as f:writer = csv.writer(f)writer.writerow(['省份', '城市名称', 'regionId', 'regionCode'])total_count = 0for prov in provinces:prov_name = prov['regionName']region_id = prov['regionId']print(f"正在获取 {prov_name} (regionId={region_id}) 的城市...")try:response = requests.get(base_url, params={"regionId": region_id}, timeout=10)if response.status_code == 200:data = response.json()if data.get("code") == "success":cities = data.get("data", [])if not cities:# 如果没有城市(如直辖市可能直接是区),可考虑调用更细接口,但此处按现有逻辑处理print(f"{prov_name} 无下级城市数据")for city in cities:writer.writerow([prov_name,city['regionName'],city['regionId'],city['regionCode']])total_count += 1else:print(f"API 错误 ({prov_name}): {data.get('message')}")else:print(f"HTTP 错误 ({prov_name}): {response.status_code}")# 礼貌性延时,避免请求过快time.sleep(0.3)except Exception as e:print(f"请求异常 ({prov_name}): {e}")print(f"\n共获取 {total_count} 个城市,已保存到 {csv_file}")
数据会以csv表格的形式,保存在运行脚本的目录下,数据标签包括:省份、regionid(省份行政区编码)、城市名称、regionCcode(地级行政区编码);
第二步:利用requests库发送HTTP请求遍历375个地级行政区编码并获取所有领克经销商门店数据,并根据标签进行保存,另存为csv;
完整代码#运行环境 Python 3.11
import csv
import requests
import time
import osINPUT_FILE = "all_cities.csv"
OUTPUT_FILE = "dealers.csv"
DELAY = 0.6if not os.path.exists(INPUT_FILE):print(f"未找到 '{INPUT_FILE}'")exit(1)with open(OUTPUT_FILE, 'w', encoding='utf-8-sig', newline='') as f_out:writer = csv.writer(f_out)writer.writerow(['省份', '城市', 'cityCode','公司全称', '简称', '显示名称', '店铺类型','地址', '纬度', '经度','销售电话', '服务电话', '评分', '经销商编号'])total, success_cities = 0, 0with open(INPUT_FILE, encoding='utf-8-sig') as f_in:for row in csv.DictReader(f_in):city_code = row['regionCode']if not city_code or city_code == 'None':continueprovince, city = row['省份'], row['城市名称']print(f"{province} - {city} ({city_code})")try:resp = requests.get("https://www.lynkco.com.cn/api/geely/lynk/dealer/list",params={"cityCode": city_code, "seriesCode": ""},timeout=10)if resp.status_code == 200:data = resp.json()if data.get("code") == "success":dealers = data.get("data", [])for d in dealers:writer.writerow([province, city, city_code,d.get('companyname', ''),d.get('abbreviation', ''),d.get('otherName', ''),d.get('shopGenre', ''),d.get('address', ''),d.get('lat', ''),d.get('lng', ''),d.get('salesHotLine', ''),d.get('serviceHotline', ''),d.get('dealerScore', ''),d.get('agentNo', '')])total += 1print(f"{len(dealers)} 家" if dealers else "无数据")success_cities += 1else:print(f"API 错误: {data.get('message')}")else:print(f"HTTP {resp.status_code}")except Exception as e:print(f"异常: {e}")time.sleep(DELAY)print(f"\n完成!处理 {success_cities} 城市,共 {total} 家经销商 → {OUTPUT_FILE}")
获取数据标签如下,省份、城市、城市编码(city_code)、companyname(公司全称)、address(门店地址)、lng & lat(地理坐标)、dealerScore(评分)、shopGenre(店铺类型)、contactTel(网点电话),其他一些非关键标签,这里省略;
第三步:坐标系转换,由于领克经销商门店数据使用的是高德坐标系(GCJ-02),为了在ArcGIS上准确展示而不发生偏移,我们需要将门店的坐标从GCJ-02转换为WGS-84坐标系。我们可以利用coord-convert库中的gcj2wgs(lng, lat)函数,也可以用免费这个网站:批量转换工具:地图坐标系批量转换 - 免费在线工具;
对CSV文件中的门店坐标列进行转换,完成坐标转换后,再将数据导入ArcGIS进行可视化;
接下来,我们进行看图说话:
从整体布局来看,领克经销商网络呈现出明显的‘东密西疏、沿海优先’特征。在东部沿海地区,尤其是长三角、珠三角和京津冀城市群,门店密度极高,形成了以一线城市为核心、向周边二三线城市辐射的密集服务网络。例如,在上海、杭州、苏州、宁波、南京、广州、深圳、东莞等城市,每座城市均拥有10家以上经销商,部分城市如杭州、苏州甚至超过20家,显示出品牌在经济活跃地区的深度渗透与高覆盖策略。这些区域不仅是中国经济发展的引擎,也是消费能力最强的市场之一,对于高端品牌的接受度较高,因此成为领克重点布局的核心市场。
中西部地区则呈现梯度式覆盖,其中湖北、河南、四川、重庆、陕西等省份为第二梯队重点市场,门店数量较为可观,但单城密度显著低于东部。以武汉、成都、西安为例,这些省会城市普遍设有8–12家经销商,是区域销售和服务的核心节点。而在贵州、云南、广西等地,门店分布相对稀疏,多集中在省会城市及个别地级市,非省会城市的网点数量极少,部分地市尚无授权门店,反映出品牌在中西部市场的扩张仍处于“中心辐射”阶段。此外,随着国家对中西部地区的持续开发和扶持政策的实施,预计未来几年内,领克将在这一区域进一步扩大其线下触点网络,以满足不断增长的市场需求。
北方地区虽总体密度不及南方,但在环京圈、东北核心城市以及西北重要节点城市仍具备较强布局。北京、天津、沈阳、长春、哈尔滨、济南、郑州、太原等城市均有较完善的经销体系,且多数为“领克中心”或大型综合店,支持试驾、交付、售后一体化服务。值得注意的是,新疆、西藏、青海等边远省份的门店数量极少,仅乌鲁木齐、拉萨、西宁等少数城市有零星布局,这与当地人口密度、消费能力及物流成本密切相关,也表明品牌当前战略重心仍聚焦于人口密集、经济发达区域。尽管如此,随着新能源汽车市场的扩展和技术的进步,领克也在积极探索如何更好地服务于这些地理条件复杂、气候差异大的地区。
此外,门店类型存在明显差异:一线城市及省会城市以“领克中心”为主,通常配备完整的展厅、试驾区、客户休息区和售后服务车间;而二三线城市则更多采用“授权体验店”模式,功能相对简化,侧重展示与销售,部分门店未提供维修服务。这种“分级布点、轻重结合”的策略,既保障了核心市场的服务能力,又控制了下沉市场的运营成本,体现了领克在渠道建设上的理性规划。通过灵活调整不同级别市场的资源投入,领克能够更有效地响应各地消费者的实际需求,同时确保品牌服务标准的一致性和高质量用户体验。
文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。