|
@@ -3,7 +3,6 @@
|
|
# @Time: 2022/5/16
|
|
# @Time: 2022/5/16
|
|
import datetime
|
|
import datetime
|
|
import time
|
|
import time
|
|
-
|
|
|
|
import requests
|
|
import requests
|
|
import urllib3
|
|
import urllib3
|
|
|
|
|
|
@@ -16,9 +15,10 @@ proxies = {"http": None, "https": None}
|
|
class HourList:
|
|
class HourList:
|
|
# 今天的日期:年-月-日
|
|
# 今天的日期:年-月-日
|
|
today = datetime.datetime.now().strftime("%Y-%m-%d")
|
|
today = datetime.datetime.now().strftime("%Y-%m-%d")
|
|
-
|
|
|
|
- # 已下载小时榜视频列表
|
|
|
|
- download_hour_video_list = []
|
|
|
|
|
|
+ # 昨天
|
|
|
|
+ yesterday = (datetime.date.today() + datetime.timedelta(days=-1)).strftime("%Y-%m-%d")
|
|
|
|
+ # 前天
|
|
|
|
+ before_yesterday = (datetime.date.today() + datetime.timedelta(days=-2)).strftime("%Y-%m-%d")
|
|
|
|
|
|
# 下载规则
|
|
# 下载规则
|
|
@staticmethod
|
|
@staticmethod
|
|
@@ -55,13 +55,13 @@ class HourList:
|
|
1.从列表获取视频,7 天内,播放量>=5000
|
|
1.从列表获取视频,7 天内,播放量>=5000
|
|
2.时长 1-10min
|
|
2.时长 1-10min
|
|
3.每天10:00、15:00、20:00 把符合规则的视频,写入云文档
|
|
3.每天10:00、15:00、20:00 把符合规则的视频,写入云文档
|
|
- https://w42nne6hzg.feishu.cn/sheets/shtcngRPoDYAi24x52j2nDuHMih?sheet=k2rKkv
|
|
|
|
|
|
+ https://w42nne6hzg.feishu.cn/sheets/shtcnYxiyQ1wLklo1W5Kdqc9cGh?sheet=ba0da4
|
|
"""
|
|
"""
|
|
url = "https://kapi.xiaoniangao.cn/trends/get_recommend_trends"
|
|
url = "https://kapi.xiaoniangao.cn/trends/get_recommend_trends"
|
|
headers = {
|
|
headers = {
|
|
- "x-b3-traceid": "695dcad76ccca",
|
|
|
|
- "X-Token-Id": "af9c47bb6c942236ff35ee10d355f3b0-1164637358",
|
|
|
|
- "uid": "3d460a1b-ab85-426b-bd80-62029acaa2c0",
|
|
|
|
|
|
+ "x-b3-traceid": "bd267349bf41b",
|
|
|
|
+ "X-Token-Id": "86f6d7cc2b2b6870004df5d16c82aaf3-1185665701",
|
|
|
|
+ "uid": "8fde3c6c-c070-4379-bfc4-15c7e85139c9",
|
|
"content-type": "application/json",
|
|
"content-type": "application/json",
|
|
"Accept-Encoding": "gzip,compress,br,deflate",
|
|
"Accept-Encoding": "gzip,compress,br,deflate",
|
|
"User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)'
|
|
"User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)'
|
|
@@ -111,11 +111,11 @@ class HourList:
|
|
},
|
|
},
|
|
"pj": "1",
|
|
"pj": "1",
|
|
"pf": "2",
|
|
"pf": "2",
|
|
- "session_id": "1a20f033-3511-4e7b-9b2a-95e5c542461f"
|
|
|
|
|
|
+ "session_id": "7bcce313-b57d-4305-8d14-6ebd9a1bad29"
|
|
},
|
|
},
|
|
"refresh": False,
|
|
"refresh": False,
|
|
- "token": "451273638af2c8bb90266bcfaf601a68",
|
|
|
|
- "uid": "3d460a1b-ab85-426b-bd80-62029acaa2c0",
|
|
|
|
|
|
+ "token": "90747742180aeb22c0fe3a3c6a38f3d9",
|
|
|
|
+ "uid": "8fde3c6c-c070-4379-bfc4-15c7e85139c9",
|
|
"proj": "ma",
|
|
"proj": "ma",
|
|
"wx_ver": "8.0.20",
|
|
"wx_ver": "8.0.20",
|
|
"code_ver": "3.62.0"
|
|
"code_ver": "3.62.0"
|
|
@@ -253,24 +253,23 @@ class HourList:
|
|
or video_send_time == "" or user_name == "" or head_url == "" \
|
|
or video_send_time == "" or user_name == "" or head_url == "" \
|
|
or cover_url == "" or video_url == "":
|
|
or cover_url == "" or video_url == "":
|
|
Common.logger().warning("无效视频")
|
|
Common.logger().warning("无效视频")
|
|
|
|
+
|
|
# 判断发布时间是否 > 7天
|
|
# 判断发布时间是否 > 7天
|
|
- # elif int(time.time()) - int(video_send_time)/1000 > 2592000:
|
|
|
|
- # Common.logger().info("发布时间大于30天", video_title)
|
|
|
|
elif int(time.time()) - int(video_send_time)/1000 > 604800:
|
|
elif int(time.time()) - int(video_send_time)/1000 > 604800:
|
|
Common.logger().info("发布时间大于7天", video_title)
|
|
Common.logger().info("发布时间大于7天", video_title)
|
|
|
|
+
|
|
# 判断播放量是否 > 5000
|
|
# 判断播放量是否 > 5000
|
|
- # elif int(video_play_cnt) < 500:
|
|
|
|
- # Common.logger().info("该视频30天内播放量<500:{}", video_title)
|
|
|
|
elif int(video_play_cnt) < 5000:
|
|
elif int(video_play_cnt) < 5000:
|
|
Common.logger().info("该视频7天内播放量<5000:{}", video_title)
|
|
Common.logger().info("该视频7天内播放量<5000:{}", video_title)
|
|
|
|
+
|
|
# 从云文档去重:https://w42nne6hzg.feishu.cn/sheets/shtcngRPoDYAi24x52j2nDuHMih?sheet=onyBDH
|
|
# 从云文档去重:https://w42nne6hzg.feishu.cn/sheets/shtcngRPoDYAi24x52j2nDuHMih?sheet=onyBDH
|
|
- elif video_id in [j for i in Feishu.get_values_batch("k2rKkv") for j in i]:
|
|
|
|
|
|
+ elif video_id in [j for i in Feishu.get_values_batch("xiaoniangao", "ba0da4") for j in i]:
|
|
Common.logger().info("该视频已保存过:{}", video_title)
|
|
Common.logger().info("该视频已保存过:{}", video_title)
|
|
else:
|
|
else:
|
|
Common.logger().info("该视频未下载,添加至feeds中:{}".format(video_title))
|
|
Common.logger().info("该视频未下载,添加至feeds中:{}".format(video_title))
|
|
# feeds工作表,插入空行
|
|
# feeds工作表,插入空行
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.insert_columns("k2rKkv", "ROWS", 2, 3)
|
|
|
|
|
|
+ Feishu.insert_columns("xiaoniangao", "ba0da4", "ROWS", 2, 3)
|
|
|
|
|
|
# 获取当前时间
|
|
# 获取当前时间
|
|
get_feeds_time = int(time.time())
|
|
get_feeds_time = int(time.time())
|
|
@@ -281,7 +280,7 @@ class HourList:
|
|
video_play_cnt]]
|
|
video_play_cnt]]
|
|
# 等待 1s,防止操作云文档太频繁,导致报错
|
|
# 等待 1s,防止操作云文档太频繁,导致报错
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "A3:I3", values)
|
|
|
|
|
|
+ Feishu.update_values("xiaoniangao", "ba0da4", "A3:I3", values)
|
|
|
|
|
|
except Exception as e:
|
|
except Exception as e:
|
|
Common.logger().error("获取小时榜视频列表异常:{}", e)
|
|
Common.logger().error("获取小时榜视频列表异常:{}", e)
|
|
@@ -290,26 +289,33 @@ class HourList:
|
|
@classmethod
|
|
@classmethod
|
|
def check_hour_list_data(cls):
|
|
def check_hour_list_data(cls):
|
|
# 判断J1单元格的日期是否为今天
|
|
# 判断J1单元格的日期是否为今天
|
|
- if Feishu.get_range_value("k2rKkv", "J1:J1")[0] != cls.today:
|
|
|
|
|
|
+ if Feishu.get_range_value("xiaoniangao", "ba0da4", "J1:J1")[0] != cls.today:
|
|
# 插入3列 J1:L1,并写入日期和时间数据
|
|
# 插入3列 J1:L1,并写入日期和时间数据
|
|
- values = [[datetime.datetime.now().strftime("%Y-%m-%d")], ["10:00", "15:00", "20:00"]]
|
|
|
|
- Feishu.insert_columns("k2rKkv", "COLUMNS", 9, 12)
|
|
|
|
- Feishu.update_hour_list_values("k2rKkv", "J1:L2", values)
|
|
|
|
- Feishu.merge_cells("k2rKkv", "J1:L1")
|
|
|
|
|
|
+ values = [[cls.today], ["10:00", "15:00", "20:00"]]
|
|
|
|
+ Feishu.insert_columns("xiaoniangao", "ba0da4", "COLUMNS", 9, 12)
|
|
|
|
+ Feishu.update_values("xiaoniangao", "ba0da4", "J1:L2", values)
|
|
|
|
+ Feishu.merge_cells("xiaoniangao", "ba0da4", "J1:L1")
|
|
Common.logger().info("插入今天日期成功")
|
|
Common.logger().info("插入今天日期成功")
|
|
else:
|
|
else:
|
|
Common.logger().info("今日上升榜日期已存在")
|
|
Common.logger().info("今日上升榜日期已存在")
|
|
|
|
|
|
# 清除空行
|
|
# 清除空行
|
|
@classmethod
|
|
@classmethod
|
|
- def del_null_rows(cls):
|
|
|
|
- for i in range(3, len(Feishu.get_values_batch("k2rKkv")) + 1):
|
|
|
|
- time.sleep(0.5)
|
|
|
|
|
|
+ def del_null_rows(cls, crawler, sheetid, startindex):
|
|
|
|
+ """
|
|
|
|
+ :params sheetid:工作表 ID
|
|
|
|
+ :params startindex:从第几行开始清除
|
|
|
|
+ """
|
|
|
|
+ for i in range(int(startindex), len(Feishu.get_values_batch(crawler, sheetid)) + 1):
|
|
|
|
+ time.sleep(1)
|
|
Common.logger().info("正在检查第:{}行", i)
|
|
Common.logger().info("正在检查第:{}行", i)
|
|
# 删除空行
|
|
# 删除空行
|
|
- if Feishu.get_range_value("k2rKkv", "A" + str(i) + ":" + "A" + str(i))[0] is None:
|
|
|
|
|
|
+ if Feishu.get_range_value(crawler, sheetid, "A" + str(i) + ":" + "A" + str(i))[0] is None\
|
|
|
|
+ and Feishu.get_range_value(crawler, sheetid, "B" + str(i) + ":" + "B" + str(i))[0] is None\
|
|
|
|
+ and Feishu.get_range_value(crawler, sheetid, "C" + str(i) + ":" + "C" + str(i))[0] is None\
|
|
|
|
+ and Feishu.get_range_value(crawler, sheetid, "D" + str(i) + ":" + "D" + str(i))[0] is None:
|
|
Common.logger().info("当前第{}行为空行,删除", i)
|
|
Common.logger().info("当前第{}行为空行,删除", i)
|
|
- Feishu.dimension_range("k2rKkv", "ROWS", i, i)
|
|
|
|
|
|
+ Feishu.dimension_range(crawler, sheetid, "ROWS", i, i)
|
|
Common.logger().info("删除空行完成")
|
|
Common.logger().info("删除空行完成")
|
|
|
|
|
|
# 更新小时榜数据
|
|
# 更新小时榜数据
|
|
@@ -319,51 +325,55 @@ class HourList:
|
|
更新小时榜数据
|
|
更新小时榜数据
|
|
"""
|
|
"""
|
|
try:
|
|
try:
|
|
- if len(Feishu.get_values_batch("k2rKkv")) == 2:
|
|
|
|
|
|
+ if len(Feishu.get_values_batch("xiaoniangao", "ba0da4")) == 2:
|
|
Common.logger().info("当前工作表无数据")
|
|
Common.logger().info("当前工作表无数据")
|
|
else:
|
|
else:
|
|
- for i in range(3, len(Feishu.get_values_batch("k2rKkv"))+1):
|
|
|
|
- time.sleep(0.5)
|
|
|
|
- Common.logger().info("更新第:{}条视频信息", i-2)
|
|
|
|
|
|
+ for i in range(3, len(Feishu.get_values_batch("xiaoniangao", "ba0da4"))+1):
|
|
|
|
+ time.sleep(1)
|
|
|
|
+ Common.logger().info("更新第:{}行视频信息", i)
|
|
|
|
|
|
# 略过空行
|
|
# 略过空行
|
|
- if Feishu.get_range_value("k2rKkv", "D" + str(i) + ":" + "D" + str(i))[0] is None\
|
|
|
|
- or Feishu.get_range_value("k2rKkv", "C" + str(i) + ":" + "C" + str(i))[0] is None\
|
|
|
|
- or Feishu.get_range_value("k2rKkv", "A" + str(i) + ":" + "A" + str(i))[0] is None:
|
|
|
|
|
|
+ if Feishu.get_range_value("xiaoniangao", "ba0da4", "D" + str(i) + ":" + "D" + str(i))[0] is None\
|
|
|
|
+ and Feishu.get_range_value("xiaoniangao", "ba0da4", "C"+str(i)+":"+"C"+str(i))[0] is None\
|
|
|
|
+ and Feishu.get_range_value("xiaoniangao", "ba0da4", "A"+str(i)+":"+"A"+str(i))[0] is None:
|
|
Common.logger().info("空行,略过")
|
|
Common.logger().info("空行,略过")
|
|
else:
|
|
else:
|
|
# 视频标题
|
|
# 视频标题
|
|
- v_title = Feishu.get_range_value("k2rKkv", "D" + str(i) + ":" + "D" + str(i))[0]
|
|
|
|
|
|
+ v_title = Feishu.get_range_value("xiaoniangao", "ba0da4", "D" + str(i) + ":" + "D" + str(i))[0]
|
|
Common.logger().info("视频详情,video_title:{},{}", v_title, type(v_title))
|
|
Common.logger().info("视频详情,video_title:{},{}", v_title, type(v_title))
|
|
|
|
|
|
# 视频 ID
|
|
# 视频 ID
|
|
- v_id = Feishu.get_range_value("k2rKkv", "C" + str(i) + ":" + "C" + str(i))[0]
|
|
|
|
|
|
+ v_id = Feishu.get_range_value("xiaoniangao", "ba0da4", "C" + str(i) + ":" + "C" + str(i))[0]
|
|
Common.logger().info("视频详情,video_id:{},{}", v_id, type(v_id))
|
|
Common.logger().info("视频详情,video_id:{},{}", v_id, type(v_id))
|
|
|
|
|
|
# profile_id,用户 ID
|
|
# profile_id,用户 ID
|
|
- p_id = Feishu.get_range_value("k2rKkv", "A" + str(i) + ":" + "A" + str(i))[0]
|
|
|
|
|
|
+ p_id = Feishu.get_range_value("xiaoniangao", "ba0da4", "A" + str(i) + ":" + "A" + str(i))[0]
|
|
Common.logger().info("视频详情,profile_id:{},{}", p_id, type(p_id))
|
|
Common.logger().info("视频详情,profile_id:{},{}", p_id, type(p_id))
|
|
|
|
|
|
# profile_mid
|
|
# profile_mid
|
|
- p_mid = Feishu.get_range_value("k2rKkv", "B" + str(i) + ":" + "B" + str(i))[0]
|
|
|
|
|
|
+ p_mid = Feishu.get_range_value("xiaoniangao", "ba0da4", "B" + str(i) + ":" + "B" + str(i))[0]
|
|
Common.logger().info("视频详情,profile_mid:{},{}", p_mid, type(p_mid))
|
|
Common.logger().info("视频详情,profile_mid:{},{}", p_mid, type(p_mid))
|
|
|
|
|
|
# 抓取时的播放量
|
|
# 抓取时的播放量
|
|
- v_play_cnt = Feishu.get_range_value("k2rKkv", "I" + str(i) + ":" + "I" + str(i))[0]
|
|
|
|
|
|
+ v_play_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "I" + str(i) + ":" + "I" + str(i))[0]
|
|
Common.logger().info("视频详情,video_play_cnt:{},{}", v_play_cnt, type(v_play_cnt))
|
|
Common.logger().info("视频详情,video_play_cnt:{},{}", v_play_cnt, type(v_play_cnt))
|
|
|
|
|
|
# 抓取时间
|
|
# 抓取时间
|
|
- v_upload_time = Feishu.get_range_value("k2rKkv", "H" + str(i) + ":" + "H" + str(i))[0]
|
|
|
|
|
|
+ v_upload_time = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "H" + str(i) + ":" + "H" + str(i))[0]
|
|
Common.logger().info("视频详情,video_send_time:{},{}", v_upload_time, type(v_upload_time))
|
|
Common.logger().info("视频详情,video_send_time:{},{}", v_upload_time, type(v_upload_time))
|
|
|
|
|
|
- # 上传时间
|
|
|
|
|
|
+ # 抓取时间:日期
|
|
|
|
+ upload_data = v_upload_time.split(" ")[0]
|
|
|
|
+ # 抓取时间:小时
|
|
upload_hour = v_upload_time.split(" ")[-1].split(":")[0]
|
|
upload_hour = v_upload_time.split(" ")[-1].split(":")[0]
|
|
|
|
|
|
url = "https://kapi.xiaoniangao.cn/profile/get_profile_by_id"
|
|
url = "https://kapi.xiaoniangao.cn/profile/get_profile_by_id"
|
|
headers = {
|
|
headers = {
|
|
- "x-b3-traceid": "158f6ce5d71337",
|
|
|
|
- "X-Token-Id": "af9c47bb6c942236ff35ee10d355f3b0-1164637358",
|
|
|
|
- "uid": "3d460a1b-ab85-426b-bd80-62029acaa2c0",
|
|
|
|
|
|
+ "x-b3-traceid": "bd267349bf41b",
|
|
|
|
+ "X-Token-Id": "86f6d7cc2b2b6870004df5d16c82aaf3-1185665701",
|
|
|
|
+ "uid": "8fde3c6c-c070-4379-bfc4-15c7e85139c9",
|
|
"content-type": "application/json",
|
|
"content-type": "application/json",
|
|
"Accept-Encoding": "gzip,compress,br,deflate",
|
|
"Accept-Encoding": "gzip,compress,br,deflate",
|
|
"User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)'
|
|
"User-Agent": 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X)'
|
|
@@ -385,8 +395,8 @@ class HourList:
|
|
"no_follow": True,
|
|
"no_follow": True,
|
|
"vid": v_id,
|
|
"vid": v_id,
|
|
"hot_l1_comment": True,
|
|
"hot_l1_comment": True,
|
|
- "token": "451273638af2c8bb90266bcfaf601a68",
|
|
|
|
- "uid": "3d460a1b-ab85-426b-bd80-62029acaa2c0",
|
|
|
|
|
|
+ "token": "90747742180aeb22c0fe3a3c6a38f3d9",
|
|
|
|
+ "uid": "8fde3c6c-c070-4379-bfc4-15c7e85139c9",
|
|
"proj": "ma",
|
|
"proj": "ma",
|
|
"wx_ver": "8.0.20",
|
|
"wx_ver": "8.0.20",
|
|
"code_ver": "3.62.0",
|
|
"code_ver": "3.62.0",
|
|
@@ -407,7 +417,7 @@ class HourList:
|
|
},
|
|
},
|
|
"pj": "1",
|
|
"pj": "1",
|
|
"pf": "2",
|
|
"pf": "2",
|
|
- "session_id": "1a20f033-3511-4e7b-9b2a-95e5c542461f"
|
|
|
|
|
|
+ "session_id": "7bcce313-b57d-4305-8d14-6ebd9a1bad29"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
try:
|
|
try:
|
|
@@ -415,85 +425,195 @@ class HourList:
|
|
r = requests.post(headers=headers, url=url, json=data, proxies=proxies, verify=False)
|
|
r = requests.post(headers=headers, url=url, json=data, proxies=proxies, verify=False)
|
|
hour_play_cnt = r.json()["data"]["play_pv"]
|
|
hour_play_cnt = r.json()["data"]["play_pv"]
|
|
Common.logger().info("视频详情,当前播放量:{}", hour_play_cnt)
|
|
Common.logger().info("视频详情,当前播放量:{}", hour_play_cnt)
|
|
- # 固定时间获取符合规则的视频,写入云文档:https://w42nne6hzg.feishu.cn/sheets/shtcngRPoDYAi24x52j2nDuHMih?sheet=k2rKkv
|
|
|
|
|
|
+ # 固定时间获取符合规则的视频,写入云文档:https://w42nne6hzg.feishu.cn/sheets/shtcngRPoDYAi24x52j2nDuHMih?sheet=ba0da4
|
|
update_hour = datetime.datetime.now()
|
|
update_hour = datetime.datetime.now()
|
|
- if update_hour.hour == 10 and int(upload_hour) <= 10:
|
|
|
|
- Common.logger().info("满足条件: update_hour == 10 and int(upload_hour) < 10")
|
|
|
|
|
|
+ if upload_data == cls.today and update_hour.hour == 10 and int(upload_hour) <= 10:
|
|
|
|
+ Common.logger().info("满足条件: 抓取日期为今天 and 当前时间:10点 and 抓取时间<=10点")
|
|
|
|
+
|
|
# 当天 10:00 视频播放量
|
|
# 当天 10:00 视频播放量
|
|
ten_hour_play_cnt = hour_play_cnt
|
|
ten_hour_play_cnt = hour_play_cnt
|
|
Common.logger().info("当天 10:00 视频播放量:{}", ten_hour_play_cnt)
|
|
Common.logger().info("当天 10:00 视频播放量:{}", ten_hour_play_cnt)
|
|
|
|
+
|
|
# 10:00 的上升榜写入数据
|
|
# 10:00 的上升榜写入数据
|
|
values = int(ten_hour_play_cnt) - int(v_play_cnt)
|
|
values = int(ten_hour_play_cnt) - int(v_play_cnt)
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "J"+str(i) + ":" + "J"+str(i), [[values]])
|
|
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i), [[values]])
|
|
Common.logger().info("10:00数据更新成功:{}", values)
|
|
Common.logger().info("10:00数据更新成功:{}", values)
|
|
- elif update_hour.hour == 15 and int(upload_hour) <= 10:
|
|
|
|
- Common.logger().info("满足条件: update_hour == 15 and int(upload_hour) <= 10")
|
|
|
|
|
|
+
|
|
|
|
+ elif upload_data == cls.today and update_hour.hour == 15 and int(upload_hour) <= 10:
|
|
|
|
+ Common.logger().info("满足条件: 抓取日期为今天 and 当前时间:15点 and 抓取时间<=10点")
|
|
|
|
+
|
|
# 当天 15:00 视频播放量
|
|
# 当天 15:00 视频播放量
|
|
fifteen_hour_play_cnt = hour_play_cnt
|
|
fifteen_hour_play_cnt = hour_play_cnt
|
|
Common.logger().info("当天 15:00 视频播放量:{}", fifteen_hour_play_cnt)
|
|
Common.logger().info("当天 15:00 视频播放量:{}", fifteen_hour_play_cnt)
|
|
|
|
+
|
|
# 当天 10:00 上升的数据
|
|
# 当天 10:00 上升的数据
|
|
- if Feishu.get_range_value("k2rKkv", "J"+str(i) + ":" + "J"+str(i))[0] is None:
|
|
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J"+str(i) + ":" + "J"+str(i))[0] is None:
|
|
ten_up_cnt = 0
|
|
ten_up_cnt = 0
|
|
else:
|
|
else:
|
|
- ten_up_cnt = Feishu.get_range_value("k2rKkv", "J"+str(i) + ":" + "J"+str(i))[0]
|
|
|
|
|
|
+ ten_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J"+str(i) + ":" + "J"+str(i))[0]
|
|
|
|
+
|
|
# 15:00 的上升榜写入数据
|
|
# 15:00 的上升榜写入数据
|
|
values = int(fifteen_hour_play_cnt) - (int(v_play_cnt) + int(ten_up_cnt))
|
|
values = int(fifteen_hour_play_cnt) - (int(v_play_cnt) + int(ten_up_cnt))
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "K" + str(i) + ":" + "K" + str(i), [[values]])
|
|
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i), [[values]])
|
|
Common.logger().info("15:00数据更新成功:{}", values)
|
|
Common.logger().info("15:00数据更新成功:{}", values)
|
|
- elif update_hour.hour == 15 and 10 < int(upload_hour) <= 15:
|
|
|
|
- Common.logger().info("满足条件: update_hour == 15 and 10 < int(upload_hour) < 15")
|
|
|
|
|
|
+
|
|
|
|
+ elif upload_data == cls.today and update_hour.hour == 15 and 10 < int(upload_hour) <= 15:
|
|
|
|
+ Common.logger().info("满足条件: 抓取日期为今天 and 当前时间:15点 and 10<抓取时间<=15点")
|
|
|
|
+
|
|
# 当天 15:00 视频播放量
|
|
# 当天 15:00 视频播放量
|
|
fifteen_hour_play_cnt = hour_play_cnt
|
|
fifteen_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 15:00 视频播放量:{}", fifteen_hour_play_cnt)
|
|
|
|
+
|
|
# 15:00 的上升榜写入数据
|
|
# 15:00 的上升榜写入数据
|
|
values = int(fifteen_hour_play_cnt) - int(v_play_cnt)
|
|
values = int(fifteen_hour_play_cnt) - int(v_play_cnt)
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "K" + str(i) + ":" + "K" + str(i), [[values]])
|
|
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i), [[values]])
|
|
Common.logger().info("15:00数据更新成功:{}", values)
|
|
Common.logger().info("15:00数据更新成功:{}", values)
|
|
- elif update_hour.hour == 20 and int(upload_hour) <= 10:
|
|
|
|
- Common.logger().info("满足条件: update_hour == 20 and int(upload_hour) <= 10")
|
|
|
|
|
|
+
|
|
|
|
+ elif upload_data == cls.today and update_hour.hour == 20 and int(upload_hour) <= 10:
|
|
|
|
+ Common.logger().info("满足条件: 抓取日期为今天 and 当前时间:20点 and 抓取时间<=10点")
|
|
|
|
+
|
|
# 当天 20:00 视频播放量
|
|
# 当天 20:00 视频播放量
|
|
twenty_hour_play_cnt = hour_play_cnt
|
|
twenty_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 20:00 视频播放量:{}", twenty_hour_play_cnt)
|
|
|
|
+
|
|
# 当天 10:00 上升的数据
|
|
# 当天 10:00 上升的数据
|
|
- if Feishu.get_range_value("k2rKkv", "J" + str(i) + ":" + "J" + str(i))[0] is None:
|
|
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i))[0] is None:
|
|
ten_up_cnt = 0
|
|
ten_up_cnt = 0
|
|
else:
|
|
else:
|
|
- ten_up_cnt = Feishu.get_range_value("k2rKkv", "J" + str(i) + ":" + "J" + str(i))[0]
|
|
|
|
|
|
+ ten_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i))[0]
|
|
|
|
+
|
|
# 当天 15:00 上升的数据
|
|
# 当天 15:00 上升的数据
|
|
- if Feishu.get_range_value("k2rKkv", "K" + str(i) + ":" + "K" + str(i))[0] is None:
|
|
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i))[0] is None:
|
|
fifteen_up_cnt = 0
|
|
fifteen_up_cnt = 0
|
|
else:
|
|
else:
|
|
- fifteen_up_cnt = Feishu.get_range_value("k2rKkv", "K" + str(i) + ":" + "K" + str(i))[0]
|
|
|
|
|
|
+ fifteen_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i))[0]
|
|
|
|
+
|
|
# 20:00 的上升榜写入数据
|
|
# 20:00 的上升榜写入数据
|
|
values = int(twenty_hour_play_cnt) - (
|
|
values = int(twenty_hour_play_cnt) - (
|
|
int(v_play_cnt) + int(ten_up_cnt) + int(fifteen_up_cnt))
|
|
int(v_play_cnt) + int(ten_up_cnt) + int(fifteen_up_cnt))
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
Common.logger().info("20:00数据更新成功:{}", values)
|
|
Common.logger().info("20:00数据更新成功:{}", values)
|
|
- elif update_hour.hour == 20 and 10 < int(upload_hour) <= 15:
|
|
|
|
- Common.logger().info("满足条件: update_hour == 20 and 10 < int(upload_hour) < 15")
|
|
|
|
|
|
+
|
|
|
|
+ elif upload_data == cls.today and update_hour.hour == 20 and 10 < int(upload_hour) <= 15:
|
|
|
|
+ Common.logger().info("满足条件: 抓取日期为今天 and 当前时间:20点 and 10<抓取时间<=15点")
|
|
|
|
+
|
|
# 当天 20:00 视频播放量
|
|
# 当天 20:00 视频播放量
|
|
twenty_hour_play_cnt = hour_play_cnt
|
|
twenty_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 20:00 视频播放量:{}", twenty_hour_play_cnt)
|
|
|
|
+
|
|
# 当天 15:00 上升的数据
|
|
# 当天 15:00 上升的数据
|
|
- if Feishu.get_range_value("k2rKkv", "K" + str(i) + ":" + "K" + str(i))[0] is None:
|
|
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i))[0] is None:
|
|
fifteen_up_cnt = 0
|
|
fifteen_up_cnt = 0
|
|
else:
|
|
else:
|
|
- fifteen_up_cnt = Feishu.get_range_value("k2rKkv", "K" + str(i) + ":" + "K" + str(i))[0]
|
|
|
|
|
|
+ fifteen_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i))[0]
|
|
|
|
+
|
|
# 20:00 的上升榜写入数据
|
|
# 20:00 的上升榜写入数据
|
|
values = int(twenty_hour_play_cnt) - (int(v_play_cnt) + int(fifteen_up_cnt))
|
|
values = int(twenty_hour_play_cnt) - (int(v_play_cnt) + int(fifteen_up_cnt))
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
Common.logger().info("20:00数据更新成功:{}", values)
|
|
Common.logger().info("20:00数据更新成功:{}", values)
|
|
- elif update_hour.hour == 20 and 15 < int(upload_hour) <= 20:
|
|
|
|
- Common.logger().info("满足条件: update_hour == 20 and 15 < int(upload_hour) < 20")
|
|
|
|
|
|
+
|
|
|
|
+ elif upload_data == cls.today and update_hour.hour == 20 and 15 < int(upload_hour) <= 20:
|
|
|
|
+ Common.logger().info("满足条件: 抓取日期为今天 and 当前时间:20点 and 15<抓取时间<=20点")
|
|
|
|
+
|
|
# 当天 20:00 视频播放量
|
|
# 当天 20:00 视频播放量
|
|
twenty_hour_play_cnt = hour_play_cnt
|
|
twenty_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 20:00 视频播放量:{}", twenty_hour_play_cnt)
|
|
|
|
+
|
|
# 20:00 的上升榜写入数据
|
|
# 20:00 的上升榜写入数据
|
|
values = int(twenty_hour_play_cnt) - int(v_play_cnt)
|
|
values = int(twenty_hour_play_cnt) - int(v_play_cnt)
|
|
time.sleep(1)
|
|
time.sleep(1)
|
|
- Feishu.update_hour_list_values("k2rKkv", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
|
|
+ Common.logger().info("20:00数据更新成功:{}", values)
|
|
|
|
+
|
|
|
|
+ elif (upload_data == cls.yesterday or upload_data == cls.before_yesterday)\
|
|
|
|
+ and update_hour.hour == 10:
|
|
|
|
+ Common.logger().info("满足条件: 抓取时间小于今天 and 当前时间:10点")
|
|
|
|
+
|
|
|
|
+ # 当天 10:00 视频播放量
|
|
|
|
+ ten_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 10:00 视频播放量:{}", ten_hour_play_cnt)
|
|
|
|
+
|
|
|
|
+ # 10:00 的上升榜写入数据
|
|
|
|
+ values = int(ten_hour_play_cnt) - int(v_play_cnt)
|
|
|
|
+ time.sleep(1)
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i), [[values]])
|
|
|
|
+ Common.logger().info("10:00数据更新成功:{}", values)
|
|
|
|
+
|
|
|
|
+ elif (upload_data == cls.yesterday or upload_data == cls.before_yesterday)\
|
|
|
|
+ and update_hour.hour == 15:
|
|
|
|
+ Common.logger().info("满足条件: 抓取时间小于今天 and 当前时间:15点")
|
|
|
|
+
|
|
|
|
+ # 当天 15:00 视频播放量
|
|
|
|
+ fifteen_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 15:00 视频播放量:{}", fifteen_hour_play_cnt)
|
|
|
|
+
|
|
|
|
+ # 当天 10:00 上升的数据
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i))[0] is None:
|
|
|
|
+ ten_up_cnt = 0
|
|
|
|
+ else:
|
|
|
|
+ ten_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i))[0]
|
|
|
|
+
|
|
|
|
+ # 15:00 的上升榜写入数据
|
|
|
|
+ values = int(fifteen_hour_play_cnt) - (int(v_play_cnt) + int(ten_up_cnt))
|
|
|
|
+ time.sleep(1)
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i), [[values]])
|
|
|
|
+ Common.logger().info("15:00数据更新成功:{}", values)
|
|
|
|
+
|
|
|
|
+ elif (upload_data == cls.yesterday or upload_data == cls.before_yesterday)\
|
|
|
|
+ and update_hour.hour == 20:
|
|
|
|
+ Common.logger().info("满足条件: 抓取时间小于今天 and 当前时间:20点")
|
|
|
|
+
|
|
|
|
+ # 当天 20:00 视频播放量
|
|
|
|
+ twenty_hour_play_cnt = hour_play_cnt
|
|
|
|
+ Common.logger().info("当天 20:00 视频播放量:{}", twenty_hour_play_cnt)
|
|
|
|
+
|
|
|
|
+ # 当天 10:00 上升的数据
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i))[0] is None:
|
|
|
|
+ ten_up_cnt = 0
|
|
|
|
+ else:
|
|
|
|
+ ten_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "J" + str(i) + ":" + "J" + str(i))[0]
|
|
|
|
+
|
|
|
|
+ # 当天 15:00 上升的数据
|
|
|
|
+ if Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i))[0] is None:
|
|
|
|
+ fifteen_up_cnt = 0
|
|
|
|
+ else:
|
|
|
|
+ fifteen_up_cnt = Feishu.get_range_value(
|
|
|
|
+ "xiaoniangao", "ba0da4", "K" + str(i) + ":" + "K" + str(i))[0]
|
|
|
|
+
|
|
|
|
+ # 20:00 的上升榜写入数据
|
|
|
|
+ values = int(twenty_hour_play_cnt) - (
|
|
|
|
+ int(v_play_cnt) + int(ten_up_cnt) + int(fifteen_up_cnt))
|
|
|
|
+ time.sleep(1)
|
|
|
|
+ Feishu.update_values(
|
|
|
|
+ "xiaoniangao", "ba0da4", "L" + str(i) + ":" + "L" + str(i), [[values]])
|
|
Common.logger().info("20:00数据更新成功:{}", values)
|
|
Common.logger().info("20:00数据更新成功:{}", values)
|
|
|
|
+
|
|
except Exception as e:
|
|
except Exception as e:
|
|
Common.logger().error("视频详情:{},异常:{}", v_title, e)
|
|
Common.logger().error("视频详情:{},异常:{}", v_title, e)
|
|
except Exception as e:
|
|
except Exception as e:
|
|
@@ -502,6 +622,6 @@ class HourList:
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if __name__ == "__main__":
|
|
hour_list = HourList()
|
|
hour_list = HourList()
|
|
- # hour_list.get_hour_list_feeds()
|
|
|
|
- hour_list.del_null_rows()
|
|
|
|
|
|
+ hour_list.get_hour_list_feeds()
|
|
|
|
+ # hour_list.del_null_rows("xiaoniangao", "ba0da4", 3)
|
|
hour_list.update_hour_list_data()
|
|
hour_list.update_hour_list_data()
|