mirror of
https://github.com/soimort/you-get.git
synced 2025-02-02 16:24:00 +03:00
fix youku playlist
This commit is contained in:
parent
82db2fe8f0
commit
b39af82d12
@ -270,12 +270,35 @@ def youku_download_playlist_by_url(url, **kwargs):
|
|||||||
elif re.match('https?://list.youku.com/show/id_', url):
|
elif re.match('https?://list.youku.com/show/id_', url):
|
||||||
# http://list.youku.com/show/id_z2ae8ee1c837b11e18195.html
|
# http://list.youku.com/show/id_z2ae8ee1c837b11e18195.html
|
||||||
# official playlist
|
# official playlist
|
||||||
|
uniqe_video_urls = []
|
||||||
page = get_content(url)
|
page = get_content(url)
|
||||||
show_id = re.search(r'showid:"(\d+)"', page).group(1)
|
show_id = re.search(r'showid:"(\d+)"', page).group(1)
|
||||||
ep = 'http://list.youku.com/show/module?id={}&tab=showInfo&callback=jQuery'.format(show_id)
|
ep = 'http://list.youku.com/show/module?id={}&tab=showInfo&callback=jQuery'.format(show_id)
|
||||||
xhr_page = get_content(ep).replace('\/', '/').replace('\"', '"')
|
xhr_page = get_content(ep).replace('\/', '/').replace('\"', '"')
|
||||||
|
|
||||||
|
reload_ids = re.findall(r'data-id=\\"(reload_\d+)\\"', xhr_page)
|
||||||
|
if len(reload_ids) > 1:
|
||||||
|
for reload_id in reload_ids:
|
||||||
|
ep = 'http://list.youku.com/show/episode?id={}&stage={}&callback=jQuery'.format(show_id, reload_id)
|
||||||
|
xhr_page = get_content(ep).replace('\/', '/').replace('\"', '"')
|
||||||
|
video_urls = re.findall(r'(v.youku.com/v_show/id_(?:[A-Za-z0-9=]+)\.html)', xhr_page)
|
||||||
|
|
||||||
|
for video_url in video_urls:
|
||||||
|
if video_url not in uniqe_video_urls:
|
||||||
|
uniqe_video_urls.append(video_url)
|
||||||
|
|
||||||
|
elif len(reload_ids) == 1:
|
||||||
video_url = re.search(r'(v.youku.com/v_show/id_(?:[A-Za-z0-9=]+)\.html)', xhr_page).group(1)
|
video_url = re.search(r'(v.youku.com/v_show/id_(?:[A-Za-z0-9=]+)\.html)', xhr_page).group(1)
|
||||||
youku_download_playlist_by_url('http://'+video_url, **kwargs)
|
|
||||||
|
if video_url not in uniqe_video_urls:
|
||||||
|
uniqe_video_urls.append(video_url)
|
||||||
|
|
||||||
|
else:
|
||||||
|
return
|
||||||
|
|
||||||
|
for video_url in uniqe_video_urls:
|
||||||
|
youku_download_by_url('http://'+video_url, **kwargs)
|
||||||
|
|
||||||
return
|
return
|
||||||
elif re.match('https?://list.youku.com/albumlist/show/id_(\d+)\.html', url):
|
elif re.match('https?://list.youku.com/albumlist/show/id_(\d+)\.html', url):
|
||||||
# http://list.youku.com/albumlist/show/id_2336634.html
|
# http://list.youku.com/albumlist/show/id_2336634.html
|
||||||
|
Loading…
Reference in New Issue
Block a user