1
Python YouTube API을 사용하여 몇 개의 비디오 ID에서 정보를 검색합니다. 때로는 오류가 발생하여 계속 실행됩니다.YouTube API 사용 중 Python 예외/오류 무시
gdata.service.RequestError: {'status': 403, 'body': 'Private video', 'reason': 'Forbidden'}
그러나 오류를 무시하고 계속 진행하고 싶습니다. PFB 일부 코드 :
@contextlib.contextmanager
def exception_ignore_handler():
try:
yield
except Exception:
pass
''' Get Video details '''
def WriteStatEntryDetails(entry_video_id,data_file):
entry = yt_service.GetYouTubeVideoEntry(video_id = entry_video_id)
with exception_ignore_handler():
author = entry.author[0].name.text
data_file.write(author)
data_file.write(",")
with exception_ignore_handler():
time = entry.published.text
data_file.write(time)
data_file.write(",")
with exception_ignore_handler():
category = entry.media.category[0].label
data_file.write(category)
data_file.write(",")
with exception_ignore_handler():
duration = entry.media.duration.seconds
data_file.write(duration)
data_file.write(",")
with exception_ignore_handler():
view_count = entry.statistics.view_count
data_file.write(view_count.rstrip())
data_file.write(",")
with exception_ignore_handler():
rating = entry.rating.average
data_file.write(rating.rstrip())
data_file.write(",")
''' Get the comment feed of a video given a entry_video_id'''
def WriteStatCommentFeed(entry_video_id, data_file):
url = comment_feed_url % entry_video_id
comment_feed = yt_service.GetYouTubeVideoCommentFeed(uri=url)
try :
numComments = comment_feed.total_results.text
data_file.write(numComments)
except:
pass
''' Populate data statistics '''
def populate_data_stats(positive_video_id_list):
data_file = open(data_statistics_file, "w")
for entry_video_id in positive_video_id_list :
data_file.write(entry_video_id)
data_file.write(",")
WriteStatEntryDetails(entry_video_id, data_file)
WriteStatCommentFeed(entry_video_id, data_file)
data_file.write("\n")
data_file.close()
exception_ignore_handler를 다시 사용하지 않는 이유는 무엇입니까? –
아델 (Adeel), "다시"는 어디에서 나타 납니까? 저는 파이썬의 초보자입니다. – Dexter