top_video_list.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. if len(data) == 0:
  19. log_.info('无置顶视频!')
  20. return
  21. # 视频状态过滤
  22. video_ids = [item['videoId'] for item in data]
  23. log_.info('video_ids = {}'.format(video_ids))
  24. filter_videos = filter_video_status(video_ids=video_ids)
  25. log_.info('filter_videos = {}'.format(filter_videos))
  26. value = [item for item in data if item['videoId'] in filter_videos]
  27. log_.info('value = {}'.format(value))
  28. # 写入redis
  29. redis_helper = RedisHelper()
  30. redis_helper.set_data_to_redis(key_name=config_.TOP_VIDEO_LIST_KEY_NAME, value=str(value), expire_time=5 * 60)
  31. log_.info('置顶视频更新成功!')
  32. except Exception as e:
  33. log_.error('置顶视频更新失败!')
  34. log_.error(traceback.format_exc())
  35. if __name__ == '__main__':
  36. get_top_video_list()