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. VUE温习:内存泄漏、Vue.$set、key作用与虚拟diff算法

    一.内存泄漏 1.指令绑定了事件,却没有解绑事件,容易产生内存泄漏.(曾经遇到过的案例) 2.v-if指令产生内存泄漏,比如v-if删除了父级元素,却没有删除父级元素里的dom片段 3.跳转到别的路由 ...

  2. springcloud的Hystrix turbine断路器聚合监控实现(基于springboot2.02版本)

    本文基于方志朋先生的博客实现:https://blog.csdn.net/forezp/article/details/70233227 一.准本工作 1.工具:Idea,JDK1.8,Maven3. ...

  3. Spring Boot进阶系列三

    Thymeleaf是官方推荐的显示引擎,这篇文章主要介绍怎么让spring boot整合Thymeleaf.  它是一个适用于Web和独立环境的现代服务器端Java模板引擎. Thymeleaf的主要 ...

  4. 某邀请赛misc key家用完整版

    目录 题目下载 提示 解题过程 1.提取RGB值 2.找到key 3.循环异或,得到flag 反思 题目下载 题目名:key 提示 提取钥匙中特殊颜色的RGB循环异或KEY值 解题过程 1.提取RGB ...

  5. 【技术博客】Laravel5.1文件上传单元测试

    Laravel5.1文件上传单元测试 作者:ZGJ 在软工第三阶段中,我彻底解决了上一阶段一直困扰我的文件上传单元测试问题,在这里做一个总结. 注:下文介绍中,方法一方法二实现简单但有一定的限制条件( ...

  6. 微信网页授权+获取用户基本信息+强制关注+JSSDK分享参数

    网页授权+获取用户基本信息+强制关注+JSSDK分享参数 //支付宝红包口令列表 public function view(){ $openid = ""; Vendor('Wei ...

  7. 记录一次在生成数据库服务器上出现The timeout period elapsed prior to completion of the operation or the server is not responding.和Exception has been thrown by the target of an invocation的解决办法

    记一次查询超时的解决方案The timeout period elapsed...... https://www.cnblogs.com/wyt007/p/9274613.html Exception ...

  8. maven 依赖优化

    1.mvn dependency:list  列出项目用到的依赖 2.查看依赖树 mvn dependency:tree 3.mvn dependency:analyze Used undeclare ...

  9. antdpro 打包部署后访问路由刷新后404

    antdpro build 后访问路由刷新后 404? 解决方法有三种: 1. 改用 hashHistory,在 .umirc.js或者是config.js 里配 history: 'hash' 2. ...

  10. Faiss的学习和入门文章

    可以看这里的文章: https://www.leiphone.com/news/201703/84gDbSOgJcxiC3DW.html https://waltyou.github.io/Faiss ...