这个作业属于哪个课程 | 至诚软工实践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的语法也没有基本了解,所以程序看起来不会特别规整