一:任务。
1.基础:使用 fiddler 抓包工具+代码,实时监控朴朴上某产品的详细价格信息
实验结果如下:
二:解体思路。
1.首先需要自学了解如何使用fiddler,按照ppt里的步骤配置软件设置。
2.研究学习python爬虫的代码,csdn或者哔哩哔哩上有很多爬取数据的教程。
3.下载学习编写Python的工具pyCharm,因为专业版是需要付费的,所以下载的是社区版。
4.在pycharm中运行代码,得到基础题的结果。
5.下载github,创建远程连接,上传py文件到仓库中。
三:实现过程。
1.默认情况下,fiddler是不会捕获https会话的,所以需要自行设置一下。启动软件,点击【tools】-【Options】,在弹出的新窗口中,点击HTTPS选项卡,将捕获HTTPS连接这一项前面全打上勾,点击OK就就行了。
2.fidder寻找需要的信息
3.python代码。
def url_requests():
#获取url地址
url = 'https://j1.pupuapi.com/client/product/storeproduct/detail/4dcdeca2-f5a3-4be8-9e2f-e099889a23a0/0b777094-c58b-4fd0-843c-8c9d264d1e88'
#头
head = {
'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 '
}
response = requests.get(url, headers=head, verify=False)
dict = json.loads(response.text)#将字符串转为字典
name = dict["data"]["name"]#获取商品的名称
spec = dict["data"]["spec"]#获取商品规格
price = str(int(dict["data"]["price"]) / 100)#获取商品原价
market_price = str(int(dict["data"]["market_price"]) / 100)#获取商品原价/折扣价
share_content = dict["data"]["share_content"]#获取商品详细内容
#输出语句
print("---------------商品:" + name + "----------------")
print("规格:" + spec)
print("原价:" + price)
print("原价/折扣价:" + price + "/" + market_price)
print("详细内容:" + share_content)
print('\n')
print("---------------" + name + "------------------")
#循环获取信息
i = 1
for i in range(15):
nowTimeandprint = time.strftime('%Y' + '-' + '%m' + '-' + '%d' + ' %H:%M:%S,价格为:' + price)
print(nowTimeandprint)
time.sleep(5)
#main函数
__name__ == '__main__':
url_requests()#调用函数
4.git远程提交到仓库
四:遇见的问题。
1.导入requests包出错,先是在相关目录下的cmd里pip install requests 但是没有效果。百度了之后,在pycharm的设置里的python interpreter里添加了requests的包。
2.运行的时候,有出现代理服务的问题
只把http改成了https之后,代码就可以正常运行了。
3.git远程仓库的问题很多。
五:总结。
实验有难度,需要自学的东西很多,而且学的还很差,还是要继续多学习学习。爬虫的代码因为有很多教程,大同小异其实还行。git创建远程仓库的话,完全不懂,不断做错,然后翻译错误提示,再去找相关的教程,比如ssh。