目标app
需要爬取的内容是 限时抢购
用fiddler代理手机抓一下包。(具体fiddler如何代理手机参考这里:https://www.cnblogs.com/qingqing-919/p/8444828.html)
连接上手机后重新刷新一下app页面,找到返回数据的请求
用python 模拟请求获取数据,这里注意verify要设置为false,否则会验证失败
返回结果
设置一些条件,筛选想买的食材
打印结果
完整代码:
import json
import requests
target_products = ['玉米']
def get_rawdata():
url = 'https://api1.34580.com/sh/flash/getPageFlashSaleProducts?accesstoken=bd4f3aca84824e0f&customerguid=ded3efc5-693f-4f4f-b371-436b29c3a3d5&sourcetype=5&PageIndex=0'
resp = requests.get(url,verify=False)
dic = json.loads(resp.text)
data = dic.get('Data').get('SourceData')
return data
def show_data(raw_data):
name = raw_data.get('UnitPeriodMoney')
price = raw_data.get('ProductName')
activity = raw_data.get('ActivityLabel')
print('商品名称:',name)
print('商品价格:',price)
print('其他优惠:',activity)
def check(raw_data_list,target_products):
for item in raw_data_list:
for target in target_products:
if target in item.get('ProductName'):
show_data(item)
if __name__ == '__main__':
data_list = get_rawdata()
check(data_list,target_products)
相关文章
Python 实现「食行生鲜」签到领积分:https://blog.csdn.net/bruce_6/article/details/81452796