当前位置:   article > 正文

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

mitmdump -s

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

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

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

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

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

  1. import json
  2. # 这个地方必须这么写 函数名:response
  3. def response(flow):
  4. # 通过抓包软包软件获取请求的接口
  5. if 'aweme/v1/user/follower/list' in flow.request.url:
  6. # 数据的解析
  7. for user in json.loads(flow.response.text)['followers']:
  8. douyin_info = {}
  9. douyin_info['share_id'] = user['uid']
  10. douyin_info['douyin_id'] = user['short_id']
  11. douyin_info['nickname'] = user['nickname']
  12. 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了,就进行更新,没有的话就插入。

  1. # 如果数据库里面已经有相同的share_id了,就进行更新,没有的话就插入。
  2. def save_task(task):
  3. task_id_conllection = Collection(db,'task_id')
  4. 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数据库就会出现插入进去新数据,如下:

到此,第一阶段完成

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/45204
推荐阅读
相关标签
  

闽ICP备14008679号