用Python看蜜雪冰城店铺在哪个省份最多~

简介: 大家好,我是志斌~明天就是立秋了,大家秋天的第一杯奶茶都安排上了么?前一段被“你爱我,我爱你,蜜雪冰城甜蜜蜜...”这首歌洗脑了,所以今天志斌就爬取了某度地图上蜜雪冰城门店分布,看看全国有多少家蜜雪冰城,能不能满足大家的需求~

01数据采集


首先,我们打开开发者模式,然后输入蜜雪冰城进行搜索,我们发现,数据是以JSON形式存储在页面中的。

5.png

既然我们已经找到数据存储的真实网页和数据存储的形式了,那就可以开始发送请求,提取数据了,代码如下:


import requests
params = (
   ('newmap', '1'),
   ('reqflag', 'pcmap'),
   ('biz', '1'),
   ('from', ['webmap', 'webmap']),
   ('da_par', 'baidu'),
   ('pcevaname', 'pc4.1'),
   ('qt', 's'),
   ('da_src', 'searchBox.button'),
   ('wd', '\u871C\u96EA\u51B0\u57CE'),
   ('c', '1'),
   ('src', '0'),
   ('wd2', ''),
   ('pn', '0'),
   ('sug', '0'),
   ('l', '5'),
   ('b', '(6667763.599996051,6340854.629990179;19250675.599996053,7782646.629990179)'),
   ('biz_forward', '/{"scaler":2,"styles":"pl"/}'),
   ('sug_forward', ''),
   ('auth', '5BEZZCLEd4HKOxLFbExRB0JQAVTQfxEPuxLzRxLEEHEtBalTBnlcAZzvYgP1PcGCgYvjPuVtvYgPMGvgWv@uVtvYgPPxRYuVtvYgP@vYZcvWPCuVtvYgP@ZPcPPuVtvYgPhPPyheuVtvhgMuxVVty1uVtCGYuVt1GgvPUDZYOYIZuVt1cv3uVtGccZcuVtPWv3Guxt58Jv7uPYIUvhgMZSguxzBEHLNRTVtcEWe1GD8zv7u@ZPuVtc3CuVteuxtf0wd0vyMASyMFFFCufy9GUIsxC1w0kMMxNwxcc@AZ'),
   ('seckey', 'e7ccd76a71cca7384bc9d56993ddbed2e19bbff4744b85e39bb3d65be30e7613e76ae0b8689ae7f5bb14207898aef6950e69432a9314fa542a239fa64bfb5b4537c123bc41a4c69c3d897270e7703085fab6ef51a01edc960ca3bb277afd081ac8815ca7ad75f2032c5416f224ac384247adeed8f7371a70023518fb691f60aa2084c0839ba9d280dc940d93971effeae8b5de5e4658741578f88a9fb58aed60dcab2a678a32253e12afa1489c6135678e4b8f39428ad1f5e5760d39484d37d4934e5748a90eb62e5f802bd5836d29a5f3193491689fb3d3fa32277589ae66c8'),
   ('device_ratio', '2'),
   ('tn', 'B_NORMAL_MAP'),
   ('nn', '0'),
   ('u_loc', '12711424,4262547'),
   ('ie', 'utf-8'),
   ('t', '1628164454007'),
)
response = requests.get('https://map.baidu.com/', headers=headers, params=params, cookies=cookies)
r = response.json()['more_city']


采集到的数据如下:


6.png


数据已经采集到的了,我们现在将其存储到CSV文件中去,代码如下:


for i in r:
   province_name = i['province']
   province_num = i['num']
   with open('省份.csv','a',newline='') as f:
       writer = csv.writer(f)
       writer.writerow([province_name,province_num])
   for j in i['city']:
       city_name = j['name']
       city_num = j['num']
       with open(f'{province_name}.csv','a',newline='') as f:
           writer_1 = csv.writer(f)
           writer_1.writerow([city_name,city_num])
       with open('全部.csv','a',newline='') as f:
           writer_2 = csv.writer(f)
           writer_2.writerow([city_name,city_num])


02数据可视化


我们已经采集到的全国各省份的店铺数据,现在将其可视化展示。


0.gif


7.png



从图中我们可以看出,河南省开的蜜雪冰城店铺最多,有1836家,想想这次河南洪灾,雪王自己受灾,还捐了2200W,真是想哭!


8.gif


我们接着对河南省店铺地域分布进行可视化发现,郑州市的店铺最多,是587家,其次是周口市、洛阳市的店铺最多,分别是160家和112家。


郑州是河南这次受灾非常严重的地方,蜜雪冰城还捐出这么多钱,真是像极了老一辈平时省吃俭用,但是国家有需要的时候,毫不犹豫的把自己的积蓄捐出来!


所以这第一杯奶茶都给我去蜜雪冰城喝!!!


03小结


1. 本文详细介绍了,如何从某度地图上获取数据,后台回去[奶茶]即可获取全部源码。

2. 本文仅供学习参考,不做它用。

相关文章
|
4月前
|
IDE 开发工具 iOS开发
Python编程案例:招生档案按省份地区归档
Python编程案例:招生档案按省份地区归档
27 0
|
5月前
|
Python
Python/Plotly各省份人口数量变化
Python/Plotly各省份人口数量变化
51 1
|
存储 数据可视化 计算机视觉
Python统计各省份字典中双一流学校数量实验
Python统计各省份字典中双一流学校数量实验
938 0
Python统计各省份字典中双一流学校数量实验
Python input 将输入的多个数据变成数组list(输入多个省份)
Python input 将输入的多个数据变成数组list(输入多个省份)
Python input 将输入的多个数据变成数组list(输入多个省份)
|
23天前
|
存储 缓存 Java
Python高性能编程:五种核心优化技术的原理与Python代码
Python在高性能应用场景中常因执行速度不及C、C++等编译型语言而受质疑,但通过合理利用标准库的优化特性,如`__slots__`机制、列表推导式、`@lru_cache`装饰器和生成器等,可以显著提升代码效率。本文详细介绍了这些实用的性能优化技术,帮助开发者在不牺牲代码质量的前提下提高程序性能。实验数据表明,这些优化方法能在内存使用和计算效率方面带来显著改进,适用于大规模数据处理、递归计算等场景。
58 5
Python高性能编程:五种核心优化技术的原理与Python代码
|
2月前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
52 14
|
2月前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
116 2
|
2月前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
126 80
|
2月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
2月前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!

热门文章

最新文章

推荐镜像

更多