林镕卫——第二次作业
| 这个作业属于哪个课程 | 至诚软工实践F班 |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzzcxy/ZhichengSoftengineeringPracticeFclass/homework/12532 |
| 这个作业的目标 | 使用Fiddler和python对微信小程序进行爬虫 |
| Gitee 地址 | https://gitee.com/linrongwei/rongwei |
一、准备工作
(1)下载Fiddler(抓包工具)
1. 从老师云班课给我们资源里面直接下载
2. 下载完成后对Fiddler进行简单配置,让Fiddler可以抓HTTPS

(2)选择编程语言
1. 因为python写爬虫比较简单,我选择使用python来进行爬虫
2. 我在IDEA上下载Python环境,使用IDEA做为开发工具
点击File -> Settings -> Plugins ->在输入框里输入Python ->选择Python Community Edition进行下载

二、对微信小程序朴朴进行爬虫
(1)使用Fiddler用来获取接口
1.先打开Fiddler,然后打开电脑端微信小程序朴朴,随便选择一件商品点击进去(我这边选择“生蚝肉 (冰鲜)190g-200g/份”)。

2.在Fiddler找到对应接口,把接口url复制下来。

3.使用火狐浏览器进行访问,接口下面有什么内容更清晰

(2)使用IDEA进行代码编写
import requests
import datetime
import time
# 获取数据
def getData():
url = 'https://j1.pupuapi.com/client/product/storeproduct/detail/deef1dd8-65ee-46bc-9e18-8cf1478a67e9/e2c54ed3-85ec-421f-9f50-73671c00a163'
# 浏览器标识
headers = {
'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
productData = requests.get(url, headers=headers).json()
return productData
def getProduct():
# 获取相应的值
response = getData()
# 匹配商品id
name = response['data']['name']
spec = response['data']['spec']
price = str(response['data']['price'] / 100)
market = str(response['data']['market_price'] / 100)
title = response['data']['sub_title']
# 输出商品信息
print('---------------' + '商品: ' + name + '---------------')
print('规格:' + spec)
print('价格: ' + price)
print('原价/折扣价: ' + market + '/' + price)
print('详细内容: ' + spec + '; ' + title)
print('---------------' + '商品: ' + name + '的价格波动---------------')
def monitor():
# 监控价格
while 1:
# 获取相应的值
resonse = getData()
price = str(resonse['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()
# 运行
run()
(3)运行效果

三、上传gitee
(1)使用IDEA软件下载gitee插件,将gitee账号登陆,加入到IDEA中
File -> Settings -> Plugins ->在输入框里输入gitee ->选择gitee进行下载


四、遇到的问题
(1)在Fiddler配置完成后,打开Fiddler后我就打不开网站和电脑微信小程序,关掉Fiddler后就可以正常打开
目前解决方法:把Fiddler更新到最新版本,问题就解决了
(2).在使用requests时发现无法使用,IDEA在下载Python环境时没有requests一起下载下来,需要单独下载
先找到IDEA下载的python环境位置,因为一开始一直默认下一步不知道环境放哪里,后面根据IDEA的SDKs找到位置
File -> Porject Structure -> SDKs

使用cmd下载requests请求库,cd 到Scripts下在命令行输入 pip install requests

(3)在复制`headers里面内容时由于多了一个空格导致代码报错


浙公网安备 33010602011771号