123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- # Author:Clown
- # -*- codeing = utf-8 -*-
- # @Time :2022/3/16 14:17
- # @File: 食亨菜单导出.py
- import requests
- import pandas as pd
- import time
- import xlrd
- from datetime import date, timedelta
- import os
- import shutil
- def submit(startTime,endTime,headers,brandId):
- url_submit = "https://bi.shihengtech.com/api/excel/order/detail/export/submit"
- params_submit = {
- "brandId":brandId,
- "endTime":endTime,
- "labelIds":[],
- "orderStatusEnum":"VALID",
- "startTime":startTime,
- "platforms":[0,1],
- "provinces":None,
- "cities":None,
- "shopIds":None,
- "taskBizTypeEnum":"ORDER_DETAIL_DETAIL"}
- resp_submit = requests.post(url_submit,json = params_submit,headers = headers)
- if resp_submit.json()['code'] == 200:
- submit_result = 1
- print("成功提交请求")
- return submit_result
- else:
- submit_result = 0
- print("请求失败")
- return submit_result
- def queryTasks(headers):
- url_queryTasks = "https://bi.shihengtech.com/api/shtask/queryTasks"
- params_queryTasks = {
- "pageNo":1,
- "pageSize":20
- }
- resp_queryTasks = requests.post(url_queryTasks,json = params_queryTasks,headers = headers)
- data_queryTasks = resp_queryTasks.json()['result']['result']
- df_link = data_queryTasks[0]["resultUrl"]
- df_name = data_queryTasks[0]["name"]
- return df_link,df_name
- def excel2parts(excel_file,save_path):
- # 打开excel文件
- for a,b,files in os.walk(excel_file,topdown = False):
- for file in files:
- path = str(excel_file)+'/'+str(file)
- workbook=xlrd.open_workbook(r'%s'%str(path))
- sheet_names=workbook.sheet_names()
- print(file, '正在拆分')
- for worksheet_name in sheet_names:
- data_xls=pd.read_excel(path,worksheet_name,dtype=str)
- data_xls.to_excel(save_path+'/'+str(file)[:-5]+worksheet_name+'.xlsx',index=0,encoding='utf-8-sig')
- print(file, worksheet_name, '已拆出')
- if __name__ == '__main__':
- startTime = (date.today() + timedelta(days=-1)).strftime("%Y-%m-%d")
- endTime = (date.today() + timedelta(days=-1)).strftime("%Y-%m-%d")
- save_path = r'C:\Users\浆小白_何\Desktop\订单详情'
- out_path = r'C:\Users\浆小白_何\Desktop\订单明细拆分'
- brandId = '102073'#浆小白
- user_token = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJ1c2VySWRcIjoyNDYyfSIsImV4cCI6MTY0ODAxNjI5MH0.jTbLT1MrLzyBleTp5jZjnvJzXG7NqSgo5ve_csbXohofdpXyvdxIpZE4POl3jp80T4wqHDwMHGglzfcvze4Byg"
- # save_path = r'C:\Users\浆小白_何\Desktop\订单详情粥'
- # out_path = r'C:\Users\浆小白_何\Desktop\订单明细拆分粥'
- # brandId = '105541'#粥小鲜
- # user_token = "eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ7XCJ1c2VySWRcIjo1MDAyfSIsImV4cCI6MTY0ODA4NzY1NX0.BgZuyoVkZU5y732blbRKmx9oswPUBnNqZJPk_34VxbFEJJlpyzEvoReaVMcXx-H0qJP8_Ry52CaE6uRscNzGhg"
- Cookie = "_ga=GA1.2.725502531.1618630729; " \
- "Hm_lvt_eaa57ca47dacb4ad4f5a257001a3457c=1625040492,1625123277,1625293351,1625448933; " \
- "_gid=GA1.2.296614433.1647229990; " \
- "acw_tc=76b20f6a16474114899837204e57f03f3766bf1b4d60819fca83da136ed7e6; " \
- "user-token=%s; " % str(user_token) + "_gat_gtag_UA_127759150_3=1"
- headers = {
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36",
- "Content-Type": "application/json;charset=UTF-8",
- "Accept": "application/json",
- "Accept-Encoding": "gzip, deflate, br",
- "user-token": user_token,
- "Cookie": Cookie}
- shutil.rmtree(save_path)
- os.mkdir(save_path)
- print('已清空文件夹')
- if submit(startTime, endTime, headers,brandId) == 1 :#提交请求成功执信
- s = 2
- df_link,df_name = queryTasks(headers)
- while df_link == None:
- time.sleep(2)
- print("\rloading %d"%(s),end='')
- s += 2
- df_link, df_name = queryTasks(headers)
- df_data = requests.get(df_link).content
- with open(save_path+r'/%s.xlsx' % str(df_name),mode='wb') as f:
- f.write(df_data)
- print("\n",df_name,'下载成功')
- excel2parts(save_path, out_path)
- else:
- print("有未知错误,请检查")
|