用Python分析统计必胜客餐厅

  发布时间:2025-11-05 12:41:36   作者:玩站小弟   我要评论
在之前的一篇文章100行代码爬取全国所有必胜客餐厅信息,我讲到如何爬取必胜客官网中全国各大城市餐厅的信息。虽然餐厅数据信息被抓取下来,但是数据一直在硬盘中“躺尸”。不曾记得,自己已经第 n 次这么做了 。

在之前的析统一篇文章100行代码爬取全国所有必胜客餐厅信息,我讲到如何爬取必胜客官网中全国各大城市餐厅的计必信息。虽然餐厅数据信息被抓取下来,胜客但是餐厅数据一直在硬盘中“躺尸”。不曾记得,析统自己已经第 n 次这么做了。计必说到这里,胜客要追溯到自己的餐厅大学时光。

自己从大学开始就接触 Python,析统当时是计必自己的好奇心很强烈。好奇为什么 Python 不需要浏览器就能抓取网站数据。胜客内心感叹到,餐厅这简直是析统太妙了。自己为了体验这种抓取数据的计必乐趣,所以写了很多的胜客爬虫程序。

随着自己知识面地拓展,自己了解到数据分析这领域。自己从而才知道爬取到的数据,原来背后还隐藏的一些信息。自己也是在学习这方面的相关知识。这篇文章算是香港云服务器数据分析的处女稿,主要内容是从数据中提取出必胜客餐厅的一些信息。

01环境搭建

百度前端技术部开源一个基于 Javascript 的数据可视化图表库。其名字为 ECharts。它算是前端数据可视化的利器,能提供直观,生动,可交互,可个性化定制的数据可视化图表。

国内有个大神突发奇想,这么好用的库如果能和 Python 结合起来就好了。于是乎,pyecharts 库就应运而生。因此,pyecharts 的作用是用于生成 Echarts 图表的类库。本文中的所有图标,自己都是利用 pyecharts 生成的。

安装该库也很简单,服务器托管使用 pip 方式安装。

pip install pyecharts 

02数据清洗

数据清洗工作是数据分析必不可少的步骤。这一步是为了清洗一些脏数据。因为可能网站本身就有空数据,或者匹配抓取网站信息时,有些混乱的数据。这些都需要清除掉。

我之前是将数据写到一个 json 文件中,我先将数据读取出来。然后把 json 文本数据转化为字典类型。

def get_datas():     """ 从文件中获取数据 """     file_name = results.json     with open(file_name, r, encoding=UTF-8) as file:         content = file.read()         data = json.loads(content, encoding=UTF-8)         # print(data)     return data 

接着对字典进行遍历, 统计每个城市的餐厅总数。

def count_restaurants_sum(data):     """ 对字典进行遍历, 统计每个城市的餐厅总数 """     results = {}     for key, value in data.items():         results[key] = len(value)         # print(key, len(value))     return results 

再将字典中的每个 key-value 转化为元组,然后根据 value 进行倒序排序。

restaurants_sum = sorted(restaurants_sum.items(), key=lambda item: item[1], reverse=True) 

最后根据显示结果,手动删除一些脏数据。

def clean_datas(data):     """     清除脏数据。     经过分析发现 (新区, 189), (南区, 189), (朝阳, 56) 是脏数据, 必胜客官网的地区选项中就有这三个名字     [(新区, 189), (上海市, 189), (南区, 189), (北京市, 184), (深圳, 95),      (广州, 86), (杭州, 78), (天津市, 69), (朝阳, 56), (苏州, 54)]     """     data.remove((新区, 189))     data.remove((南区, 189))     data.remove((朝阳, 56))     return data 

到此,数据工作已经完成。

03数据分析

我们已经拿到了经过清洗的数据,我们简单对数据进行打印,然后绘制直方图。

