欢迎访问海洋网动态IP云主机中心!


我爬取分析美团网,原来北京上海Top10美食是它们

发布时间:2020/4/26 11:49:00 阅读次数:

要想阅读这部分,需要对元类编程有所了解。

数据爬取三步曲之前方有坑

工作需求需要采集OTA网站的美食数据,某个城市的饭店类型情况等。对于老饕来说这不算个事。。。然而最后的结果是中午晚饭都没有时间去吃了。。。情况如下

1.jpeg

Chrome F12直接定位get请求,response的结果是json,研究下get的参数发现有个奇怪的参数token?!

2.jpeg

先不管他直接修改参数翻页请求数据!!!

3.jpeg

数据爬取三步曲之开始填坑

问题来了!纠结半天后发现这个token是有时效的,而且是js生成的。。。这也不是问题,get请求行不通我们还有selenuim。悲催的是美团真的是大厂直接封杀selenuim

4.png

数据爬取三步曲之将坑填平

又回到原点。没办法只能从token下手了经过一番查找发现一个js文件

5.png

嗯。。。好吧继续,因为之前没有用python直接调用js,百度一番发现pyexecjs、PyV8等都可以。悲催的是我的python2.7安装pyexecjs后一直不能正常使用,PyV8没有问题。只是PyV8安装过程太心酸

废话不多说直接上代码:

6.png

我把js文件存放到本地python直接使用PyV8直接解析执行token的js事件

7.png


程序自动生成token,迫不及待接续解析json数据入库

8.jpeg

9.jpeg

测试完成先抓取北京和上海数据进行数据可视化

在统计师发现美团还是对数据经行了限制每个类型的餐饮场所最多显示每页32个一共32页。也就是32*32=1024个


10.jpeg

数据可视化

北京、上海美食各类型数量占比情况

11.jpeg


看以看出川湘、烧烤烤肉和西餐在两地的数量占比都是最多的。撸串、麻小果然不分南北。

13.jpeg

数据中有每家店的品论数量我们可以从中分析出每一类美食的总评论情况来展示受欢迎情况,因展示效果我们只展示top10

北京、上海市top10美食情况

11.png

北京和上海两地火锅荣登榜首哈

下面我们对比下两地同类美食的平均价格的情况:

14.jpeg

魔都消费水平已经超过帝都啦。。。哈哈哈

以上只是个人简单分析不代表权威发布仅供娱乐,欢迎各界朋友交流学习。

好了我的泡面好了。。。嗯真香!!!