数据可视化分析:豆果美食网的数据爬取比较简单
优采云 发布时间: 2021-06-15 01:26数据可视化分析:豆果美食网的数据爬取比较简单
前言
这是一个发生巨大变化的中国,人和食物的流动速度比以往任何时候都快。最近,J哥为了寻找中国,跑遍了一个五线城市的大街小巷,除了累什么也没找到。
于是,J先生默默的点开了豆果美食、厨房、美食世界等各大美食网站,经过筛选,我们终于抓取到了豆果网发布的总共3032道中国菜食谱,然后清理数据并进行可视化分析,试图走上美食博主的广阔道路。
斗果美食网的数据爬取比较简单。如果你对爬虫感兴趣,可以看看。
本次抓取的数据范围为川菜、粤菜、湘菜等8个中国菜系,包括菜谱名称、链接、素材、评分、图片等字段。限于篇幅,只给出核心代码。
1# 主函数
2def main(x):
3 url = 'https://www.douguo.com/caipu/{}/0/{}'.format(caipu,x*20)
4 print(url)
5 html = get_page(url)
6 parse_page(html,caipu)
7
8if __name__ == '__main__':
9 caipu_list = ['川菜', '湘菜','粤菜','东北菜','鲁菜','浙菜','湖北菜','清真菜'] #中国菜系
10 start = time.time() # 计时
11 for caipu in caipu_list:
12 for i in range(22):
13 # 爬取多页
14 main(x=i)
15 time.sleep(random.uniform(1, 2))
16 print(caipu,"第" + str(i+1) + "页提取完成")
17 end = time.time()
18 print('共用时',round((end - start) / 60, 2), '分钟')
短短几分钟,3032 条菜谱信息就被爬下来了。为了便于可视化分析,需要对抓取到的数据进行简单的清理。
本文的数据清洗主要使用 Python 的 Pandas 库。
导入数据
使用pd.read方法导入爬取的配方数据并添加列名。预览数据如下:
删除重复项
在爬取过程中重复爬取少量配方数据,需要使用drop_duplicates方法删除。
缺失值处理
通过info方法发现少量记录收录缺失值,使用dropna方法删除。
得分场地清洁
爬取的分数字段收录冗余字符串并且是对象类型。多余的字符串需要替换,转换为数值类型,方便后续计算。
添加物料编号字段
为了便于分析配方中使用的食材,需要根据食材字段计算每个配方中使用的食材量。由于材质字段都是用逗号分隔的,所以可以通过计算逗号的个数来间接得到。
本文的数据可视化主要使用pyecharts库,可以轻松实现炫酷的图表效果。对可视化感兴趣的可以查看上一期J Ge原创文章《数据可视化分析系列》,涉及房地产、电商、招聘等领域。
食谱分数分布
<p> 1from pyecharts import options as opts
2from pyecharts.charts import Page, Pie
3cut = lambda x : '4分以下' if x