mysql.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. import pymysql
  2. class Mysql(object):
  3. def __init__(self):
  4. self.connection = pymysql.connect(
  5. host="rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com", # 数据库IP地址,内网地址
  6. port=3306, # 端口号
  7. user="crawler", # mysql用户名
  8. passwd="crawler123456@", # mysql用户登录密码
  9. db="piaoquan-crawler", # 数据库名
  10. charset="utf8mb4" # 如果数据库里面的文本是utf8编码的,charset指定是utf8
  11. )
  12. def insert_line(self, data):
  13. if self.index(data):
  14. try:
  15. with self.connection.cursor() as cursor:
  16. sql = "INSERT INTO we_analysis_results (mini_program, task_name, subject, date, control_group, test_group1, test_group2, test_group3, test_group4, test_group5, test_group6, test_group7, test_group8, test_group9, test_group10, test_group11, test_group12, test_group13, test_group14, test_group15, test_group16, test_group17, test_group18, test_group19, test_group20, test_group21, test_group22, test_group23, test_group24) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s);"
  17. cursor.execute(sql, data)
  18. self.connection.commit()
  19. finally:
  20. self.connection.close()
  21. else:
  22. print("数据已经存在")
  23. def index(self, data):
  24. mini_program = data[0]
  25. task_name = data[1]
  26. subject = data[2]
  27. date = data[3]
  28. sql = (
  29. f'SELECT 1 FROM we_analysis_results where mini_program = "{mini_program}" and task_name = "{task_name}" and subject = "{subject}" and date = "{date}"')
  30. print(sql)
  31. cursor = self.connection.cursor()
  32. cursor.execute(sql)
  33. data = cursor.fetchall()
  34. if data:
  35. return False
  36. else:
  37. return True