背景
公司数据部每天都需要从生意参谋下载前一天的单品来源信息,然后再合并成一个文件,耗时不说还容易出错,我们用Python 来解决这个问题
需求分析
- 找到下载的文件连接,直接在超链接上右键复制连接即可
- 分析可以看到主要参数有3个
dateRange : 日期
device : 设备区分,1为PC端 2为 无线端
itemId : 产品id
- 接下来就可以使用python 拼接连接无脑请求就可以了
url = "https://sycm.taobao.com/flow/excel.do?spm=a21ag.8198216.0.0.24fe410cT84y3F&_path_=v6/excel/item/crowdtype/source&belong=all&dateType=recent1&dateRange={date}|{date}&crowdType=all&device={device}&itemId={itemId}&order=desc&orderBy=uv"
headers = {
'Host': 'sycm.taobao.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Gecko/20100101 Firefox/81.0',
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
'Accept-Encoding': 'gzip, deflate, br',
'Referer': 'https://sycm.taobao.com/flow/monitor/itemsource',
'Sycm-Referer': '/flow/monitor/itemsource',
'DNT': '1',
'Connection': 'keep-alive',
'TE': 'Trailers'
}
itemIds = {
'625957714593': r'XXXXX',
'613830158676': r'XXXXX',
}
- 下载文件
def get_excel(date, cookie, device):
headers['Cookie'] = cookie
if not os.path.exists(date):
print("路径不存在,创建路径")
os.makedirs(date)
files = {
}
for key, value in itemIds.items():
print(key, value)
p = url.format(date=date, itemId=key, device=device)
response = requests.request("GET", p, headers=headers)
file_path = date + "\\" + value + \
"-pc.xls" if device ==