Python 爬下的必胜客数据背后,藏着什么样的信息?
笔者从大学开始就接触 Python,起初是好奇为什么 Python 不需要浏览器就能抓取网站数据。深感奇妙之余,也想亲身体验这种抓取数据的乐趣,所以写了很多爬虫程序。
后随着知识面的拓展,开始了解到数据分析这一领域,方知道爬取到的数据背后原来还隐藏着一些信息。自己也是在学习这方面的相关知识。本文算是数据分析的处女稿,主要内容是从数据中提取出必胜客餐厅的一些信息。
环境搭建
百度前端技术部开源一个基于 Javascript 的数据可视化图表库。其名字为 ECharts。它算是前端数据可视化的利器,能提供直观、生动、可交互、可个性化定制的数据可视化图表。
国内有个大神突发奇想,这么好用的库如果能和 Python 结合起来就好了。于是乎,pyecharts 库应运而生。因此,pyecharts 的作用是用于生成 Echarts 图表的类库。本文中的所有图标,都是利用 pyecharts 生成的。
安装该库也很简单,使用 pip 方式安装。
pip install pyecharts
数据清洗
数据清洗工作是数据分析必不可少的步骤。这一步是为了清洗一些脏数据。因为可能网站本身就有空数据,或者匹配抓取网站信息时,有些混乱的数据。这些都需要清除掉。
我之前是将数据写到一个 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
到此,数据工作已经完成。
数据分析
我们已经拿到了经过清洗的数据,我们简单对数据进行打印,然后绘制直方图。
def render_top10():
"""
绘制直方图显示 全国必胜客餐厅总数 Top 10 的城市
根据清洗过后数据的结果, 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 框架。
声明:本文为作者投稿,版权归其个人所有。
热 文 推 荐
☞ 36 岁捧走图灵碗!80 岁算法大师高德纳要在 105 岁完结《计算机程序设计艺术》
☞ 算到怀疑人生!如何用并查集解决朋友圈个数问题?
☞ 深度学习的发展可能已达极限!
特别策划 | 盘点区块链的2018:技术与工具演进篇
☞ 企业云存储建设之路
开除“野狗”式程序员,团队的效率提高了
AI in 美团:吃喝玩乐背后的黑科技
☞ 老程序员肺腑忠告:千万别一辈子靠技术生存!
print_r('点个好看吧!');
var_dump('点个好看吧!');
NSLog(@"点个好看吧!");
System.out.println("点个好看吧!");
console.log("点个好看吧!");
print("点个好看吧!");
printf("点个好看吧!\n");
cout << "点个好看吧!" << endl;
Console.WriteLine("点个好看吧!");
fmt.Println("点个好看吧!");
Response.Write("点个好看吧!");
alert("点个好看吧!")
echo "点个好看吧!"
点击“阅读原文”,打开 CSDN App 阅读更贴心!
喜欢就点击“好看”吧!
Python 爬下的必胜客数据背后,藏着什么样的信息?相关推荐
- python爬取微博热搜数据并保存!
主要用到requests和bf4两个库将获得的信息保存在d://hotsearch.txt下importrequests;importbs4mylist=[]r=requests.get(ur- 很多 ...
- Python爬取京东任意商品数据实战总结
利用Python爬取京东任意商品数据 今天给大家展示爬取京东商品数据 首先呢还是要分思路的,我分为以下几个步骤: 第一步:得到搜索指定商的url 第二步:获得搜索商品列表信息 第三步:对得到的商品数据 ...
- python 爬取24小时天气数据
python 爬取24小时天气数据 1.引入相关库 # -*- coding: utf-8 -*- import requests import numpy as np 关于爬虫,就是在网页上找到自己 ...
- PYTHON爬取汽车之家数据
PYTHON爬取汽车之家数据 使用知识 使用BeautifulSoup模块 使用正则表达式 使用到多线程爬取 使用说明 使用前请安装BeauifulSoup 起始页面: https://www.aut ...
- 利用python爬取58同城简历数据
利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但 ...
- 利用python爬取58同城简历数据_利用python爬取58同城简历数据-Go语言中文社区
利用python爬取58同城简历数据 最近接到一个工作,需要获取58同城上面的简历信息(http://gz.58.com/qzyewu/).最开始想到是用python里面的scrapy框架制作爬虫.但 ...
- python爬去淘宝西装数据
python爬去淘宝西装数据 啥也不说代码先码上 #爬取数据 from selenium import webdriver from bs4 import BeautifulSoup import t ...
- python爬取虎牙弹幕礼物数据
python爬取虎牙弹幕礼物数据 查看官方文档 找到弹幕传输的方式 生成websocket对应的参数 第一步: 第二步: 调通websocket 建立链接 获取数据和保持心跳 附上完整代码 注: 查看 ...
- 手把手教你使用Python爬取西刺代理数据,不用担心我封IP了!
/1 前言/ 前几天小编发布了手把手教你使用Python爬取西次代理数据(上篇),木有赶上车的小伙伴,可以戳进去看看.今天小编带大家进行网页结构的分析以及网页数据的提取,具体步骤如下. /2 首页分析 ...
最新文章
- Java 离 Linux 内核有多远?
- 【Android 逆向】应用安装目录 ( Android 应用的默认安装目录 | 查找 Android 应用的安装目录 | 查询当前正在运行的应用包名 | 根据包名查询应用安装路径 )
- 数据下载工作笔记三:脚本
- 如何用Python编写一个聊天室
- What is the usage of getMasterKeyAttributes in configuration.js
- java exception 行号_java日志记录错误的文件_方法_行号_报错信息
- 流媒体传输协议系列之--RTSP协议详解
- debian查询端口进程_centos linux系统配置查询
- Excel 导入 Sql Server出错——“文本被截断,或者一个或多个字符在目标代码页中没有匹配项”错误的解决...
- stm32移植freemodbusRTU(HAL库+Freertos)主机
- hua ge ju hao
- 洛谷P3195 [HNOI2008]玩具装箱TOY——斜率优化DP
- 网站发布后验证码不显示
- java之Stream流
- 【笔记】FFC 20624 Winter 09的mil与mm显示转换
- Flutter-16进制透明颜色对照表
- Qt程序退出QThread: Destroyed while thread is still running问题
- Wireshark用户使用手册系列完结篇
- 新西兰计算机预科学费多少钱,留学新西兰预科费用及课程
- Android有效解决加载大图片时内存溢出的问题
热门文章
- win10下安装多个cuda(cuda9.0和10.0),并自由切换版本
- 【Kalman】卡尔曼滤波Matlab简单实现
- kafka保证数据可靠性的方式
- Linux Shell编程笔记9 SSH和Screen工具
- 双螺杆制冷压缩机行业调研报告 - 市场现状分析与发展前景预测
- 2021-2025年中国电动毛巾散热器行业市场供需与战略研究报告
- OpenAI升级Codex,直接将书面语言转为计算机代码;区块链网站被黑客偷走6亿美元加密货币|极客头条...
- 写代码时发现......还是SpringBoot牛逼!
- 京东被曝显卡售后不肯维修要原价退款;​IBM发布第一个2纳米芯片;Bootstrap 5.0.0发布|极客头条...
- 云时代,运维要么自己写代码,要么开发替你写了