张旭---第二次作业
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass/ |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass/homework/12532 |
这个作业的目标 | 学习Fiddler抓包技术,以及培养自身的自学能力 |
Github 地址 | https://github.com/Commputter/212106747 |
任务(必做)基础:使用 fiddler 抓包工具+代码+,实时监控朴朴上某产品的详细价格信息
一、解题思路:
1.学习并使用fiddler软件抓包
2.决定使用什么样的软件
3.自主学习Python语言来完成本次信息抓包
二、实现过程:
-
一开始拿到本次任务,也是懵懵懂懂的。因为不认识fiddler,也不认识Python。但看到同宿舍的舍友跟我一样的程度,但仍然决定坚持下去,认真做作业,激励了我的内心。遇事不决,查百度。找到一个大佬的博客来学习fiddler
-
而后,在视频的教学想通过手机端微信小程序中朴朴超市进行商品的抓包,但却一直无法实现。只能退而其次,改为通过电脑端微信小程序中朴朴超市进行商品的抓包。
-
后面则又在B站大学的帮助之下,找到一个对我自身很有帮助的视频,来辅助我完成接下来的Python语言编译
-
相关的截图
- 对商品进行获取URL。
-
解析json
-
使用PyCharm软件来获取实时信息PyCharm下载地址(官网)
三、代码部分:
import requests
import json
import datetime
from time import strftime, sleep
from requests.packages.urllib3.exceptions import InsecureRequestWarning
# 禁用安全请求警告
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)
# 头部
headers = {'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat'}
# 地址
url = 'https://j1.pupuapi.com/client/product/storeproduct/detail/deef1dd8-65ee-46bc-9e18-8cf1478a67e9/c2bbd3a4-7fce-46c3-949a-0cf95f99c9bb'
# 发起请求
response = requests.get(url=url, headers=headers)
text = response.text
# 转换成json格式
jsonbo = json.loads(text)
# 商品名字
name = jsonbo['data']['name']
# 打折前价格
market_price = (jsonbo['data']['market_price']/100)
# 打折后价格
price = (jsonbo['data']['price']/100)
# 规格
size = jsonbo['data']['spec']
# 详情
sub_title = (jsonbo['data']['sub_title'])
print("--------------" + name + "----------")
print("规格:" + size)
print("价格" + str(price))
print("原价/折扣价:" + str(price) + "/" + str(market_price))
print("详细内容:" + sub_title)
print("\n\n--------------" + name + "的价格波动----------")
# 获取时间
print(datetime.datetime.now())
while (1):
response = requests.get(url=url, headers=headers, verify=False)
text = response.text
# 转换成json格式
jsonbo = json.loads(text)
price = (jsonbo['data']['price']*0.01)
# 获取时间
time = datetime.datetime.now()
print(str(time) +"价格为" + str(price))
# 休眠10s
sleep(10)
四、GitHub提交:
-
GitHub仓库:
五、总结:
- 第一次接触这种事物,对我来说特别的新奇且陌生。很多时候总会想的放弃,但还是一直坚持下来,一直在网上寻找并且寻求同学的帮助才能如愿的完成本次任务。写完本次任务让我的自学成力得到了提升。也只能勉勉强强的完成功第一题。
- 既然当初选择转专业过来来学软件工程,就是觉得别人可以,我也可以的态度。希望努力可以拥有甜美的果突