4种Python爬虫(4. 手机APP,如,乐刻运动)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4种Python爬虫(4. 手机APP,如,乐刻运动)相关的知识,希望对你有一定的参考价值。
参考技术A 目录:
1. PC网页爬虫
2. H5网页爬虫
3. 微信小程序爬虫
4. 手机APP爬虫
爬取乐刻运动手机APP的课表数据。android和ios都可以。
要制定具体方案,还是要从抓包分析开始。
如果你在前一章《三、微信小程序爬虫》中已经搭建好了Charles+iPhone的抓包环境,可以直接启动“乐刻APP”再来抓一波。
LefitAppium.py
LefitMitmAddon.py
接下来就是见证奇迹的时刻了!
可以看到左侧的手机已经自动跑起来了!
所有流过的数据都尽在掌握!
这个方案的适应能力非常强,不怕各种反爬虫机制。
但是如果要去爬取淘宝、携程等海量数据时,肯定也是力不从心。
乐刻大数据平台架构实践
乐刻运动大数据是基于hadoop体系搭建的,主要满足运营的日常报表,以及公司核心指标为主。随着2016年线上线下的发力,以智能化健身为主的共享经济的提出,数据需求量大幅的激增,数据从最初的GB级到现在的PB级急增,我们开始反思如何支撑未来的可预见性数据需求。
早期ETL技术报表平台
乐刻大数据部门在早期,面对比较零散的统计需求,直接将业务数据配置脚本定时导入elasticsearch做一些复杂的统计查询,2016年底,随着运营数据需求的增加,希望查阅数据的人员增多,不同人员不同维度的查询需求,我们专门得抽出一个人来对接运营统计的需求,另外在技术上已经很难满足当前的统计需求。
因此,考虑到运营数据需求、公司核心指标需求相对固定,并且维度相对固定,我们搭建了早期的报表系统:
图1 乐刻运动数据平台报表系统
早期的报表系统,由数据开发工程师提交数据任务,通过配置Oozie定时任务,定时的基于Hive数据做ETL过程,将报表系统所需的数据导入elasticsearch。该系统从接收需求到报表系统里看到数据,需要比较长的一段时间过程,涵盖过程如下:
- 运营提出数据需求
- 将数据从hdfs使用hive处理数据结果
- 定期的运营数据,会每天展示到数据可视化平台,临时数据直接导出结果
可以看出提供的查询维度较单一,对接流程较复杂,角色间传递信息较多,前后依赖太强,都是制约报表系统快速产出数据的根本问题。我们自研的数据可视化平台DMS,通过web方式按照多个维度查询所需的数据,但对于非订制化需求、数据探索需求、数据分析需求支持的力度并不好。我们开始规划更好的数据分析平台服务。
乐刻数据平台2.0诞生
乐刻数据平台2.0我们对整个系统进行了一次大的调整,从数据采集,数据加工,数据存储,以及加入了脏数据预警功能,可视化平台方面提供更多定制化查询需求,运营可以自定义设置查询维度等。数据访问层我们提供基于SQL的快速查询功能,方便产品和需要使用数据的开发人员进行数据查询。
乐刻数据平台流式数据处理与计算
乐刻是一家智能化健身平台,意味着我们线下门店每天从各个设备产生的数据量是相当大的量,我们需要收集所有硬件设备的使用情况,监控每台设备运行情况,实时反馈到数据监控中心,乐刻线下硬件数据上报是通过阿里云ONS设计的具体如下:
- 用户通过APP发送使用硬件设备请求并且上报数据到ONS
- spark streaming实时消费产生的数据
- 通过数据模型产生结果数据
- 数据实时展示到监控中心
对于流式数据产生的结果,我们也会进行一些数据挖掘,用户画像相关的处理流程,通过索引elasticsearch提供一些多维度的查询服务。
乐刻数据平台数据存储与备份
由于我们的整个平台是基于阿里云打造的,所以自然而然我们使用到了很多阿里云的服务,比如数据存储服务OSS,RDS等,对于数据处理后的备份和处理如下:
- 原始数据备份存储到OSS和HDFS
- 数据加载可以选择本地机器或者从OSS导入数据
- 对于一些列式数据的存储如hbase,会定期同步到hbase,阿里云oss提供备份和还原数据
乐刻数据平台的整体架构和处理流程
关注“聊点源码”公众号获取更多资讯
以上是关于4种Python爬虫(4. 手机APP,如,乐刻运动)的主要内容,如果未能解决你的问题,请参考以下文章
都说Python是无所不能的!手机APP数据就能逃出我爬虫的魔爪吗?
Python爬虫编程思想(131):使用Appium抓取移动数据--控制App
Python爬虫编程思想(131):使用Appium抓取移动数据--控制App
Python爬虫入门教程 48-100 使用mitmdump抓取手机惠农APP-手机APP爬虫部分
Python爬虫编程思想(130):使用Appium抓取移动数据--查找Android App的Package和入口Activity