analysis.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. import pandas as pd
  2. import json
  3. import pymysql
  4. class Analysis(object):
  5. def __init__(self):
  6. self.platform_list = ["xiaoniangao", "gongzhonghao", "shipinhao", "douyin", "kuaishou", "fuqiwang", "haitunzhufu"]
  7. self.date_last = "2023-11-01"
  8. self.out_put = {}
  9. def analysis_videos(self):
  10. connection = pymysql.connect(
  11. host="rm-bp1159bu17li9hi94ro.mysql.rds.aliyuncs.com", # 数据库IP地址,内网地址
  12. port=3306, # 端口号
  13. user="crawler", # mysql用户名
  14. passwd="crawler123456@", # mysql用户登录密码
  15. db="piaoquan-crawler", # 数据库名
  16. # 如果数据库里面的文本是utf8编码的,charset指定是utf8
  17. charset="utf8")
  18. for platform in self.platform_list:
  19. select_sql = f"""SELECT DATE(create_time) as DATE, count(1) as Total
  20. FROM crawler_video
  21. WHERE `platform` = "{platform}" and create_time > "{self.date_last}"
  22. GROUP BY DATE( `create_time` )
  23. ORDER BY DATE( `create_time`) DESC; """
  24. out_dict = {}
  25. mysql = connection.cursor()
  26. mysql.execute(select_sql)
  27. data_lines = mysql.fetchall()
  28. for i in data_lines:
  29. date_info = i[0].strftime('%Y-%m-%d')
  30. count = i[1]
  31. out_dict[date_info] = count
  32. self.out_put[platform] = out_dict
  33. connection.close()
  34. if __name__ == '__main__':
  35. A = Analysis()
  36. A.analysis_videos()
  37. print(json.dumps(A.out_put, ensure_ascii=False, indent=4))