当前位置: 首页 > news >正文

HTML应用指南:利用GET请求获取全国新荣记门店位置信息

新荣记作为深受美食爱好者青睐的高端餐饮品牌,自创立以来,始终致力于为宾客提供高品质的用餐体验与专业贴心的服务。凭借典雅精致的空间设计与全面的预订咨询、用餐接待服务,新荣记不仅是中华美食与荣派菜系的展示窗口,更成为宾客了解时令菜品、品味精致料理、感受东方饮食文化的重要互动空间。

本文将探讨如何通过发送 GET 请求,从新荣记官方网站获取其旗下门店的分布信息,并展示使用 Python 中 requests 库发起请求的方法,从而提取各城市的详细门店地址、营业时间、联系方式等关键数据。通过对 API 返回的 JSON 数据进行解析,最终可整理出结构化的餐厅列表信息。

这些数据不仅有助于全面了解新荣记在全国范围内的市场覆盖趋势与区域布局特征,还能为食客提供高效的门店查询服务,进一步提升预订、用餐与咨询服务的便利性。结合不同城市的门店密度、选址特点(如核心商圈、高端购物中心)以及周边消费环境进行分析,还可以洞察各地宾客在菜品偏好与用餐需求上的差异。

这对于新荣记未来在中国市场的品牌拓展策略优化、新店选址评估以及本地化服务升级都具有重要的参考价值。通过对门店数据的系统收集与深入分析,不仅能够支持品牌的科学决策,也有助于推动客户体验的持续提升,从而更好地满足中国消费者日益多样化和个性化的高端餐饮需求。

新荣记门店查询:新荣記

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

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

负载:对于GET请求:负载通常包含了传递的参数,有些网页负载可能为空,或者没有负载,因为所有参数都通过URL传递,这里我们可以看到城市编码,当前页数,还是明文,没有进行加密;

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

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

方法思路

  1. 找到对应数据存储位置,获取所有店铺列表的相关标签数据;
  2. 我们通过改变店铺id和店铺name,来遍历全国门店数据;
  3. 地址转经纬度,通过coord-convert库实现GCJ-02转WGS84;

这里,我们找到数据的位置之后,我们发现这个数据里并没有具体的门店地址和坐标信息这些,我们通过点击具体餐厅返回的另一个请求发现,数据是包含门店具体地址,坐标、营业时间这些的;

那么返回过来了,看看这个请求的标头,我们可以看到店铺详细信息里是包含传的店铺id和name这二个参数的,那么我们就先获取店铺id和name列表,再通过id和name查询店铺具体信息,并把数据标签另存为csv;

虽然这里我们查看标头和负载并没有发现带有门店name,那我们手动带上,不然就会返回错误;

第一步:那么我们先获取包含店铺所有id和name的响应数据,并另存为csv;

完整代码#运行环境 Python 3.11

import requests
import pandas as pd# --- 配置 ---
url = "http://www.xinrongji.com/api/booking/restaurants/"
params = {'lang': 'ZH', 'country': '中国', 'province': '', 'honor': ''}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}# --- 请求并处理 ---
try:response = requests.get(url, params=params, headers=headers, timeout=10)response.raise_for_status()data = response.json()if data.get("code") == 1000:restaurants = data["data"]["restaurants"]print(f"成功获取 {len(restaurants)} 家门店:\n")# 提取数据并打印关键信息records = []for r in restaurants:record = {'ID': r['id'],'门店': r['name'],'品牌': r['brand'],'地区': f"{r['country']}-{r['province']}",'菜系': r['cuisine'],'荣誉': " | ".join(r['honors']) if r['honors'] else "无",'状态': r['status']  # 保留原始值:0 或 1}records.append(record)print(f"ID:{r['id']} | {r['name']} | 状态:{r['status']}")# 保存为 CSVpd.DataFrame(records).to_csv("新荣记餐厅列表.csv", index=False, encoding='utf-8-sig')print("\n数据已保存:xinrongji_list.csv")else:print("接口返回错误:", data.get("message", "未知错误"))except Exception as e:print(" 请求失败:", e)

