稍后将在GitHub发布README,并在此发布演示页地址
组内有三人去考证了,只剩下6人
组员 | 分工 | 贡献比例 |
---|---|---|
王永福 | 前后端,爬虫,博客主体 | 30% |
孙承恺 | 建模,算法设计,统筹 | 18% |
邱畅杰 | 爬虫 | 15% |
徐祖豪 | 前端数据可视化 | 13% |
张凌昕 | 前端数据可视化,部分博客 | 11% |
丁枢桐 | 数据可视化,聚类算法 | 13% |
environment.yml
并上传至GitHub,大家可以去看package.json
中有,可以yarn install
直接安装
根据题目要求,我们需要爬取相关数据,根据对题目的分析,以及对美团和大众点评、高德地图的前期调研,我们认为可以将前三个评测目标划为一组,数据一起爬取,因为它们需要的字段比较相似(可以见上面的数据截图);第四个目标我们在美团上找不到数据,大众点评难以爬取,因此转向高德POI搜索爬取。
美团的数据主要从手机版网页爬取(PC版网页没有经纬度且需要计算token),使用Chrome Developer Tools模拟手机访问网页抓取数据进行分析,发现Cookie
只需要设置ci
和uuid
即可爬取,其他仿照抓取到的请求设置。
爬取时需要注意美团反爬技术非常硬,需要不断更换IP和ID,否则没一会就会白给,早上我们已经白给好多次了。我们的爬虫理论上具备获取所有数据的能力,但由于疯狂白给,最后只获取了少量数据用于制作demo。
另外高德API虽然不反爬,但是API有调用配额限制,爬多了也会白给。建议多准备几个Key
获取到数据后,需要对数据进行预处理以进行展示,对于不同的评测目标,采取不同的方法
将美团爬取到的数据按销量降序排列,按商圈聚类,然后根据全局排名,分阶梯对每一个商铺赋权,再将商圈内的商铺权值求和,排序,得到最受欢迎的商圈。
这个比较简单,直接按人均消费所属阶层聚类,组内排序,第一关键字评分降序,第二关键字人均价格升序。
两条路:
clustering
中的代码生成从高德地图爬取的数据参照第一个评测目标相似的方法处理
主要采用了Vue框架来管理视图路由,AntV进行可视化展示,展示效果可见截图。地图部分采用了高德地图JS SDK
理论上不需要这部分,但是没用网络感觉很low,为了高级一点,也为了可扩展性,用Flask加了个服务端,动态提供数据
跟数据可视化一起做了,页面上的东西基本都是有交互的,饼图有Tooltip,点击下面的图例可以取消显示某一类,做到部分展示。地图可以旋转,改变俯仰角,热力图是3D的
可以在可视化上做一些炫酷或者高级的交互,比如说:
如果能爬到大量数据
做一整个推荐平台,同时收集用户数据
在这次现场编程中我主要负责的是前端这一块,在写饼图的时候,我刚刚开始不是很懂G2,并且在挑选饼图形式的时候,比较不知道挑选哪个比较好
多看一些模板,并且有的模板上会给一些注释,让我更了解G2的一些使用方法,用起来更容易。在饼状图格式的挑选上,先是选了一个不是太好看的,后来又选了一个比较合适的。
短时间的分析和设计很令人烦躁,api接口没开放增加工作量
化繁为简
数据难以爬取,token算法未知
对于美团爬取手机版页面,采用代理池
对于大众点评,放弃
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 0 | 0 |
· Estimate | · 估计这个任务需要多少时间 | 0 | 0 |
Development | 开发 | 240 | 240 |
· Analysis | · 需求分析 (包括学习新技术) | 30 | 30 |
· Design Spec | · 生成设计文档 | 0 | 0 |
· Design Review | · 设计复审 (和同事审核设计文档) | 0 | 0 |
· Coding Standard | · 代码规范 (为目前的开发制定合适的规范) | 0 | 0 |
· Design | · 具体设计 | 30 | 30 |
· Coding | · 具体编码 | 180 | 180 |
· Code Review | · 代码复审 | 0 | 0 |
· Test | · 测试(自我测试,修改代码,提交修改) | 0 | 0 |
Reporting | 报告 | 60 | 60 |
· Test Report | · 测试报告 | 20 | 0 |
· Size Measurement | · 计算工作量 | 10 | 10 |
· Postmortem & Process Improvement Plan | · 事后总结, 并提出过程改进计划 | 50 | 50 |
合计 | 300 | 300 |
第N周 | 新增代码(行) | 累计代码(行) | 本周学习耗时(小时) | 累计学习耗时(小时) | 重要成长 |
---|---|---|---|---|---|
8 | 780 | 5460 | 8 | 70 | 学习了Android开发基础;需求分析报告编写 |
9 | 800 | 6260 | 14 | 84 | 学习了前端开发,基本数据可视化;学习Android开发 |
原文:https://www.cnblogs.com/rtxux/p/11784281.html