Python有趣的小案例:爬一爬寿司外卖的数据

闲来无事爬了下外卖的寿司数据,写写分享给各位python的爱好者。

Tips:本爬虫为了提高爬取速度,使用了异步协程,有需要且数据量小的喷油并不建议这么使用,会被封掉,可以修改为常规同步代码。

根据数据分析的ETL流程,该小爬虫讲解如下:

1.先准备下面的Python第三方包:

2.然后选择一个外卖平台进行分析,这里我选择的是ele.me,原因就是因为简单!简单!简单!

ele.me可以直接通过Chrome的web分析找到数据接口,没有那么多反爬套路。

接下来上正餐~~~~

2.1先定义好一个请求数据的函数:

后续的数据请求都是通过这个函数,因为使用的是异步协程,所以使用async定义。

2.2接下来是数据提取函数:

函数分别是获取店铺id,获取店铺详情,这里面需要注意的是提取数据要注意去重,这里使用了简单暴力的集合数据结构去重。

2.3数据提取完毕,接下来使用pandas重新载入数据做最后的分析,如下:

2.4最后一步就是做分析,使用pandas处理,这里以简单的每个店铺月销售总额做为指标:

这一步是用pandas替代了SQL做处理,也可以存入MySQL中再处理,代码如下:

3.处理函数全部定义好,就可以开始写main函数了:

4.最后一波操作,执行main函数:

因为是异步,需要在事件循环中执行。里面的lists就是自己想要搜索的区域中的外卖店列表,下面提供几个列表示例:

URL只要替换keyword和latitude,longitude就可以搜索自己想要区域,经度纬度可以通过各类地图API获取,这里就不打广告了

这个爬虫使用了异步请求,集合去重,pandas的数据库同步写入等基础知识,适合练手,至于数据的价值自己慢慢挖掘,有点意思。

比如月售与各种维度的关系,比如散点图,柱状图,日历热点图:

结论

最后,喜欢小编的文章的朋友可以关注、收藏、转发、留言,阅读愉快!!

每天晚上20:00都会开直播给大家分享Python知识和路线方法,群里会不定期更新最新的教程和学习方法(进群送2018Python学习教程),大家都是学习Python的,或是转行,或是大学生,还有工作中想提升自己能力的Python党,如果你是正在学习Python的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

关注公众号,“Python语言”,回复“python”即可获取python学习视频

为大家提供与Python相关的最新技术和资讯。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180625A0W9ZN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券