文章目录

  • 简介
  • 环境搭建
    • 夜神模拟器
    • fiddler
    • mitmproxy
    • Packet Capture
    • Appium
    • Docker
  • 小结

简介

  • 虽然App的反爬机制没有Web端那么复杂,但需要Java开发基础、Android开发经验哈app内部加密算法相关的知识

    • 涉及到的内容包括:
    • 为了熟悉流程,打造数据获取通路,主要掌握的内容简化为以下几部分
      • 夜神模拟器的使用
      • Fiddler抓包工具的使用
      • appium实现自动化控制app应用
      • Docker环境实现多任务
    • 先从一款简单的App应用入手,后面实现并行的抓取抖音、快手和今日头条的数据

环境搭建

  • Android模拟器的使用

    • 可以直接使用你的手机,但是安全起见,使用模拟器也方便调试
  • 常见开发模拟器的对比:
  • 抓包软件的安装
    • 这里主要使用fiddler和mitmproxy
  • 常见抓包软件的对比:
  • Docker的安装

夜神模拟器

  • 官网下载
  • 安装过程很简单,按照指引即可
  • 安装完成后会默认创建一个平板的模拟器
    • 在设置中开启ROOT
    • 也可在手机与网络中选择机型
    • 夜神为有些而生,可以多开几个:
    • 2核就要开启VT(CPU虚拟化,教程自己找)
  • 安装我们要爬取的应用
    • 如果直接在模拟器中搜索不到,可以在网上下载好apk,直接拖进去即可
  • 在模拟器的安装目录中,进入/bin目录,打开cmd窗口
    • 执行> ./adb.exe devices -l命令,查看正在连接的设备(手机)
    • 这就是夜神为我们买的手机;也可以使用此程序安装应用
      • 将安装包放在bin目录下,执行> ./adb.exe install xxx
      • 以上便是常见的三种安装app方式
  • 还有个模拟器叫Genymotion,不用,就先不说了!

fiddler

  • 一个Web调试平台,可以监控和修改数据流

    • 类似nginx实现负载均衡、转发请求
    • 更类似wireshark,就是一款抓包工具
  • 官网下载
    • 大致看一下界面:
  • 配置fiddler,在Tools中打开Option

    • 由于要作为中间人捕获流量,需要使用证书,同意即可!也可以设置要捕获流量的来源,可以是浏览器或远程客户端(移动端)
    • 配置个不冲突的端口号,同意远程连接
    • OK,配置好之后在谷歌浏览器上添加插件SwitchyOmega,设置代理
    • 配置为本地即可,要点击应用选项哦,然后选择使用刚配置的代理:

      • 相当于让请求经过本地的fiddler,没啥
    • 重启我们的fiddler,然后浏览器访问网页,即可抓包!
    • 捕获的数据可能需要Decode

mitmproxy

  • MITM(man in the middle attack)中间人攻击

    • mitmproxy即用于中间人攻击的代理
  • 和fiddler的作用原理类似:
  • 和fiddler代理一样能拦截修改转发返回请求,区别在哪呢?
    • 可以载入自定义python脚本
  • 安装:基于python的Linux操作系统
    • 如果在Windows系统中还需要visual C++ 14.0,直接打开cmd:pip install mitmproxy
    • 查看版本发现,与Linux交互一般使用mitmdump
    • 在Linux中也是类似的
  • 接下来的操作都在Linux终端(我用vmware虚拟机)
    • 输入mitmproxy启动,默认监听8080端口
    • 查看虚拟机IP,在浏览器中配置SwitchyOmega
    • 配置mitmproxy的证书
      • 访问这个网站mitm.it(要先配置代理),然后下载对应平台的证书并安装
    • 与Windows交互一般使用mitmweb,会弹出一个网页;也可以使用mitmdump -w test.txt将抓到的包保存在文件中

Packet Capture

  • 是一款免Root的APP,运行在安卓平台上,用来抓取App流量
  • 同样是使用中间人技术对SSL进行解密
  • 下载安装包,打开模拟器安装

Appium

  • 自动化测试开源工具,用于自动调用App功能,配合抓包工具使用,获取数据
  • 本质是封装了标准的Selenium类库(Web端测试工具)
  • 支持多平台、多语言
    • 采用CS模式,客户端只要能发送请求即可,屏蔽了语言特性
  • 工作原理:

    • 因为支持多语言,所以有多个客户端
    • 客户端将要执行的脚本发送给服务器解析,最后传递给真机执行
  • 下载Appium服务端并安装
    • 官网,可能需要科学上网,下载对应版本!
    • 也可通过node安装,不推荐
    • 客户端我们使用python,所以可通过pip直接安装

Docker

  • 和虚拟机相比:

    • 虚拟机需要将操作系统的内核安装部署,才能运行
    • 而Docker采用容器的思想,不需要硬件虚拟,能更高效的利用系统资源
    • 同时也保证了运行环境的一致性,便于测试和迁移
    • 一次配置,到处运行;即所谓的持续交付和部署
  • 不用太纠结,用了就知道有多好了!赶紧安装
    • 官网
    • 之前有两种:Docker-for-Windows和Docker-Toolbox,但是后者deprecated
      • Windows版本需要专业版或企业版才可,也要打开Windows的虚拟机Hyper-V
      • 这玩意儿对模拟器和VMware等有影响,详情
      • 所以咱直接打开虚拟机在Ubuntu上搞,详情
    • 安装之后在桌面有个quickstart,用来初始化Docker
    • 初始化完成后会进入Docker终端
      • docker version查看版本
      • docker run hello-world运行一个简单程序
      • docker run -it ubuntu bash下载并进入Ubuntu交互界面
      • docker images查看下载的镜像,docker rmi hello-world删除镜像

