import json import time import pymysql from common import request_to_jd_vc def get_db_connect(host, port, user, password, database): db = pymysql.connect(host=host, port=port, user=user, password=password, database=database) cursor = db.cursor() return db, cursor def get_attr(): pass def get_ext_attr(): pass if __name__ == '__main__': # 临时处理 京东参数问题 之后会删除 db, cursor = get_db_connect(host='192.168.1.238', port=3306, user='liexin_data_distribution', password='liexin_data_distribution#zsyM', database='liexin_data_distribution') query_sql = "select distinct class_id from lie_shop_attr_copy1" cursor.execute(query=query_sql) results = cursor.fetchall() with open('config.json', 'r', encoding='utf-8') as f: json_data = json.load(f) token = json_data["shop_vc"]["token"] app_key = json_data["shop_vc"]["app_key"] app_secret = json_data["shop_vc"]["app_secret"] for i in range(len(results)): class_id = results[i][0] ans = request_to_jd_vc(method_name="jingdong.vc.item.props.find", token=token, app_key=app_key, app_secret=app_secret, param={"category_leaf_id": class_id}) # print(json.dumps(ans, ensure_ascii=False)) jd_results = ans["jingdong_vc_item_props_find_responce"]["jos_result_dto"]["result"] for j in range(len(jd_results)): props = jd_results[j]["props"] for k in range(len(props)): attr_id = props[k]["id"] attr_name = props[k]["name"] unit = props[k]["val_unit"] jd_value = props[k]["values"] if len(jd_value) == 0: enum_value = "[]" else: enum_value = json.dumps(jd_value, ensure_ascii=False) input_type = props[k]["input_type"] flag = props[k]["required"] if flag: is_required = 1 else: is_required = 0 create_time = int(time.time()) check_sql = "select id from lie_shop_attr_copy1 where class_id = %s and attr_id = %s" cursor.execute(query=check_sql, args=(class_id, attr_id,)) check_results = cursor.fetchall() if len(check_results) != 0: #说明此class_id 下的此属性id是已经存在的 continue else: insert_sql = "insert into lie_shop_attr_copy1 (class_id, attr_id, attr_name, unit, enum_value, input_type, is_required, status, platform, create_time) values (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" cursor.execute(query=insert_sql, args=(class_id, attr_id, attr_name, unit, enum_value, input_type, is_required, 1, 1, create_time)) db.commit() print(insert_sql % (class_id, attr_id, attr_name, unit, enum_value, input_type, is_required, 1, 1, create_time)) print("==================================================================")