数据会以csv表格的形式,保存在运行脚本的目录下,数据标签包括:id、门店名称、品牌、地区、菜系、荣誉这些;

接下来,把得到的店铺id 和name,带入到另一个请求的URL进行遍历;

完整代码#运行环境 Python 3.11

import requests
import pandas as pd
import time# --- 配置 ---
detail_url = "http://www.xinrongji.com/api/booking/restaurant/"
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36'
}
csv_file = "xinrongji_list.csv"
output_file = "xinrongji_restaurants.csv"# --- 存储结果 ---
details_list = []# --- 读取ID和门店名 ---
try:df = pd.read_csv(csv_file)
except FileNotFoundError:print(f"找不到文件:{csv_file}")exit()# --- 遍历查询 ---
for _, row in df[['ID', '门店']].iterrows():rid = row['ID']name = row['门店']print(f"正在查询 ID={rid} | {name}")try:params = {'lang': 'ZH', 'id': rid}response = requests.get(detail_url, headers=headers, params=params, timeout=10)data = response.json()if data.get("code") == 1000:r = data["data"]["restaurant"]# 只保留需要的字段detail = {'ID': rid,'门店名称': r['name'],'国家': r['country'],'省份': r['province'],'城市': r['city'],'品牌': r['brand'],'菜系': r['cuisine'],'状态': r['status'],'地址': r['address'],'电话': r['phone'],'营业时间': r['business_hour'],'荣誉': " | ".join(r['honors']) if r['honors'] else '','附加服务': " | ".join(r['additional']) if r['additional'] else '','纬度': r['latitude'],'经度': r['longitude'],}details_list.append(detail)print(f"成功")else:print(f"接口错误: {data}")except Exception as e:print(f"请求失败: {e}")time.sleep(0.5)# --- 保存为CSV ---
if details_list:pd.DataFrame(details_list).to_csv(output_file, index=False, encoding='utf-8-sig')print(f"\n已保存至:{output_file}")
else:print("无数据可保存")

获取数据标签如下:ID(门店id)、name(门店名称)、cuisine(菜系)、address(地址)、phone(电话)、business_hour(运营时间)、lng & lat(地理坐标),其他一些非关键标签,这里省略;

第三步:地理编码和坐标系转换,这里因为数据标签的坐标数据只到小数点后二位,如果需要更准确的坐标需要把获取的门店地址进行地理编码,具体实现方法可以参考我这篇文章:地址转坐标:利用高德API进行批量地理编码_高德地图api-CSDN博客;

这里直接下载转换结果,坐标系GCJ-02,当然还有个别地址描述太模糊的或者格式无法识别,会查不出坐标,手动查一下坐标即可,大部分还是可以查到的,因为当前坐标系是GCJ02,需要批量转成WGS84/BD09的话可以用免费这个网站:批量转换工具:地图坐标系批量转换 - 免费在线工具 (latlongconverter.online),也可以通过coord-convert库实现GCJ-02转WGS84,完成坐标转换后,再对数据进行可视化即可;

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

新荣记门店的分布呈现出高度集中与战略聚焦的显著特征。品牌在全国的布局以长三角和京津冀为核心,形成了稳固的“三极支撑”格局:浙江、上海、北京各拥有9家门店,构成其发展的三大核心支柱。其中,浙江作为品牌发源地,不仅承载着深厚的文化根基,更在本地市场实现了深度渗透与品牌忠诚度的持续积累,成为新荣记创新菜品与管理模式的“试验田”和“输出源”;上海依托其国际消费中心地位、多元包容的高端餐饮生态以及强大的商务与旅游客流,成为品牌展示实力、提升影响力的前沿阵地;北京则凭借其作为首都所汇聚的政商资源、文化影响力和高净值消费群体,成为新荣记辐射整个北方市场的重要战略支点。这三地合计27家门店,占全国总量的90%,凸显了品牌在资源投入、运营管理和市场拓展上的高度集聚效应,也反映出其对核心城市消费能力与品牌接受度的高度依赖。

