123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import pandas as pd
- import json
- import pymysql
- class Analysis(object):
- def __init__(self):
- self.platform_list = ["xiaoniangao", "gongzhonghao", "shipinhao", "douyin", "kuaishou", "fuqiwang", "haitunzhufu"]
- self.date_last = "2023-11-01"
- self.out_put = {}
- def analysis_videos(self):
- connection = pymysql.connect(
- host="rm-bp1159bu17li9hi94ro.mysql.rds.aliyuncs.com", # 数据库IP地址,内网地址
- port=3306, # 端口号
- user="crawler", # mysql用户名
- passwd="crawler123456@", # mysql用户登录密码
- db="piaoquan-crawler", # 数据库名
- # 如果数据库里面的文本是utf8编码的,charset指定是utf8
- charset="utf8")
- for platform in self.platform_list:
- select_sql = f"""SELECT DATE(create_time) as DATE, count(1) as Total
- FROM crawler_video
- WHERE `platform` = "{platform}" and create_time > "{self.date_last}"
- GROUP BY DATE( `create_time` )
- ORDER BY DATE( `create_time`) DESC; """
- out_dict = {}
- mysql = connection.cursor()
- mysql.execute(select_sql)
- data_lines = mysql.fetchall()
- for i in data_lines:
- date_info = i[0].strftime('%Y-%m-%d')
- count = i[1]
- out_dict[date_info] = count
- self.out_put[platform] = out_dict
- connection.close()
- if __name__ == '__main__':
- A = Analysis()
- A.analysis_videos()
- print(json.dumps(A.out_put, ensure_ascii=False, indent=4))
|