import pandas as pd
import requests
import arrow
from collections import deque
import json campaign_name_deq = deque([''],2)
ad_name_deq = deque([''],2) Today = arrow.now().format("YYYY-MM-DD") headers = {
xxx
} def get_excel_data():
data = pd.read_excel('./multi_xx.xlsx')
user_id = data['xxD'].tolist()
campaign_name = data['计xx'].tolist()
ad_name = data['xxx'].tolist()
creative_name = data['创xx'].tolist()
creative_title = data['xx'].tolist()
creative_desc = data['xx'].tolist()
creative_ldpUrl = data['xxxurl'].tolist()
return [user_id,campaign_name,ad_name,creative_name,creative_title,creative_desc,creative_ldpUrl] def get_productId(userId):
url = f'hxxxx={userId}'
res = requests.get(url, headers=headers)
data = res.json()['result'][0]['id']
return data def add_new_campaign(userId, campaignName):
url = 'hxxxxx'
data = {
xxx
}
res = requests.post(url, headers=headers, data=json.dumps(data))
campaign_id = res.json()['id']
print(campaignName,campaign_id)
status = res.json()["status"]
return campaign_id, status def add_new_ad(campaignId, adName):
url = 'hxxxxx'
data = {
x
"appInstall": None,
x
}, }
res = requests.post(url, headers=headers, data=json.dumps(data))
adId = res.json()['id']
status = res.json()["status"]
print(adName, adId,status)
return adId, status def add_new_creative_word(adId, name, title, desc, ldpUrl):
url = 'htxxxxxx'
data = {
"xx
}
res = requests.post(url, headers=headers, data=json.dumps(data))
status = res.json()["status"]
print(adId,name, status) adId, ad_status = 0,'' def gen_creative(userid, campaign_name, ad_name, creative_name, creative_title, creative_desc, creative_ldpUrl):
campaign_name_deq.append(campaign_name)
last_campaign_name = campaign_name_deq.popleft() ad_name_deq.append(ad_name)
last_ad_name = ad_name_deq.popleft() campaign_id, campaign_status = 0,'' if campaign_name != last_campaign_name:
campaign_id, campaign_status = add_new_campaign(userid, campaign_name) if campaign_status == 'ok' and ad_name != last_ad_name:
global adId, ad_status
adId, ad_status = add_new_ad(campaign_id, ad_name)
if ad_status == 'ok':
add_new_creative_word(adId, creative_name, creative_title, creative_desc, creative_ldpUrl)
else:
print(adId,ad_status) def mulit_upload():
l = get_excel_data()
a = list(map(gen_creative,*l)) if __name__ == '__main__':
mulit_upload()

