def get_video_id(self, yt_url):
#video_id_regex=re.compile('(?:youtube(?:-nocookie)?\.com/(?:\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&;]v=)|youtu\.be\/)([a-zA-Z0-9_-]{11})', re.DOTALL)
#added parsing for video_id in kodi_youtube_plugin url
video_id_regex=re.compile('(?:youtube(?:-nocookie)?\.com/(?:\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&;]v=)|youtu\.be\/|plugin:\/\/plugin\.video\.youtube\/play\/\?video_id=)([a-zA-Z0-9_-]{11})', re.DOTALL)
video_id=''
match = video_id_regex.findall(yt_url)
if match:
video_id=match[0]
else:
#log(' second parsing for video id:'+yt_url)
#for parsing this: https://www.youtube.com/attribution_link?a=y08k0cdNBKw&u=%2Fwatch%3Fv%3DQOVrrL5KtsM%26feature%3Dshare%26list%3DPLVonsjaXkSpfuIv02l6IM1pN1Z3IfXWUW%26index%3D4
o = urlparse.urlparse(yt_url)
query = urlparse.parse_qs(o.query)
if 'a' in query and 'u' in query: #if all (k in query for k in ("a","u")):
u=query['u'][0]
#log(' u '+ repr(u)) # <-- /watch?v=QOVrrL5KtsM&feature=share&list=PLVonsjaXkSpfuIv02l6IM1pN1Z3IfXWUW&index=4
match = video_id_regex.findall('youtube.com'+u)
if match:
video_id=match[0]
else:
log(" Can't get youtube video id:"+yt_url)
return video_id
评论列表
文章目录