转载自:https://www.jianshu.com/p/b10066e60b6c
最近想分析一下2018年10月第一次入了伟力的12428小车以后在模型上的消费,但是从2018年到今年很多的订单。本想自己截图一下然后计算的,但发现非常的麻烦。淘宝又没有工具能够导出订单的工具。手工做的话还是放弃吧,还是研究下自动的方式。
使用selenium等方式还比较麻烦,试了下无法登陆,拖动验证码的时候就报错了。打开API请求发现翻页的API请求asyncBrought包含了订单的详细信息,非常的方便。
怎么拦截这些API请求呢?想用下Tempermonkey但似乎没提供拦截的功能。还是用一个中间代理mitmproxy这个工具能够满足这样的需求。
代码很简单,只需要把asyncBought拦截,然后把数据写到一个json文件即可。json文件用当前的页码作为文件名,比较好处理。
import json
from mitmproxy import ctx
import arrow
def response(flow):
response = flow.response
if 'asyncBought' in str(flow.request.path):
resp = json.loads(response.text)
print(resp)
with open(f"./out/{re