ad批量上传的更多相关文章

  1. 文件上传和下载(可批量上传)——Spring(三)

    在文件上传和下载(可批量上传)——Spring(二)的基础上,发现了文件下载时,只有在Chrome浏览器下文件名正常显示,还有发布到服务器后,不能上传到指定的文件夹目录,如上传20160310.txt ...

  2. 带进度条的文件批量上传插件uploadify

    有时项目中需要一个文件批量上传功能时,个人认为uploadify是快速简便的解决方案. 先上效果图: 一. 下载uploadify 从官网下载uploadify的Flash版本(Flash版本免费,另 ...

  3. Discuz模拟批量上传附件发帖

    简介 对于很多用discuz做资源下载站来说,一个个上传附件,发帖是很繁琐的过程.如果需要批量上传附件发帖,就需要去模拟discuz 上传附件的流程. 模拟上传 discuz 附件逻辑 dz附件储存在 ...

  4. Mvc利用淘宝Kissy uploader实现图片批量上传附带瀑布流的照片墙

    前言 KISSY 是由阿里集团前端工程师们发起创建的一个开源 JS 框架.它具备模块化.高扩展性.组件齐全,接口一致.自主开发.适合多种应用场景等特性.本人在一次项目中层使用这个uploader组件. ...

  5. 利用uploadify+asp.net 实现大文件批量上传。

    前言 现在网上文件上传组件随便一搜都是一大堆,不过看大家一般都在用uploadify这个来上传文件.由于项目需要,我在来试了一下.因为第一次使用,也遇到了很多问题,特此记录! ------------ ...

  6. uploadify文件批量上传

    uploadify能够时间文件的批量上传,JS文件包下载地址,使用说明可以参考官网文档(http://www.uploadify.com/documentation/) 使用方法如下代码: $(&qu ...

  7. ux.plup.File plupload 集成 ux.plup.FileLis 批量上传预览

    //plupload 集成 Ext.define('ux.plup.File', { extend: 'Ext.form.field.Text', xtype: 'plupFile', alias: ...

  8. WEB版一次选择多个文件进行批量上传(Plupload)的解决方案

    WEB版一次选择多个文件进行批量上传(Plupload)的解决方案  转载自http://www.cnblogs.com/chillsrc/archive/2013/01/30/2883648.htm ...

  9. 文件批量上传的工具,要实现暂停继续、断点续传等功能(使用QtNetwork和QHttpMultiPart,和定时器检查超时)

    最近在做一个文件批量上传的工具,要实现暂停继续.断点续传等功能.利用Qt自带的QtNetwork模块,完成这些需求并没有费多少周章,主要思路就是将文件分块,然后用while循环依次传输.具体实现代码比 ...

随机推荐

  1. 动态规划:数字和为sum的方法数

    题目描述 给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数.当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案. 输入描述: 输入为两行: 第一行为 ...

  2. 【游记】CSP-S2019游记

    \(\Large\texttt{Day -1}\) 今天晚上gryz开了也许是晚宴(awa),有水饺和蛋糕.因为去拿笔记本的原因没有吃到蛋糕..好可惜. 明天不用上早自习太棒了. 明天出发报道. 这笔 ...

  3. centos6中安装新版 Elasticsearch 7.x

    es出新版了,虽然公司里还是用的老版本,但是本地还是有必要自己安装了玩玩 下载地址:https://www.elastic.co/cn/downloads/elasticsearch 那么一般来说还是 ...

  4. uiView获取指定子view

    判断对象类型 -(BOOL) isKindOfClass: classObj判断是否是这个类或者这个类的子类的实例 -(BOOL) isMemberOfClass: classObj 判断是否是这个类 ...

  5. sklearn保存模型的两种方式

    sklearn 中模型保存的两种方法   一. sklearn中提供了高效的模型持久化模块joblib,将模型保存至硬盘. from sklearn.externals import joblib # ...

  6. JVM一些问题

    1. 类的实例化顺序,比如父类静态数据,构造函数,字段,子类静态数据,构造函数,字段,他们的执行顺序 答:先静态.先父后子. 先静态:父静态 > 子静态 优先级:父类 > 子类 静态代码块 ...

  7. docker搭建MediaWiki

    一.简介 MediaWiki 是 Wikipedia 使用的网站解决方案的开源版,以个人观点来看,Wiki 在这个时代显得不够时尚,且不支持 MarkDown 等新兴的标记语言,另外页面的组织方式采用 ...

  8. python matplotlib 设置x轴文本间隔显示(数字的话可以转为字符之后处理)

    一个国际友人绘图遇到的问题,查了一手资料.主要参考的是这个老哥的做法(https://blog.csdn.net/wyquin/article/details/80508260) #totalSeed ...

  9. C#中精确计时的一点收获 Stopwatch

    http://www.cnblogs.com/jintianhu/archive/2010/09/01/1815031.html 参考: https://www.cnblogs.com/kissdod ...

  10. 【C#常用方法】1.DataTable与List<T>的相互转换

    DataTable与List<T>互转 1.List<T>转DataTable public static DataTable ListToDataTable<T> ...