相比之下,四川(成都)、广东、香港各仅有1家门店,属于典型的“战略性试点”布局。成都作为西南地区最具活力的消费城市和美食之都,设点有助于品牌触达西部高端客群并提升文化融合形象;广东(推测位于广州或深圳)的布局意在切入经济最活跃的珠三角市场,探索华南消费者的口味偏好与消费习惯;而香港门店则具有强烈的象征意义,不仅服务于本地高端客群,更承担着面向国际展示中式精致餐饮魅力的“品牌窗口”功能。尽管这些布局尚未形成区域集群效应,也未进入规模化复制阶段,但它们为品牌未来跨区域扩张积累了宝贵经验。

整体来看,新荣记采取“稳守基本盘、谨慎外拓”的发展策略,坚持高品质定位与精细化运营,避免盲目扩张带来的品牌稀释风险。目前仍处于“区域强势品牌向全国化迈进”的过渡阶段,未来在巩固长三角与京津冀优势的同时,有望在成渝、粤港澳、长江中游等新兴城市群中加快布局节奏,逐步构建更加均衡、更具韧性的全国网络,实现从“区域名店”到“全国性高端餐饮标杆”的跃升。

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

http://www.dtcms.com/a/339917.html

相关文章:

  • 【DAB收音机】DAB服务跟随Service Follow功能(三)【FIG 0/24:OE Services】
  • Browser Use + Playwright到AI Agent:Web自动化如何实现质变?
  • C++装饰器模式:从“勇勇”例子到实际应用
  • Day09 Go语言深入学习(1)
  • 单片机编程架构
  • AttributeError: module ‘ffmpeg‘ has no attribute ‘probe‘
  • 【光学神经网络与人工智能应用专题】
  • 力扣hot100:三数之和(排序 + 双指针法)(15)
  • 深度学习-167-MCP技术之工具函数的设计及注册到MCP服务器的两种方式
  • 零售行业新店网络零接触部署场景下,如何选择SDWAN
  • 排查Redis数据倾斜引发的性能瓶颈
  • 缓存-变更事件捕捉、更新策略、本地缓存和热key问题
  • Autoware Universe 感知模块详解 | 第零节 如何学习开源框架(以Autoware Universe为例)
  • 新手入门:用 LangChain+LlamaIndex 构建 RAG,通义千问 API 免费够用
  • 机器人控制基础:串级 PID 和模糊 PID介绍与对比(干货总结)
  • Java 大视界 -- Java 大数据在智能物流无人配送车路径规划与协同调度中的应用
  • [激光原理与应用-303]:光学设计 - 光路设计的输出件
  • Git#cherry-pick
  • 【C语言16天强化训练】从基础入门到进阶:Day 3
  • 光纤通信系统的光纤计量详解-连续测量更高效
  • Protobuf安装和使用
  • 把 AI 变成「图书馆管理员」——基于检索增强的离线图书语音导航小盒子
  • 更新一个GMT新增的投影类型:Spilhaus投影
  • 融智兴“RFID物流周转箱卡”荣获2025“IOTE 金奖”创新产品奖
  • 全0子数组的数目-子数组问题
  • 项目里程碑设定有哪些方法
  • 猫头虎AI分享|字节开源了一款具备长期记忆能力的多模态智能体:M3-Agent 下载、安装、配置、部署教程
  • Visual Studio 中文件属性(在解决方案资源管理器中选中文件,按 F4 或在右键菜单 -> 属性)
  • 【树莓派】【嵌入式】远程树莓派,解决ping不通问题
  • 第5.6节:awk字符串运算