泡泡玛特作为一家引领潮流玩具文化的知名品牌,自2010年成立以来,凭借其独特的盲盒销售模式和丰富的IP资源,在中国市场上迅速崛起。该品牌通过不断推出限量版玩具,以及与全球多个知名艺术家和品牌的联名合作,成功吸引了众多年轻消费者的关注。泡泡玛特不仅提供了一个展示和销售创意玩具的平台,还致力于推动潮流文化的发展。无论是经典的MOLLY系列,还是其他新兴的IP角色,泡泡玛特始终站在潮流前沿,满足了消费者对新鲜事物的追求。
本文将探讨如何利用POST请求从官方网站上获取泡泡玛特的门店分布信息,并展示使用Python的requests库发送POST请求的方法,以提取详细的门店位置信息。这些信息覆盖全国范围内的所有泡泡玛特店铺,并通过解析JSON格式的数据或HTML页面来处理响应数据,获取到的门店分布信息覆盖了全国范围内所有泡泡玛特店铺的具体地址、联系方式、等详细内容。通过对这些数据的分析,不仅可以帮助了解泡泡玛特的品牌扩展情况,还能为消费者提供便捷的查找服务,进一步提升用户体验。此外,深入分析不同地区的门店布局及其周边消费环境,可以洞察各地消费者的偏好差异,为泡泡玛特未来的产品开发、市场营销策略调整乃至新店选址等方面提供宝贵的决策支持。
泡泡玛特门店位置查询:附近门店
我们第一步先找到门店数据的存储位置,然后看3个关键部分标头、负载、 预览;
标头:通常包括URL的连接,也就是目标资源的位置;
负载:对于POST请求:负载通常包含了传递的参数,这里我们可以看到它的传参包括,省份、地级市,是明文传输;
预览:指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段;
接下来就是数据获取部分,先讲一下方法思路,一共三个步骤;
方法思路
- 找到对应数据存储位置,获取所有店铺列表的相关标签数据;
- 我们通过改变查询关键字(省份、地级市),来遍历全国门店数据;
- 坐标转换,通过coord-convert库实现GCJ-02转WGS84;
因为泡泡玛特不是所有省市都有门店,我们可以通过网站自带的map,进行遍历里面的省市关系列表作为查询的省市字典结构进行后续的遍历;
第一步:我们先找到对应数据存储位置,获取所有门店列表,经过测试,每次查询一类关键词会返回一个html,我们通过修改关键词来进行数据获取,为了方便我们直接建立一个包含省份、地级市字典,通过遍历关键词来查询全国数据;
第二步:利用POST请求获取所有门店列表,并根据标签进行保存,另存为csv;
完整代码#运行环境 Python 3.11
import requests
import json
import time
import random
import pandas as pd
province_city_dict = {
"北京市": ["市区内"],
"福建省": ["厦门市", "福州市"],
"西藏自治区": ["拉萨市"],
"贵州省": ["贵阳市", "遵义市"],
"上海市": ["市区内"],
"广东省": ["汕头市", "深圳市", "珠海市", "广州市", "佛山市", "东莞市", "惠州市"],
"湖北省": ["武汉市", "襄阳市"],
"湖南省": ["长沙市"],
"四川省": ["成都市", "乐山市", "宜宾市", "德阳市", "泸州市", "绵阳市", "自贡市"],
"安徽省": ["合肥市", "芜湖市"],
"新疆维吾尔自治区": ["乌鲁木齐市"],
"广西省": ["柳州市", "南宁市", "桂林市"],
"江苏省": ["苏州市", "泰州市", "无锡市", "徐州市", "盐城市", "常州市", "镇江市", "南京市", "扬州市", "南通市"],
"吉林省": ["长春市"],
"宁夏回族自治区": ["银川市"],
"河北省": ["石家庄市", "唐山市", "保定市", "邯郸市"],
"河南省": ["郑州市", "商丘市", "新乡市", "洛阳市", "许昌市"],
"广西壮族自治区": ["南宁市"],
"海南省": ["海口市", "三亚市"],
"重庆市": ["市辖区"],
"江西省": ["赣州市", "南昌市"],
"云南省": ["昆明市"],
"甘肃省": ["兰州市"],
"山东省": ["潍坊市", "烟台市", "淄博市", "临沂市", "威海市", "济南市", "德州市", "济宁市", "青岛市", "日照市"],
"陕西省": ["西安市", "宝鸡市"],
"浙江省": ["绍兴市", "温州市", "杭州市", "湖州市", "金华市", "宁波市"],
"内蒙古自治区": ["呼和浩特市"],
"青海省": ["西宁市"],
"辽宁省": ["沈阳市", "鞍山市", "大连市"],
"天津市": ["市区内"],
"黑龙江省": ["大庆市", "哈尔滨市"],
"山西省": ["太原市"]
}
url = "https://www.popmart.com.cn/apis/portal/stores/getOfflineStoresList"
headers = {
'User-Agent': (
'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) '
'AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 '
'Mobile Safari/537.36 Edg/135.0.0.0'
)
}
all_stores = []
for province, cities in province_city_dict.items():
for city in cities:
data = {"province": province, "city": city}
try:
response = requests.post(url, json=data, headers=headers, timeout=10)
print(f"请求: {data} 状态码: {response.status_code}")
if response.status_code == 200:
res_json = response.json()
stores = res_json.get("data", [])
for store in stores:
store['province'] = province
store['city'] = city
all_stores.append(store)
else:
print("请求失败,内容:", response.text)
# 随机延时 0.5~2 秒
time.sleep(random.uniform(0.5, 2.0))
except Exception as e:
print(f"请求异常:{e}")
# 保存为CSV
if all_stores:
df = pd.DataFrame(all_stores)
df.to_csv("popmart_stores.csv", index=False, encoding="utf-8-sig")
print("所有门店信息已保存为 popmart_stores.csv")
else:
print("未获取到任何门店信息。")
获取数据标签如下,addressDetail(详细地址)、latitude,longitude(坐标)、name(店铺名称)、provide(省)、tel(电话)、pic(门店照片),其他一些非关键标签,这里省略;
第三步:坐标系转换,由于泡泡玛特门店数据使用的是高德坐标系(GCJ-02),为了在ArcGIS上准确展示而不发生偏移,我们需要将门店的坐标从GCJ-02转换为WGS-84坐标系。我们可以利用coord-convert库中的gcj2wgs(lng, lat)函数,也可以用免费这个网站:批量转换工具:地图坐标系批量转换 - 免费在线工具;
对CSV文件中的充电桩坐标列进行转换。完成坐标转换后,再将数据导入ArcGIS进行可视化;
接下来,我们进行看图说话:
泡泡玛特的门店分布展示了其市场布局的一些显著特征。首先,集中度高的特点十分明显,门店主要集中在经济水平较高的东部和南部沿海地区,尤其是长三角地区(包括上海、江苏、浙江)、珠三角地区(广东为主)以及北京、天津等经济发达城市。这些区域不仅经济繁荣,拥有庞大的年轻消费群体,而且对潮流玩具的需求尤为旺盛,为泡泡玛特提供了理想的市场环境。
其次,在一线城市如北京、上海、广州、深圳等地,门店数量尤为密集,显示出泡泡玛特在这些城市的市场占有率和品牌影响力较大。这种高密度的分布有助于增强品牌的本地化效应,并更好地服务当地消费者,同时也反映了这些城市作为潮流文化中心的地位。
再者,尽管中部和西部地区的门店分布较为稀疏,但仍然有部分重要城市如成都、重庆、武汉等拥有一定数量的门店。这表明泡泡玛特也在逐步向内陆城市扩展其市场,尝试渗透到更多新兴市场中去,以扩大自身的市场覆盖范围。通过这种方式,泡泡玛特不仅能触及更广泛的消费者群体,还能进一步提升其在全国范围内的品牌知名度。
此外,北方地区的门店分布不均,除了北京及周边城市外,其他省份的门店相对较少,这可能与当地消费者对潮流玩具的认知和接受程度有关。特别是在一些经济发展速度较慢或消费习惯不同的地区,泡泡玛特面临着一定的挑战。同样地,东北三省的门店数量也相对有限,这可能与其整体的经济发展水平以及消费者的购买偏好相关。
文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。