随着新零售业态的快速发展,门店位置信息的获取变得越来越重要。作为餐饮服务行业的先锋,海底捞不仅在服务质量上持续领先,还积极构建广泛的门店网络,以支持其不断增长的用户群体。为了更好地理解和利用这些数据,本篇文章将深入探讨GET请求的实际应用,并展示如何通过Python的requests库发送GET请求,从海底捞官方网站获取详细的门店位置信息,包括全国范围内的所有海底捞火锅店、海底捞美甲店以及其他相关服务点。本文将详细介绍如何解析构造请求、处理响应数据,并实现数据可视化,最终通过可视化分析展示海底捞在我国的分布情况。
海底捞官方网址:门店搜索
我们第一步先找到门店数据的存储位置,然后看3个关键部分标头、负载、 预览;
标头:通常包括URL的连接,也就是目标资源的位置;
负载:对于GET请求:负载通常包含了传递的参数,有些网页负载可能为空,或者没有负载,因为所有参数都通过URL传递;
预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段;
接下来就是数据获取部分,先讲一下方法思路,一共三个步骤;
方法思路
- 找到对应数据存储位置,获取所有店铺列表;
- 获取所有店铺列表的相关标签数据,另存为csv;
- 坐标转换,通过coord-convert库实现GCJ-02转WGS84;
第一步:我们先找到对应数据存储位置,获取所有店铺列表;
第二步:利用GET请求获取所有店铺列表,并根据标签进行保存,另存为csv;
完整代码#运行环境 Python 3.11
import requests
import pandas as pd# 设置请求的 URL
url = "https://www.haidilao.com/eportal/store/listObjByPosition"
params = {'longitude': 116.40387397,'latitude': 39.91488908,'mapType': 0,'country': 'CN','language': 'zh'
}# 发送 GET 请求
response = requests.get(url, params=params)# 检查请求是否成功
if response.status_code == 200:print("请求成功!")# 获取响应内容data = response.json()# 检查响应中的 'value' 字段if 'value' in data:stores = data['value']# 打印每个门店的信息for store in stores:print(f"门店名称: {store['storeName']}")print(f"门店地址: {store['storeAddress']}")print(f"联系电话: {store['storeTelephone']}")print(f"营业状态: {'营业中' if store['openStatus'] == 1 else '已关闭'}")print(f"营业时间: {store['openTime']}")print(f"距离: {store['distance']} 米")print(f"纬度: {store['latitude']}, 经度: {store['longitude']}")print("-" * 40) # 分隔线# 将数据转换为 DataFramedf = pd.DataFrame(stores)# 保存为 CSV 文件df.to_csv('haidilao_stores.csv', index=False, encoding='utf-8-sig')print("数据已成功保存为 haidilao_stores.csv")else:print("响应中没有 'value' 字段。")
else:print(f"请求失败,状态码: {response.status_code}")
获取到的数据标签如下,distance: 距离(单位:米)、isDisplay: 是否显示(1 表示显示,0 表示不显示)、latitude: 纬度、longitude: 经度、openStatus: 营业状态(1 表示营业中,0 表示已关闭)、openTime: 营业时间(例如 "早10:00~次晨04:00")、storeAddress: 门店地址、storeId: 门店 ID、storeName: 门店名称、storeTelephone: 门店联系电话;
第三步:坐标系转换,由于数据使用的是高德坐标系(GCJ-02),为了在ArcGIS上准确展示而不发生偏移,我们需要将海底捞的门店坐标从GCJ-02转换为WGS-84坐标系。我们可以利用coord-convert库中的gcj2wgs(lng, lat)函数,对CSV文件中的门店坐标列进行转换。完成坐标转换后,再将数据导入ArcGIS进行可视化;
从海底捞的分布图可以看出,该品牌在中国东部和南部地区拥有广泛的市场覆盖,特别是在大城市和经济发达区域,如北京、上海和广州等,这些地方的门店密度尤为突出。这不仅表明了在这些高需求区域,海底捞可能采取了集中开店策略以最大化地吸引顾客,同时也反映了当地消费者对火锅文化的青睐及其强劲的消费能力。
相较之下,在中西部及一些偏远地区,海底捞的门店数量显得较为稀疏,这些地区可能存在较大的市场发展潜力。随着经济的发展和消费水平的提升,这些未充分开发的市场或许会成为海底捞未来扩展的重点方向。
此外,海底捞门店的布局也紧密关联着各地消费者的饮食偏好、生活方式以及购买力。例如,在经济更为活跃的城市中心,海底捞的店铺不仅满足了当地居民对于社交餐饮的需求,还吸引了大量游客前来体验。而在其他地区,则根据当地的实际情况调整其市场定位和服务内容,以此来迎合不同消费群体的需求。这种精准的市场定位和灵活的经营策略有助于海底捞在全国范围内持续扩大其影响力和市场份额。
文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。