槐树花

导航

蔡汉楠--第二次作业

这个作业属于哪个课程
这个作业要求在哪里
这个作业的目标
运用fiddler+python抓取朴朴善品信息
Github 地址

一、Fiddler+Python实现朴朴商品信息抓取

(1)解题思路

1、打开Fiddler,并配置Fiddler,端口8888

2、打开小程序朴朴,搜索牛奶

3、观察Fiddler返回的数据,并对其解析

4、打开Pycharm,并成功配置python以及本次项目所需的包

 

(2)设计实现过程

 

1、导入需要使用的包

requests:请求数据包
json:解析数据包
time、datetime:时间包

 

2、定义请求头

3、发起请求,接受响应,并实现跳过证书

response = requests.get(url=url,headers=headers,verify=False)
pupu = json.loads(response.content.decode()) #转换json格式

4、抓取需要的信息

title = pupu['data']['products'][0]['sub_title']  # 商品详情
name = pupu['data']['products'][0]['name']  # 商品名
spec = pupu['data']['products'][0]['spec']  # 商品规格
price = pupu['data']['products'][0]['price'] / 100  # 折扣价
price_guide = pupu['data']['products'][0]['price_guide'] / 100  # 原价

5、设置输出的规格+循环10次监控价格,每3秒输出一次

   #输出规格
        print("--------------商品:"+name+"--------------")
        print("商品规格:",spec)
        print("价格:",price)
        print("原价/折扣价:",str(price_guide)+"/"+str(price))
        print("商品详情:",title)
        print('------------"'+name+'"的价格波动------------')
 
        #循环10次,每3秒输出一次
        for i in range(0,10,1):
            price = pupu['data']['products'][0]['price'] / 100  # 折扣价
            print("当前时间为:", self.timeshop(), "价格为", price)
            time.sleep(3)
 
    def timeshop(self):
        return datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')#时间输出格式
 
    def run(self):
        self.shop()
if __name__ == '__main__':
    Pupu().run()

6、GitHub推送


 

(3)运行效果截图

 

(4)同学帮助

寻求舍友方晓佳的帮助,在他的帮助下,弄懂了python抓取朴朴的逻辑,以及代码规范化,实现最终结果

 

 

posted on 2022-03-15 18:08  槐树花  阅读(116)  评论(3编辑  收藏  举报