mysql.py 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. """
  2. @author: luojunhui
  3. """
  4. import pymysql
  5. class MySQL(object):
  6. """
  7. MySQL 方法
  8. """
  9. @classmethod
  10. def get_pq_top_return_videos(cls, video_id):
  11. """
  12. 获取票圈视频
  13. :return:
  14. """
  15. connection = pymysql.connect(
  16. host="rm-bp1k5853td1r25g3n690.mysql.rds.aliyuncs.com", # 数据库IP地址,内网地址
  17. port=3306, # 端口号
  18. user="wx2016_longvideo", # mysql用户名
  19. passwd="wx2016_longvideoP@assword1234", # mysql用户登录密码
  20. db="incentive", # 数据库名
  21. charset="utf8mb4" # 如果数据库里面的文本是utf8编码的,charset指定是utf8
  22. )
  23. sql = f"""select * from video_content where video_id = {video_id};"""
  24. cursor = connection.cursor()
  25. cursor.execute(sql)
  26. data = cursor.fetchall()
  27. return data[0]
  28. @classmethod
  29. def migrate_data_to_mysql(cls, obj):
  30. """
  31. 把 data_works 数据迁移到数据库
  32. :param obj:
  33. :return:
  34. """
  35. video_id = obj['videoid']
  36. title = obj['title']
  37. return_ = obj['当日回流']
  38. view_ = obj['曝光量']
  39. video_url = obj['视频原地址']
  40. dt = obj['dt']
  41. rov = int(return_) / int(view_) if int(view_) > 0 else 0
  42. insert_sql = f"""
  43. INSERT INTO top_return_daily
  44. (video_id, title, view_, return_, video_url, dt, rov)
  45. VALUES
  46. ({video_id}, '{title}', {view_}, {return_}, '{video_url}', '{dt}', {rov});
  47. """
  48. # print(insert_sql)
  49. connection = pymysql.connect(
  50. host='rm-bp1159bu17li9hi94.mysql.rds.aliyuncs.com',
  51. port=3306,
  52. user='crawler',
  53. password='crawler123456@',
  54. db='piaoquan-crawler',
  55. charset='utf8mb4'
  56. )
  57. cursor = connection.cursor()
  58. cursor.execute(insert_sql)
  59. connection.commit()