郑世杰---第二次作业
这个作业属于哪个课程 | 至诚软工实验F班 |
---|---|
这个作业要求在哪里 | 第二次作业:个人编程 |
这个作业的目标 | 学习使用抓包工具,并解析json |
Gitee 地址 | Gitee传送门 |
一、准备工作
- 下载Fiddler Everywhere 抓包工具
- 安装pyCharm用于写 python代码
- 准备一台电脑两台移动设备 用于连接同一个局域网抓取数据
二、实现过程
-
先让电脑和一台手机连上同一个局域网然后给手机的局域网配置代理改为手动 修改服务器和端口
-
服务器和端口号可以连接局域网后在Fiddler Everywhere 查找
- 然后在手机端打开朴朴 再打开一个商品
- 这个时候Fiddler Everywhere就可以抓取到了
- 在Fiddler Everywhere里找到相应的URL和header
- 然后写入Python代码就可以了(下面有代码解读)
三、代码解读
- 将解析后的数据转成text文本格式转换为json接收
#发送请求
res = requests.get(url, headers=header)
jsonDate = json.loads(res.text)
- 用变量去接收数据
name = jsonDate["data"]["name"]
spec = jsonDate["data"]["spec"]
price = str(int(jsonDate["data"]["price"]) / 100)
market_price = str(int(jsonDate["data"]["market_price"]) / 100)
share_content = jsonDate["data"]["share_content"]
- 去捕获异常 如果捕获到异常就中断程序 sleep(5)阻塞进程5秒
try:
while (True):
nowTimeAndPrint = strftime('%Y' + '-' + '%m' + '-' + '%d' + ' %H:%M:%S,现价为:' + price + '\t原价为:' + market_price)
print(nowTimeAndPrint)
sleep(5)
except:
print("程序中断")
四、商品信息
五、运行结果
六、Gitaub推送
七、遇到的困难和解决办法
刚刚开始的时候本来想直接在IDEA里面安装Python的插件可是在写python的时候。requests导进去了系统识别不到(系统自动导包和去网站直接下载拖进去都无果)在上网找资料和同学们4个小时的帮助下去官网下载pyCharm并且破解掉进去自动导包后解决(应该是mac M1 芯片不太兼容的原因)
八、总结
-
由于我大专的专业是汽车的维修与检测,通过伟强同学在群里发的哔哩哔哩的学习视频,我自己在网站上的一些视频大致了解了一下Python基本语法和Fiddler Everywhere 的使用,我在这一次作业中学习到了在碰到困难时如何去寻找解决方法,以及在下次碰到困难时跟加快速的高效到解决问题举一反三。