HTML应用指南:利用GET请求获取全国奥迪授权经销商门店位置信息

奥迪(Audi)作为全球领先的豪华汽车制造商,始终秉持"突破科技,启迪未来"(Vorsprung durch Technik)的品牌精神,致力于为客户提供前沿的智能出行体验与尊贵的服务体系。在中国市场,奥迪依托"以用户为中心的数字化服务生态",持续推进"奥迪经销商网络体系升级战略",构建覆盖全国一二线核心城市、辐射三四线潜力市场的高品质授权经销商网络,形成以"城市展厅、旗舰体验中心、卫星服务中心、快修便捷站"多层级协同的服务矩阵。

授权经销商门店是获取奥迪销售与服务网点信息的关键实体,涵盖车辆展示、试驾支持、交付执行、售后维修、保养预约及零配件供应等核心业务功能。在数据采集与渠道建模场景中,每家门店可抽象为一个具备多维属性的空间节点,其结构化数据字段通常包括:精确地理坐标、省市区三级行政区划、详细街道地址、联系电话、营业时间等。此类数据不仅可用于构建全国范围的渠道热力图与服务覆盖模型,还可结合人口、交通、竞品分布等外部数据集,支撑选址优化、资源调度、区域饱和度分析等商业智能决策。

本文将系统探讨如何通过程序化数据采集技术,利用标准 HTTP GET 请求,调用奥迪中国官方或其授权合作服务平台所提供的公开数据接口,实现对全国范围内奥迪授权经销商门店信息的自动化、规模化采集。借助 Python 生态中成熟稳定的 requests 库,我们可高效发起网络请求,精准捕获接口返回的结构化 JSON 数据,并从中提取关键业务字段,包括但不限于:门店全称、所属省/市/区县三级行政区划、详细地址、开业时间、高精度地理坐标(WGS-84 或 GCJ-02)、官方预约联系电话、是否支持新能源车型服务等核心维度。这一过程不仅是一次高效的数据抓取,更是对奥迪中国庞大线下服务网络的一次数字化测绘与空间建模。通过对采集数据的清洗、去重、地理编码、空间关联与可视化分析,我们得以构建一张动态、可交互、可深度挖掘的"奥迪经销商地理信息图谱",从而支持市场覆盖分析、渠道效能评估、竞品对标研究、门店选址优化等多维度商业智能决策。

奥迪经销商门店查询地址:上汽奥迪Audi汽车品牌官网 | 门店查询

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

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

**负载:**对于GET请求:负载通常包含了传递的参数,有些网页负载可能为空,或者没有负载,因为所有参数都通过URL传递,这里我们可以看到searchtype= 0,等一些空标签,没有进行加密;

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

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

方法思路

  1. 找到对应门店数据存储位置,利用get请求获取所有门店数据;
  2. 选取部分关键标签数据,另存为csv;
  3. 坐标转换,通过coord-convert库实现GCJ-02转WGS84;

一般方法就是找到对应行政区编码、名称的存储位置,生成一个行政区对应关系编码字典;我们通过改变查询负载的内容(各级行政区编码、名称),来遍历全国门店,获取所有门店的相关标签数据,但是这里在他请求位置信息的时候不进行点击,这时候他默认加载的就是全部的门店数据,但是不是所有网页都是如此,同时因为是GET请求,那么我们直接找到对应响应请求,并根据标签获取全部数据,即可;

经过测试发现,允许他获取当前位置信息,也会加载全部的门店数据,所以我们直接获取全部数据即可,不用按先获取行政区编码、名称,然后全国遍历的思路进行获取,当然那种方法也是可行的,之前的文章有多篇相似的思路,可以作为参考;

如果需要尝试的小伙伴,可以先找到对应行政区名称、编码数据的位置,负载部分参数是省级行政区编码、名称+地级行政区编码、名称即可进行遍历;

**第一步:**利用requests库发送HTTP请求获取所有奥迪门店数据,并根据标签进行保存,另存为csv;

完整代码#运行环境 Python 3.11

