查看: 466|回复: 0
打印 上一主题 下一主题

爬取美团网美食数据,看北京上海都爱吃些啥

[复制链接]

658

主题

660

帖子

2010

积分

金牌会员

Rank: 6Rank: 6

积分
2010
跳转到指定楼层
楼主
发表于 2019-1-3 03:45:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
数据爬取三步曲之前方有坑
工作需求需要采集 OTA 网站的美食数据,某个城市的饭店类型情况等。对于老饕来说这不算个事,然而最后的结果是午饭晚饭都没有时间去吃了……情况如下:


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


先不管它,直接修改参数翻页请求数据:
数据爬取三步曲之开始填坑
问题来了!纠结半天后发现这个 token 是有时效的,而且是 JS 生成的。这也不是问题,get 请求行不通我们还有 Selenuim。悲催的是美团真的是大厂,直接封杀 Selenuim:


数据爬取三步曲之将坑填平
又回到原点——没办法只能从 token 下手了。经过一番查找发现了一个 JS 文件:


因为之前没有用 Python 直接调用 JS,百度一番发现 PyExecJS、PyV8 等都可以。悲催的是我的 Python 2.7 安装 PyExecJS 后一直不能正常使用,PyV8 倒是没有问题,只是安装过程太心酸。


我把 JS 文件存放到本地 Python 使用 PyV8 直接解析执行 token 的 JS 事件:
程序自动生成 token,迫不及待接续解析 JSON 数据入库:




测试完成先抓取北京和上海的数据进行数据可视化。
在统计时发现美团还是对数据进行了限制,每个类型的餐饮场所最多显示每页 32 个,一共 32 页,也就是 32*32=1024 个


数据可视化
北京、上海美食各类型数量占比情况:




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


数据中有每家店的评论数量,我们可以从中分析出每一类美食的总评论情况来展示受欢迎情况,因展示效果我们只展示 Top10。
北京、上海市 Top10 美食情况:




北京和上海两地火锅荣登榜首。
下面我们对比下两地同类美食的平均价格的情况:


魔都消费水平已经超过帝都啦。
以上只是个人简单分析不代表权威发布仅供娱乐,欢迎各界朋友交流学习。
作者:Kying,西二旗程序单身汪一枚。从事智慧旅游、数据挖掘。新晋 Python 小白,希望与志同道合者一起煮酒论英雄,数据森麟公众号(ID:shujusenlin)特邀作者。
声明:本文为作者投稿文章,版权归对方所有。
热 文 推 荐
Oracle 屠刀下的 Java 软件公司怎么活?
中国互联网二十四年红黑史
广播路由算法 : 如何优雅地传递悄悄话?
  无业务不技术:那些誓用区块链重塑的行业,发展怎么样了?
  下一次 IT 变革:边缘计算(Edge computing)
  12306 脱库 410 万用户数据究竟从何泄漏?
  年度重磅:《AI 聚变:2018 年优秀 AI 应用案例 TOP 20》正式发布
  老程序员肺腑忠告:千万别一辈子靠技术生存!
print_r ( ' 点个好看吧!' ) ;
var_dump ( ' 点个好看吧!' ) ;
NSLog ( @" 点个好看吧!" ) ;
System.out.println ( " 点个好看吧!" ) ;
console.log ( " 点个好看吧!" ) ;
print ( " 点个好看吧!" ) ;
printf ( " 点个好看吧!n" ) ;

cout
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

推荐阅读 More>
广告位




00853澳门论坛X

0511.net镇江网 分享生活 温暖你我

0511.net镇江网|镇江大小事,尽在镇江网! 镇江网由镇江亿速网络科技有限公司组建。镇江网汇集了镇江本地新闻信息,视频专题、国内外新闻、民生资讯、社会新闻、镇江论坛等。镇江网是镇江地区最具影响力的综合性门户网站,是镇江人浏览本地新闻的首选网站。...

点击查看详情 
快速回复 返回顶部 返回列表
友情链接