import requests import pymysql as ps headers_1 = {'content-type': "application/json", 'Authorization': 'APP appid = 4abf1a,token = 9480295ab2e2eddb8', 'dsNo': 'source1'} headers_2 = {'content-type': "application/json", 'Authorization': 'APP appid = 4abf1a,token = 9480295ab2e2eddb8', 'dsNo': 'source2', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, ' 'like Gecko) Chrome/86.0.4240.111 Safari/537.36', 'Host': '101.132.43.32:5308', 'POST': '/news/queryNewsByPage HTTP/1.1', 'Connection': 'keep-alive', 'Accept': 'application/json;charset=UTF-8' } class MysqlDB: con = None cursor = None def __init__(self, db_name, ip, name, password): self.db_name = db_name self.con = ps.connect(host=ip, port=3306, user=name, password=password, db=self.db_name, charset='utf8') self.cursor = self.con.cursor() def select(self, sql, params=None): if params: self.cursor.execute(sql, params) else: self.cursor.execute(sql) return self.cursor.fetchall() if __name__ == '__main__': """ 1:修改下列配置信息 2:执行命令 python material_label.py """ import time api_path_online = 'http://101.132.79.13:5308/materialLabel/markingForMaterial' api_path_uat3 = '"https://api-uat3.elaber.cn/elab-marketing-content/materialLabel/markingForMaterial"' api_path_test = 'http://101.132.138.87:5555/elab-marketing-content/materialLabel/markingForMaterial' api_path_test2 = 'http://106.14.187.241:5555/elab-marketing-content//materialLabel/markingForMaterial' # 1. 配置集团id brand_id = 46 # 2. 配置数据库连接信息 mysql = MysqlDB('marketing_db', '106.15.201.221', 'kaifa', 'elab@123') # 3. 打标接口地址 url = api_path_test2 # 需要打标物料的id sql_dict = { 1: 'select a.id from house a LEFT JOIN brand_house_rlat b on a.id = b.house_id where a.status = 1 and b.status = 1 and b.brand_id = {}'.format( brand_id), 2: 'select a.id from content_moment a LEFT JOIN brand_house_rlat b on a.house_id = b.house_id where a.status = 1 and b.status = 1 and b.brand_id = {}'.format( brand_id), 3: 'select a.id from t_content_album a LEFT JOIN brand_house_rlat b on a.house_id = b.house_id where a.status = 1 and b.status = 1 and b.brand_id = {}'.format( brand_id), 4: 'select a.id from content_layout a LEFT JOIN brand_house_rlat b on a.house_id = b.house_id where a.status = 1 and b.status = 1 and b.brand_id = {}'.format( brand_id) } material_dict = { 1: '项目', 2: '视频', 3: '图集', 4: '户型' } # 批量打标 for index in sql_dict.keys(): house = mysql.select(sql_dict.get(index)) count = 0 for x in house: params = { "deleteStatus": 2, "materialId": x[0], # 物料类型,1:项目,2:视频,3:图集(图片),4:户型 "materialType": index, "user": ":wq" } response = requests.post(url, json=params, headers=headers_1) print(material_dict.get(index), str(x[0]), '打标结果:', response.text) # 每次请求后暂停下 time.sleep(0.5)