python 复制代码
import requests
import pandas as pd
import json
# 目标 URL 和请求参数
url = "https://audi.saic-audi.cn/api-ow/audi-business-frontend/Dealer/getDealerListByOfficialWebsite"
params = {
    "searchType": "0",
    "searchEnum": "",
    "provinceName": "",
    "provinceCode": "",
    "cityName": "",
    "cityCode": "",
    "phoneOrName": "",
    "latitude": "",
    "longitude": "",
    "checked": "",
    "sortOrder": "1"
}
# 请求头
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36",
    "Referer": "https://www.audi.cn/cn/web/zh/dealer-locator.html",
    "Origin": "https://www.audi.cn",
    "Accept": "application/json, text/plain, */*",
    "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8",
    "Accept-Encoding": "gzip, deflate, br",
    "Connection": "keep-alive",
    "Sec-Fetch-Dest": "empty",
    "Sec-Fetch-Mode": "cors",
    "Sec-Fetch-Site": "same-site",
    "Host": "audi.saic-audi.cn"
}
try:
    print("正在请求奥迪经销商数据...")
    response = requests.get(url, headers=headers, params=params, timeout=15)

    if response.status_code == 200:
        data = response.json()
        print("\n=== 原始返回结构 ===")
        print(json.dumps(data, ensure_ascii=False, indent=2)[:1000], "...")

        if str(data.get("code")) in ["00", "0", "200"] and isinstance(data.get("data"), list):
            dealers = data["data"]
            print(f"\n共获取到 {len(dealers)} 家经销商")

            # 提取关键字段
            extracted_data = [{
                "areaCode": dealer.get("areaCode", ""),
                "areaName": dealer.get("areaName", ""),
                "cityCode": dealer.get("cityCode", ""),
                "cityName": dealer.get("cityName", ""),
                "dealerFullName": dealer.get("dealerFullName", ""),
                "dealerAdrress": dealer.get("dealerAdrress", ""),
                "dealerName": dealer.get("dealerName", ""),
                "dealerPhone": dealer.get("dealerPhone", ""),
                "latitude": dealer.get("latitude", ""),
                "longitude": dealer.get("longitude", ""),
                "provinceCode": dealer.get("provinceCode", ""),
                "provinceName": dealer.get("provinceName", "")
            } for dealer in dealers]

            # 保存为 CSV 文件
            df = pd.DataFrame(extracted_data)
            output_file = "audi_dealers_final.csv"
            df.to_csv(output_file, index=False, encoding="utf-8-sig")
            print(f"\n数据已成功保存至 '{output_file}'")
        else:
            print(f"返回数据结构异常或无经销商数据: code={data.get('code')}, message={data.get('message', '无')}")
    else:
        print(f"服务器返回非200状态码: {response.status_code}")

except Exception as e:
    print(f"请求或处理过程中出现错误: {e}")

这里有一个tips:1、一般信息返回状态码都是code == 200,这里是code == 00,所以需要注意一下;

获取数据标签如下:provinceName(省级行政区)、cityName(地级行政区)、areaName(县级行政区)、dealerAdrress(门店地址)、lat&lng(地理坐标)、dealerName(门店名称)、dealerPhone(电话),其他一些非关键标签,这里省略;

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

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

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

首先,集中度高是其最明显的特征之一 。在东部沿海地区 ,如长三角(上海、江苏、浙江)、珠三角(广东)以及京津冀(北京、天津、河北)等经济发达区域,奥迪门店的分布最为密集 。这些地区不仅人口密集、经济活跃,而且消费能力较强,因此对高端汽车品牌的需求较大。此外,中部城市如武汉、郑州、合肥等也显示出较高的经济发展水平和消费能力,拥有较多的奥迪门店。

其次,南北差异明显 。总体来看,南方地区的奥迪门店数量明显多于北方,这可能与南方地区气候条件较好、经济发展更为均衡有关。然而,东北地区的奥迪门店相对较少,这可能与其正在进行的经济转型过程以及人口外流现象有关。

再者,西部和西北部地区的奥迪门店分布较为稀疏 。例如新疆、青海、西藏、甘肃等地,由于地理环境复杂、人口密度低、经济相对欠发达,导致高端汽车品牌的市场需求较小。尽管如此,作为新疆首府的乌鲁木齐仍有一定的奥迪门店分布,这体现了它作为区域中心城市的经济地位。

另外,一线城市和新一线城市的奥迪门店分布尤为突出北京、上海、广州、深圳等一线城市的奥迪门店数量最多,这些城市不仅是政治、经济、文化中心,也是高端消费的主要市场。与此同时,像成都、杭州、南京、重庆这样的新一线城市也迅速崛起,它们的快速发展和消费升级趋势使得这些地方拥有了较多的奥迪门店。

最后,省会城市和重要交通枢纽城市同样是奥迪门店布局的重点。大多数省份的省会城市都设有奥迪门店,因为它们通常是所在省份的政治、经济、文化中心,具有较强的辐射带动作用。同时,西安、郑州、长沙等重要的铁路和航空枢纽城市也吸引了大量的奥迪门店,方便了跨区域的客户群体。

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

相关推荐
郭涤生2 小时前
Python知识体系
开发语言·python
05Nuyoah2 小时前
DAY 01 HTML的认识
前端·html
嚣张农民2 小时前
还在自己买服务器?试试 Amazon EC2,真香!
前端·后端·程序员
charlie1145141912 小时前
Chrome View渲染机制学习小记
前端·chrome·学习·渲染·gpu·客户端
多看书少吃饭2 小时前
vue3+TS 前端调用海康摄像头视频流,后端用 Node.js 做 RTSP 转 WebSocket-FLV 转发,并且前后端优化延迟方案
前端·websocket·node.js
前端Hardy3 小时前
HTML&CSS:动态歌词高亮展示效果
前端·javascript·css
beijingliushao3 小时前
78-数据可视化-折线图
python·信息可视化·数据可视化
PineappleCoder3 小时前
手把手教你做:高安全 Canvas 水印的实现与防篡改技巧
前端·javascript·css
该用户已不存在3 小时前
盘点9个Python的库
后端·python