这个作业属于哪个课程 至诚软工实践F班
这个作业要求在哪里 https://gitee.com/my-name-is-dahei/luoyingbiao-212106727.git
这个作业的目标 学会基础的fiddler抓包工具,略微了解python操作语句,懂得怎么通过抓包软件将朴朴上的商品的实时价格实现实时监控
学号 212106727

准备工作(软件等)

1、fiddler4
2、IntelliJ IDEA
3、电脑端微信

解题思路描述

  当我看到题目的时候,首先是一筹莫展,毕竟抓包工具fiddler我闻所未闻,可能是我孤陋寡闻。所以我在询问了舍友之后,到b站上去搜索相关视频。初步了解了这个工具的作用了以后,通过舍友的指导,将环境和信任证书搞定了以后,成功进行了朴朴上商品的抓包。
  后面又通过b站学习了一点点python的代码以后,在舍友的指导下,终于将商品价格实时监控功能实现了

1.使用fiddler抓包工具,抓取朴朴商品

 (1)下载安装fiddler4
 (2)设置捕获和解密https通信,并下载相关信任证书
操作步骤:Tools=》options=》HTTPS=》将前两项打勾
 (3)打开PC微信,点开朴朴微信小程序

 (4)fiddler4=》

remove all=》然后打开要实时监控的商品界面=》然后数据跳出以后,点击Capturing,暂停抓取

 (5)点击所需的数据,然后通过右边Inspectors=》Raw
 (6)从中提取到url和User-Agent(也就是接下来python需要用到的数据)

2.使用IDEA编写代码

 (1)添加python插件
操作步骤:文件=》设置=》插件=》搜索python并下载插件

 (2)创建python项目,创建python文件
 (3)配置python3.7的SDK
操作步骤:由于我使用的IDEA版本是2019版本的,所以SDK不能从软件中下载成功,后面通过官网下载,才完成python的配置。

 下面展示部分代码:

def getProduct():
# 获取相应的值
response = getData()
name = response['data']['name']
spec = response['data']['spec']
price = str(response['data']['price'] / 100)
guide = str(response['data']['market_price'] / 100)
title = response['data']['sub_title']
text = response['data']['custom_tag_text']
# 输出商品信息
print('---------------' + '商品: ' + name + '---------------')
print('规格:' + spec)
print('价格: ' + price)
print('原价/折扣价: ' + guide + '/' + price)
print('详细内容: ' + spec + '; ' + title + text)
print('---------------' + '商品: ' + name + '的价格波动---------------')


def monitor():
# 监控价格
while 1:
# 获取相应的值
response = getData()
price = str(response['data']['price'] / 100)
# 获取当前时间
now_time = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
print('当前时间为' + now_time + ', ' + '价格为' + price)
# 设置几秒更新一次数据
time.sleep(1)


# 调用函数
def run():
getProduct()
monitor()

 运行结果:

3.通过IDEA上传到gitee

操作步骤:从IDEA下载gitee插件,然后登录账号,从IDEA中直接上传文件到gitee仓库

4.作业的问题

 (1)由于初学fiddler抓包软件,仅仅只是把皮毛给了解了,并没有将软件的功能都一一了解
 (2)python的语法也没有基本了解,所以程序看起来不会特别规整

posted on 2022-03-20 02:11  吾名大黑  阅读(53)  评论(0编辑  收藏  举报