def render_top10():     """     绘制直方图显示 全国必胜客餐厅总数 Top 10 的b2b信息网城市     根据清洗过后数据的结果, Top 城市如下     (上海市, 189), (北京市, 184), (深圳, 95), (广州, 86), (杭州, 78),     (天津市, 69), (苏州, 54), (西安, 52), (武汉, 51), (成都, 48)     """     attr = ["上海", "北京", "深圳", "广州", "杭州", "天津", "苏州", "西安", "武汉", "成都"]     values = [189, 184, 95, 86, 78, 69, 54, 52, 51, 48]     bar = Bar("全国各大城市必胜客餐厅数量排行榜")     bar.add("总数", attr, values, is_stack=True, is_more_utils=True)     bar.render("render_bar.html") 

绘制出来的结果如下:

不难看出,一线城市拥有必胜客的餐厅数比较多,省会城市拥有餐厅数要比非省会城市要多。

我们继续绘制饼状图,看看北上广深的餐厅数在全国的占比。

def render_top10_percent():     """     绘制饼状图 显示北上广深餐厅数在全国中的比例     """     configure(global_theme=macarons)     attr = ["上海", "北京", "深圳", "广州", "其他城市"]     value = [189, 184, 95, 86, 1893]  # 根据 count_other_sum() 计算出来的     pie = Pie("北上广深餐厅数的占比")     pie.add("", attr, value, is_label_show=True, is_more_utils=True)     pie.render("render_pie.html") 

绘制出来的结果如下:

从数据上看,北上广深的餐厅数占据全国餐厅数的 22.64%。其他二三线城市共占据 77.36%。说明必胜客餐厅不仅主打大城市路线,还往二三四线城市发展,扩展领域。

作者:极客猴,热衷于 Python,目前擅长利用 Python 制作网络爬虫以及 Django 框架。

  • Tag:

相关文章

  • 以威高气吹(拥有自信态度的关键在于以威高气吹)

    摘要:自信是每个人实现成功的重要素质之一。而以威高气吹,作为一种秘密武器,可以帮助我们在人生的舞台上散发出自信的光芒。本文将详细介绍以威高气吹的优点和技巧,帮助读者打造自信魅力,实现更多...
    2025-11-05
  • 给CxO的微服务指南|洞见

    1.未来已经在这里,它只是分布不均。—— 威廉·吉布森数字时代就在我们身边。将软件开发视为高成本开销而不是竞争力的企业将会举步维艰。为了参与并在这个数字世界中繁荣兴旺,企业必须学会适应我们这个时代的不
    2025-11-05
  • 带你开发一个Chrome版的小程序

    开发一个 Chrome 扩展程序, 其实非常简单,而且很有趣。Chrome 扩展程序上次跟大家提到 Chrome 应用商店,于是探究了一下开发一个 Chrome 扩展程序有多难, 经过一番研究,发现其
    2025-11-05
  • 程序员如何在当今就业市场中让自己脱颖而出

    俗话说,钱不是万能的,但没有钱是万万不能的。可见钱对于生活的重要性。不管你从事什么职业,实现财务自由才能让你无所畏惧地应对挑战。但是还有一点是值得开发人员所关注的:如何脱颖而出与众不同。毫无疑问,软件
    2025-11-05
  • 深入了解12款S系列手机的型号区分(探索12款S系列手机型号的特点与区别)

    摘要:作为全球领先的智能手机品牌,S系列一直以来都备受消费者追捧。然而,随着时间的推移,S系列的型号越来越多,让人们很难分辨它们之间的差异。本文将为大家详细介绍12款S系列手机的型号区分...
    2025-11-05
  • 一名合格的数据分析师分享Python网络爬虫二三事(Scrapy自动爬虫)

    接上篇《一名合格的数据分析师分享Python网络爬虫二三事(综合实战案例)》五、综合实战案例3. 利用Scrapy框架爬取1)了解ScrapyScrapy使用了Twisted异步网络库来处理网络通讯。
    2025-11-05

最新评论