说起Python爬虫,很多人第一个反应可能会是Scrapy或者Pyspider,但是今天文章里用到是Python下一个叫Mitmproxy的抓包工具,对付一些非常规的数据获取还是很有效的。

不过凡事都是有利有弊,一来麻烦,二来呢不会自己动,还得手动(或者按键精灵也可以啊)。

自从滴滴的拼车业务全国下线之后,一直专注拼车的某拼车APP在背后默默替老大哥照顾着那些可怜的乘客。上周五下班的时候,本来想用某拼车APP搭个顺风车回家,没想到下班高峰期的时候,某拼车APP居然挂了,过了十几分钟才缓过来,心里好奇,就想爬一下某拼车APP的数据,看看周边上下班拼车的情况。

知己知彼,百战不殆

对于APP类的爬虫,首先想到的就是抓包,macOS下常用的就是Charlesmitmproxy这两款工具了,而mitmproxy由于支持拦截和脚本又深得我爱,用法的话这里就不具体展开介绍了。

启动mitmweb(mitmproxy家那个有页面的兄弟)抓包工具,手机上打开某拼车APP客户端,查看附近订单(已提前认证车主,并切换到车主身份)

更多Python视频、源码、资料加群683380553免费获取

对应一下就可以发现,查询附近订单的接口URL就是这个getNearbyBookingRideList,于是我很天真地就拿着这个接口,和抓包数据,就去请求了

结果人家告诉我

{“code”:205,”message”:”签名错误!”}

因为客户端APP有个签名算法,根据POST给服务器的参数计算的,除非我破了人家APP,然后把算法给找出来,想想还是算了,费神费力(主要是我压根不会)!

这个法子行不通,只能换个法子了

神器在手,天下我有

前面提到mitmproxy有个带web界面的兄弟叫mitmweb,其实还有一个支持脚本的兄弟叫mitmdump,写好脚本

把脚本存为 111.py,然后终端执行命令:

mitmdump -s 111.py -p 8080

剩下要做的就是不断去某拼车APP上划几下,至于数据那块,就交给Dump兄弟就好了

嗯,看到了嘛~想看哪,手指就滑哪,越滑越有!

再接下来就是需要把我们抓到的数据存起来,以备后期使用,这里我用的是Mongodb,虽然也是第一次用,为了方便点,另外写了个插入数据的方法,再在爬虫文件里面调用。

再到我们数据库看看,已经硕果累累了,不够的话就再多滑几下。

数据抓取的思路大概就是这样,因为没时间捣鼓所以就没上APP自动化,其实可以搞个 模拟器+按键精灵,或者appium,就是太懒了怕麻烦,上班的时候划一划就当运动了

数据展示

时间问题,暂时没做数据分析,不过数据挺干净的,也不需要处理啥

关键字Mongodb、Pandas、Pyecharts

拿了周六杭州跨城顺风车数据结合阿里云的DataV做了个简单的飞线图,会动的那种,点击阅读原文可以查看动图。

用Python抓包工具查看周边拼车情况相关推荐

  1. 爬虫从入门到精通(18) |Python抓包工具Mitmproxy介绍

    文章目录 一.前言 二.安装mitmproxy工具 三.mitmdump 四.mitmweb 五.编写脚本 一.前言 除了我们的抓包软件fiddler和Charles,我们今天再介绍一款抓包工具mit ...

  2. python抓包工具_「docker实战篇」python的docker爬虫技术-fiddler抓包软件详细配置(七)...

    挑选常用的功能给各位老铁介绍下. fiddler第一次进入fiddlerfiddler会请求fiddler的官网,检查更新操作布局分布 工具栏File -capture traffic开启爬虫File ...

  3. Python 抓包工具 | Fiddler 下载、安装教程

     科普一下,Fiddler 是什么? Fiddler 是用C#写出来的,它包含一个简单却功能强大的基于JScript .NET 事件脚本子系统,它的灵活性非常棒,可以支持众多的http调试任务,并且能 ...

  4. Flutter Dio在 Charles等 抓包工具设置配置

    前些天提测新业务,QA反馈Flutter 页面不能抓包,以前看数据信息都是通过log收集,没有单独通过抓包查看数据,对QA来说不能抓包确实是问题.查了一下发现Dio框架是默认不允许抓包的,需要额外配置 ...

  5. 抓包工具Fiddler使用(主要用于监听APP对外访问请求)

    一.介绍 本人最近在做android开发,有时会遇到线上APP版本显示的数据"不符合预期",查找问题时,特别需要查看一下请求参数是否有问题,但是直接通过线上日志又不是很方便,如果此 ...

  6. 【0基础学爬虫】爬虫基础之抓包工具的使用

    大数据时代,各行各业对数据采集的需求日益增多,网络爬虫的运用也更为广泛,越来越多的人开始学习网络爬虫这项技术,K哥爬虫此前已经推出不少爬虫进阶.逆向相关文章,为实现从易到难全方位覆盖,特设[0基础学爬 ...

  7. 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具

    本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...

  8. 『Python爬虫』抓包工具 Fiddler 入门教程

    如今Python爬虫越来越火,有想学好Python爬虫的小伙伴可以前往gzh[Python编程学习圈]领取系统的学习资料以及教程视频,还分享有大量的技术干货文章可以阅读学习,欢迎大家关注学习. 传统的 ...

  9. Python爬虫抓包工具使用

    Python爬虫抓包工具使用 一. 常用的工具 python pycharm 浏览器 chrome 火狐 fiddler 2 fiddler的使用 二. 操作界面 三.界面含义 1. 请求 (Requ ...

最新文章

  1. r语言 林元震_科学网—ASReml-R之简介 - 林元震的博文
  2. 【论文阅读----DDI(1)】MUFFIN: multi-scale feature fusion for drug–drug interaction prediction
  3. 腾讯的前端工程师,是如何精进技术的?
  4. python解一元二次方程步骤-一元二次方程解法的实现(Python)
  5. 设计模式复习-观察者模式
  6. Qcon出品全球软件开发者大会北京站-低代码实践与应用
  7. C语言模拟实现标准库函数之strstr()
  8. 西北工业大学计算机毕业论文,西北工业大学硕士论文开题报告应注意的事项
  9. lte核心网由哪些设备组成_电气设备安装工程由哪些部分组成?
  10. windows64位 时序数据库 TimescaleDB + postgresql 安装
  11. 最大团问题回溯法求解
  12. window.dialogArguments.location.reload();
  13. WPS 连接 H2 Database
  14. 六款顶级Wifi无线网络搜索工具盘点
  15. C#桌面办公应用-工资管理系统系列二
  16. 电脑桌面图标右上角出现计算机名称如何取消,电脑桌面上的图标名称怎么清除不显示?...
  17. 土木/岩土期刊版面费/审稿费统计列表
  18. 华为OD机试 - 最短耗时(C++) | 附带编码思路 【2023】
  19. java jdk 配置不成功_JDK配置环境变量不成功的原因
  20. Android 手机红外遥控器实现

热门文章

  1. android 壁纸切换广播,android仿音乐引用锁屏切换音乐歌曲壁纸
  2. python batchnorm2d_BatchNorm2d原理、作用及其pytorch中BatchNorm2d函数的参数讲解
  3. 511遇见易语言学习信息框
  4. 成语答题兑换元宝源码分享
  5. 组合式Api 及相关操作用法
  6. 推荐10款非常优秀的HTML5开发工具
  7. 一文掌握组织项目等级划分维度,标准和实例
  8. Java木乃伊枪_java核心技术反射
  9. 计算机软件和常用快捷键
  10. 学习笔记16--红绿灯检测