top_video_list.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import traceback
  2. from utils import request_post, filter_video_status
  3. from db_helper import RedisHelper
  4. from config import set_config
  5. from log import Log
  6. config_ = set_config()
  7. log_ = Log()
  8. def get_top_video_list():
  9. """接口获取生效中的置顶视频列表,并存入redis"""
  10. try:
  11. result = request_post(request_url=config_.TOP_VIDEO_LIST_URL, request_data={})
  12. if result is None:
  13. return
  14. if result['code'] != 0:
  15. log_.info('获取置顶视频失败!')
  16. return
  17. data = result['data']
  18. # 视频状态过滤
  19. video_ids = [item['videoId'] for item in data]
  20. log_.info('video_ids = {}'.format(video_ids))
  21. filter_videos = filter_video_status(video_ids=video_ids)
  22. log_.info('filter_videos = {}'.format(filter_videos))
  23. value = [item for item in data if item['videoId'] in filter_videos]
  24. log_.info('value = {}'.format(value))
  25. # 写入redis
  26. redis_helper = RedisHelper()
  27. redis_helper.set_data_to_redis(key_name=config_.TOP_VIDEO_LIST_KEY_NAME, value=str(value), expire_time=5 * 60)
  28. log_.info('置顶视频更新成功!')
  29. except Exception as e:
  30. log_.error('置顶视频更新失败!')
  31. log_.error(traceback.format_exc())
  32. if __name__ == '__main__':
  33. get_top_video_list()