• 0
  • 0
分享
  • 用Python抓包工具查看周边拼车情况——软件测试圈
  • 落叶凌飒 2024-09-14 15:40:23 字数 1263 阅读 580 收藏 0

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

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

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

  知己知彼,百战不殆

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

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

1-1.jpg

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

1-2.jpg

  结果人家告诉我:

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

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

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

  神器在手,天下我有。

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

1-3.jpeg

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

  mitmdump -s 111.py -p 8080

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

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

1-4.jpg

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

1-5.jpeg

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

1-6.jpeg

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

  数据展示

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

  关键字Mongodb、Pandas、Pyecharts

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

1-7.jpeg


作者:I'm_江河湖海    

来源:http://www.51testing.com/html/90/n-7796390.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   汤姆猫在投资者关系活动中对是否受网游新规影响进行了回应,表示汤姆猫系列产品 80% 以上活跃用户来自于海外市场,国内用户占比较低。  汤姆猫家族 IP 系列游戏以广告收入为主,而非内购充值,2023 年上半年公司实现广告收入 51916.77 万元,占营业收入比重为 75.43%。  除国内外团队在研的《Talking Ben AI》(暂定名)、多模态 AI 汤姆猫、汤姆猫 AI 讲故事等 AI 交互产品之外,还储备了《汤姆猫图画册》《金杰猫的游乐场》《汤姆猫闯乐园》《我的汉克狗:海岛》《Sonic Dash:Endless Running》《Sonic Dash 2:SonicBoom》...
            0 0 775
            分享
          •   谈到数据产品,很多时候有一种误解,认为这些产品无法通过自动化来进行测试。 尽管流水线的某些部分由于其实验性和随机性而无法通过传统的测试方法进行测试,但大部分流水线可以。 除此之外,更加不可预测的算法可以通过专门的验证过程。  让我们来看看传统的测试方法,以及我们如何将这些方法应用到我们的数据/ ML 流水线中。  测试金字塔  标准简化的测试金字塔如下所示:  这个金字塔表示您将为应用程序编写的测试类型。 我们从大量的单元测试开始,这些单元测试独立于其他功能来测试单个功能。 然后我们编写集成测试来检查将我们隔离的组件组合在一起是否按预期工作。 最后,我们编写 UI 或验收测试,从用户的角度...
            0 0 962
            分享
          • 1、你的测试职业发展是什么?测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前 3 年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。2、你认为测试人员需要具备哪些素质?做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。3、你为什么能够做测试这一行?虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试...
            1 1 2231
            分享
          • 新浪科技讯北京时间11月14日上午消息,据报道,多年来科技巨头们一直支撑着美国股市,它们的股价连连创下新高,但是2022年美国股市突然不行了,于是科技巨头也就没有那么风光了。尽管上周美国股市出现反弹,今年苹果、微软、亚马逊、谷歌母公司Alphabet、Meta的市值总和还是损失了超3万亿美元。这主要是因为营收增速放缓,利率上升。2020年9月5家公司的市值在标普500指数中占比达到24%,创历史新高,现在降到了19%。美联储退出宽松政策,股市已经发生了很大的变化。就在科技企业影响力退潮时,传统行业却在前进,能源和银行等行业在标普500指数中占据了更大的份额,埃克森美孚和富国银行都因为高油价或者...
            0 0 964
            分享
          •   ChatGPT-4o 是 OpenAI 聊天机器人阵容的最新迭代产品,正如你所预料的那样,该公司对用户如何与聊天机器人互动有些担忧。鉴于最新版本的聊天机器人可以表现出类似人类的行为和反应,这家人工智能公司担心用户会对聊天机器人产生感情。  ChatGPT-4o 提供了更快的回复,甚至还有模仿人类语音的新语音功能,而这正是 OpenAI 所担心的。  这家市值数十亿美元的初创公司在继续完善其产品的同时,也不能不注意到 ChatGPT-4o 用户的一些行为模式。新聊天机器人的推出旨在提供一种类似于与人交谈的体验,但 OpenAI 似乎低估了用户与程序之间可能产生的情感联系。该公司在下文中重点介...
            0 0 426
            分享
      • 51testing软件测试圈微信