mitmdump抓取数据的使用步骤实例——第一阶段

为什么不用fiddler抓取后直接oy文件处理,而还要借助mitmproxy?

大:因为fiddler时可以抓取到api接口的数据包,但是有些app的api接口post 的请求数据不知道他抛过去的数据的加密算法,也就无法模拟客户端post数据,比如豆果美食就可以模拟,因为数据基本是死的。而抖音不知道post过去的一些必要参数是怎么来的,所以直接获取不到。这时候就要借助mitmproxy里面的mitmdump来操作。

接下来开始mitmdump的实际运用操作。如下:

第一步:先借助 fiddler 通过抓包软包软件获取请求的接口,分析出不能手动模拟post的请求参数,所以决定采用mitmdump来实现数据的抓取。

第二步:用于mitmdump 的 python代码如下:decode_douyin_fans.py 如下

import json
# 这个地方必须这么写 函数名:response
def response(flow):
    # 通过抓包软包软件获取请求的接口
    if 'aweme/v1/user/follower/list' in flow.request.url:
        # 数据的解析
        for user in json.loads(flow.response.text)['followers']:
            douyin_info = {}
            douyin_info['share_id'] = user['uid']
            douyin_info['douyin_id'] = user['short_id']
            douyin_info['nickname'] = user['nickname']
            print(douyin_info)

第三步:需要开启模拟器,然后设置好代理。然后cmd这里也要同时运行mitmdump,这样就能在拉动抖音页面的时候可以在cmd页面看到数据了。如下:

cmd运行着段代码   mitmdump -s decode_douyin_fans.py -p 8889  说明:mitmdump -s py文件 -p 模拟器代理端口

显示下面这样,就说明mitmdump运行成功了。

打开抖音app,点开我们想知道的名人的粉丝列表,获取粉丝们的先关信息。通过在粉丝列表拉动的过程中,我们就能发现, 

cmd会有如下 的情况显示出来:

说明我们的mitmdump运行的py文件是成功的,同时说明我们当前写的关于mitmdump 的 py程序是对的。 

第四步:接下来就是把数据存入mongodb数据库:

在 handle_db.py 文件里面新加一个函数,用于写入mongodb数据库

下面的意思是说,如果数据库里面已经有相同的share_id了,就进行更新,没有的话就插入。

# 如果数据库里面已经有相同的share_id了,就进行更新,没有的话就插入。
def save_task(task):
    task_id_conllection = Collection(db,'task_id')
    task_id_conllection.update({'share_id':task['share_id']},task,True)

然后在decode_douyin_fans.py文件里引入handle_db文件,然后调用save_task函数

 第五步:然后cmd运行

mitmdump -s decode_douyin_fans.py -p 8889

 手动滑动抖音粉丝列表

mongodb数据库就会出现插入进去新数据,如下:

到此,第一阶段完成

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值