覆盖旧数据的mysql插入

mac2025-09-17  37

1、添加唯一索引需要保证该值只有一个 2、唯一索引需要放在最前面 3、更新的数据需要在list后面再添加一个来更新

from requests_html import HTMLSession import pymysql import json import time def mysql_db(): a = html_data() #print(tuple1) db = pymysql.connect( host="localhost", user="root", passwd="zdl12345", database = "runoob_db", charset = "utf8" ) cc = db.cursor() #sql1 = "create table sites2(id int primary key not null auto_increment,rn varchar(255) ,nn varchar(255),ol varchar(255),c2name varchar(255))" #cc.execute(sql1) #sql3 = "alter table sites2 add unique (nn)" #cc.execute(sql3) #print("add success") cc.execute("select * from sites2") results = cc.fetchall() #print(zb_list) list = [] for i in target_data: #print(i) for k in i.keys(): #print(key) if k == "c2name": list = [i["nn"],i["rn"],str(i["ol"]),i["c2name"],str(i["ol"])] tuple1 = tuple(list) #print(tuple1) sql = "insert into sites2(nn, rn, ol, c2name) values (%s, %s, %s, %s) on duplicate key update ol = %s" val = tuple1 cc.execute(sql,val) db.commit() db.close() print("insert success") def html_data(): global target_data session = HTMLSession() url = "https://www.douyu.com/gapi/rkc/directory/1_1/1.html" #headers = {'Accept-Charset': 'UTF-8'} database = session.get(url) data = database.html.text #print(data) jsondata = json.loads(data) #print(jsondata) target_data = jsondata["data"]["rl"] #print(target_data[0]) #print(type(target_data)) #return target_data #html_data() #while True: mysql_db() time.sleep(1) data2 = time.time() s = data2 - data1
最新回复(0)