小结

  • 基础环境的搭建先到这里,后续先深入学习抓包工具的使用

App数据抓取(基础篇)相关推荐

  1. Python爬虫实战:手机APP数据抓取分析!谁说不能爬取app数据的?

    大多数手机APP里面返回的是json格式数据,或者一堆加密过的数据 .这里以超级课程表APP为例,使用python抓取超级课程表里用户发的话题.主要是练习python爬取app的一些方式和技巧. 1. ...

  2. 爬虫_app 4 app数据抓取入门

    一.python实现app数据抓取需求 1.分析豆果美食数据包 2.通过python多线程-线程池抓取数据 3.通过使用代理ip隐藏爬虫 4.将数据保存到 mongodb 中 handle_mongo ...

  3. python爬取app播放的视频,Python爬虫工程师必学——App数据抓取实战视频教程

    爬虫分为几大方向,WEB网页数据抓取.APP数据抓取.软件系统数据抓取.本课程主要为同学讲解如何用python实现App数据抓取,课程从开发环境搭建,App爬虫必备利器详解,项目实战,到最后的多App ...

  4. 22.网络爬虫—APP数据抓取详讲

    网络爬虫-APP数据抓取详讲 Fiddler 工作原理 安装完成Fiddler后的配置 前提条件 工具配置 手机数据抓取 Fiddler手机端配置 手机端操作 实战演示 后记 前言:

  5. Python爬虫入门实战之猫眼电影数据抓取(理论篇)

    前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...

  6. python编程理论篇_Python爬虫入门实战之猫眼电影数据抓取(理论篇)

    前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...

  7. python爬虫入门实战争胜法_Python爬虫入门实战之猫眼电影数据抓取(理论篇)

    前言 本文可能篇幅较长,但是绝对干货满满,提供了大量的学习资源和途径.达到让读者独立自主的编写基础网络爬虫的目标,这也是本文的主旨,输出有价值能够真正帮助到读者的知识,即授人以鱼不如授人以渔,让我们直 ...

  8. python爬虫之app数据抓取_Python爬虫入门教程 29-100 手机APP数据抓取 pyspider

    1. 手机APP数据----写在前面 继续练习pyspider的使用,最近搜索了一些这个框架的一些使用技巧,发现文档竟然挺难理解的,不过使用起来暂时没有障碍,估摸着,要在写个5篇左右关于这个框架的教程 ...

  9. 爬虫教程( 3 ) --- 手机 APP 数据抓取

    1. Fiddler 设置 这是使用 fiddler 进行手机 app 的抓包,也可以使用 Charles,burpSuite 等... 电脑安装 Fiddler, 手机 和 安装 fiddler 的 ...

最新文章

  1. ASP.NET Core appsettings.json文件(9)《从零开始学ASP.NET CORE MVC》:
  2. 那么温暖http合约,入门。
  3. mysql log stats_MySQL慢查询之pt-query-digest分析慢查询日志
  4. CleanMyMac教程轻松解决各种使用难题
  5. 自动输入命令执行_Ubuntu命令行操作-命令简介
  6. SQL查询语句精华总结
  7. Office 2007打开提示:The setup controller ..
  8. 毒液组学-多组学关联分析大全
  9. 梨花众创 - PacketView工业控制协议分析系统 简介
  10. TFN系列超声波探伤仪为什么在众多品牌竞争中脱颖而出
  11. chromium浏览器定制 | 高匿名爬虫随机指纹
  12. PS快捷键大全,记住这些就够了!
  13. 今日头条启动很快,你觉得可能是做了哪些优化?
  14. ubuntu启动报错kernel panic
  15. 速卖通,国际站卖家如何更高效进行测评
  16. linux grant命令,linux指令集
  17. “导师制”新型教学模式的探索
  18. 医院管理php,医院管理系统接入php短信接口的应用
  19. STC15系列单片机头文件STC15.H在哪?
  20. Beam,zec之后的又一尝试

热门文章

  1. java编写一个简单的模拟抽奖程序
  2. macbook系统占用硬盘大_mac系统占用磁盘80g相关阅读-mac系统占用磁盘80g文章阅读-123文学网...
  3. ACM封榜滚榜技术记录(qduoj)
  4. kali开启服务器传文件,FileZilla的使用方法及kali系统ftp服务的安装
  5. OpenCV小游戏-《跑跑卡丁车》项目实践-1
  6. perfect scrollbar插件无限上拉bug,以及export default (imported as xxx) was not found in xxx报错
  7. 格式化的硬盘数据恢复
  8. 微信小程序/uni-app生成海报功能@令狐张豪
  9. 搜狗浏览器扩展插件开发制作详细流程记录
  10. SpringCloud——Eureka注册中心搭建