From 929d540d5979815dd13aa119b6fdb41454907d0c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rog=C3=A9rio=20Brito?= <rbrito@ime.usp.br> Date: Thu, 13 Jun 2019 21:02:34 -0300 Subject: [PATCH] New upstream version 2019.06.08 --- ChangeLog | 406 ++++ Makefile | 10 +- README.md | 55 +- README.txt | 78 +- devscripts/buildserver.py | 2 +- devscripts/check-porn.py | 8 +- devscripts/create-github-release.py | 4 +- devscripts/gh-pages/update-feed.py | 4 +- devscripts/release.sh | 6 +- devscripts/show-downloads-statistics.py | 2 +- docs/supportedsites.md | 54 +- setup.cfg | 2 +- setup.py | 2 +- test/test_InfoExtractor.py | 309 ++- test/test_YoutubeDL.py | 76 +- test/test_YoutubeDLCookieJar.py | 10 + test/test_aes.py | 8 +- test/test_all_urls.py | 6 +- test/test_compat.py | 7 + test/test_swfinterp.py | 4 +- test/test_utils.py | 42 +- test/testdata/cookies/httponly_cookies.txt | 6 + test/testdata/m3u8/ted_18923.m3u8 | 28 + test/testdata/mpd/unfragmented.mpd | 28 + youtube-dl | Bin 1726682 -> 1764177 bytes youtube-dl.1 | 143 +- youtube_dl/YoutubeDL.py | 93 +- youtube_dl/__init__.py | 20 +- youtube_dl/compat.py | 22 +- youtube_dl/downloader/common.py | 14 +- youtube_dl/downloader/external.py | 22 +- youtube_dl/downloader/f4m.py | 14 +- youtube_dl/downloader/fragment.py | 4 +- youtube_dl/downloader/hls.py | 12 +- youtube_dl/downloader/http.py | 16 +- youtube_dl/extractor/addanime.py | 6 +- youtube_dl/extractor/adn.py | 80 +- youtube_dl/extractor/adobeconnect.py | 37 + youtube_dl/extractor/adultswim.py | 192 +- youtube_dl/extractor/aenetworks.py | 138 +- youtube_dl/extractor/anitube.py | 30 - youtube_dl/extractor/anysex.py | 61 - youtube_dl/extractor/aol.py | 40 +- youtube_dl/extractor/arkena.py | 2 +- youtube_dl/extractor/bambuser.py | 4 +- youtube_dl/extractor/bbc.py | 14 +- youtube_dl/extractor/beeg.py | 12 +- youtube_dl/extractor/bfi.py | 37 + youtube_dl/extractor/bilibili.py | 4 +- youtube_dl/extractor/biqle.py | 83 +- youtube_dl/extractor/bitchute.py | 10 +- youtube_dl/extractor/blinkx.py | 4 +- youtube_dl/extractor/bravotv.py | 40 +- youtube_dl/extractor/brightcove.py | 6 +- youtube_dl/extractor/byutv.py | 50 +- youtube_dl/extractor/canvas.py | 10 +- youtube_dl/extractor/cartoonnetwork.py | 56 +- youtube_dl/extractor/cbc.py | 5 +- youtube_dl/extractor/cbs.py | 18 +- youtube_dl/extractor/cbsnews.py | 78 +- youtube_dl/extractor/ccc.py | 34 + youtube_dl/extractor/ceskatelevize.py | 2 +- youtube_dl/extractor/cinemax.py | 29 + youtube_dl/extractor/ciscolive.py | 17 +- youtube_dl/extractor/cloudflarestream.py | 9 +- youtube_dl/extractor/common.py | 200 +- youtube_dl/extractor/commonmistakes.py | 32 +- youtube_dl/extractor/corus.py | 14 +- youtube_dl/extractor/crackle.py | 18 +- youtube_dl/extractor/criterion.py | 39 - youtube_dl/extractor/crunchyroll.py | 33 +- youtube_dl/extractor/cwtv.py | 2 +- youtube_dl/extractor/dailymail.py | 4 +- youtube_dl/extractor/dailymotion.py | 4 +- youtube_dl/extractor/dctp.py | 4 +- youtube_dl/extractor/dispeak.py | 11 +- youtube_dl/extractor/dramafever.py | 266 --- youtube_dl/extractor/dreisat.py | 2 +- youtube_dl/extractor/drtuber.py | 6 + youtube_dl/extractor/drtv.py | 147 +- youtube_dl/extractor/dvtv.py | 126 +- youtube_dl/extractor/escapist.py | 35 +- youtube_dl/extractor/espn.py | 6 +- youtube_dl/extractor/expressen.py | 4 +- youtube_dl/extractor/extractors.py | 101 +- youtube_dl/extractor/facebook.py | 2 +- youtube_dl/extractor/fourtube.py | 5 +- youtube_dl/extractor/fox.py | 108 +- youtube_dl/extractor/francetv.py | 15 +- youtube_dl/extractor/frontendmasters.py | 4 +- youtube_dl/extractor/gaia.py | 36 +- youtube_dl/extractor/gdcvault.py | 100 +- youtube_dl/extractor/generic.py | 48 +- youtube_dl/extractor/gfycat.py | 5 +- youtube_dl/extractor/go.py | 10 +- youtube_dl/extractor/googledrive.py | 2 +- youtube_dl/extractor/hbo.py | 86 +- youtube_dl/extractor/heise.py | 4 +- youtube_dl/extractor/hitbox.py | 4 +- youtube_dl/extractor/hitrecord.py | 4 +- youtube_dl/extractor/hketv.py | 191 ++ youtube_dl/extractor/hotstar.py | 87 +- youtube_dl/extractor/hrti.py | 4 +- youtube_dl/extractor/hypem.py | 50 +- youtube_dl/extractor/imgur.py | 6 +- youtube_dl/extractor/ina.py | 75 +- youtube_dl/extractor/infoq.py | 6 +- youtube_dl/extractor/instagram.py | 136 +- youtube_dl/extractor/iqiyi.py | 6 +- youtube_dl/extractor/itv.py | 8 +- youtube_dl/extractor/jwplatform.py | 2 +- youtube_dl/extractor/kaltura.py | 10 +- youtube_dl/extractor/karrierevideos.py | 4 +- youtube_dl/extractor/kuwo.py | 2 +- youtube_dl/extractor/libsyn.py | 64 +- youtube_dl/extractor/linkedin.py | 25 +- youtube_dl/extractor/linuxacademy.py | 174 ++ youtube_dl/extractor/liveleak.py | 22 +- youtube_dl/extractor/malltv.py | 53 + youtube_dl/extractor/mediasite.py | 147 +- youtube_dl/extractor/metacafe.py | 5 +- youtube_dl/extractor/mgtv.py | 46 +- youtube_dl/extractor/moevideo.py | 65 +- youtube_dl/extractor/motherless.py | 4 +- youtube_dl/extractor/msn.py | 2 +- youtube_dl/extractor/nationalgeographic.py | 22 + youtube_dl/extractor/ndtv.py | 4 +- youtube_dl/extractor/newstube.py | 116 +- youtube_dl/extractor/nextmedia.py | 4 +- youtube_dl/extractor/nhk.py | 98 +- youtube_dl/extractor/nhl.py | 2 +- youtube_dl/extractor/niconico.py | 26 +- youtube_dl/extractor/noco.py | 2 +- youtube_dl/extractor/noovo.py | 8 +- youtube_dl/extractor/novamov.py | 212 -- youtube_dl/extractor/npo.py | 124 +- youtube_dl/extractor/npr.py | 76 +- youtube_dl/extractor/nrk.py | 4 +- youtube_dl/extractor/nrl.py | 30 + youtube_dl/extractor/ntvcojp.py | 49 + youtube_dl/extractor/odnoklassniki.py | 9 + youtube_dl/extractor/once.py | 2 +- youtube_dl/extractor/ooyala.py | 6 +- youtube_dl/extractor/openload.py | 1722 ++++++++++++++++- youtube_dl/extractor/orf.py | 3 +- youtube_dl/extractor/pandatv.py | 2 +- youtube_dl/extractor/pbs.py | 6 +- youtube_dl/extractor/periscope.py | 22 +- youtube_dl/extractor/platzi.py | 217 +++ youtube_dl/extractor/pluralsight.py | 6 +- youtube_dl/extractor/podomatic.py | 4 +- youtube_dl/extractor/pornflip.py | 101 - youtube_dl/extractor/pornhd.py | 14 +- youtube_dl/extractor/pornhub.py | 56 +- youtube_dl/extractor/primesharetv.py | 62 - youtube_dl/extractor/prosiebensat1.py | 199 +- youtube_dl/extractor/radiocanada.py | 170 +- youtube_dl/extractor/rai.py | 9 +- youtube_dl/extractor/redbulltv.py | 30 +- youtube_dl/extractor/reddit.py | 3 +- youtube_dl/extractor/rtl2.py | 49 +- youtube_dl/extractor/rtlnl.py | 2 +- youtube_dl/extractor/rtp.py | 83 +- youtube_dl/extractor/ruleporn.py | 44 - youtube_dl/extractor/rutube.py | 115 +- youtube_dl/extractor/ruutu.py | 24 +- youtube_dl/extractor/safari.py | 87 +- youtube_dl/extractor/sbs.py | 4 +- youtube_dl/extractor/servus.py | 27 +- youtube_dl/extractor/shared.py | 37 +- youtube_dl/extractor/sixplay.py | 6 +- youtube_dl/extractor/{skysports.py => sky.py} | 57 +- youtube_dl/extractor/soundcloud.py | 363 +++- youtube_dl/extractor/spankbang.py | 93 +- youtube_dl/extractor/spike.py | 10 +- youtube_dl/extractor/srgssr.py | 19 +- youtube_dl/extractor/streamango.py | 8 +- youtube_dl/extractor/streamcloud.py | 2 +- youtube_dl/extractor/stv.py | 94 + youtube_dl/extractor/sverigesradio.py | 115 ++ youtube_dl/extractor/teachable.py | 1 + youtube_dl/extractor/teamcoco.py | 18 +- youtube_dl/extractor/teamtreehouse.py | 140 ++ youtube_dl/extractor/ted.py | 37 +- youtube_dl/extractor/tele5.py | 23 +- youtube_dl/extractor/theplatform.py | 4 +- youtube_dl/extractor/tiktok.py | 35 +- youtube_dl/extractor/tnaflix.py | 2 +- youtube_dl/extractor/toutv.py | 111 +- youtube_dl/extractor/trunews.py | 75 + youtube_dl/extractor/trutv.py | 84 +- youtube_dl/extractor/tvnow.py | 28 +- youtube_dl/extractor/tvp.py | 113 +- youtube_dl/extractor/tvplay.py | 10 +- youtube_dl/extractor/twentyfourvideo.py | 19 +- youtube_dl/extractor/twitcasting.py | 29 +- youtube_dl/extractor/twitch.py | 9 +- youtube_dl/extractor/udemy.py | 38 +- youtube_dl/extractor/urplay.py | 18 +- youtube_dl/extractor/usatoday.py | 29 +- youtube_dl/extractor/ustream.py | 2 +- youtube_dl/extractor/veehd.py | 2 +- youtube_dl/extractor/veoh.py | 99 +- youtube_dl/extractor/vevo.py | 6 +- youtube_dl/extractor/vice.py | 4 +- youtube_dl/extractor/viddler.py | 22 +- youtube_dl/extractor/videomega.py | 60 - youtube_dl/extractor/videomore.py | 96 +- youtube_dl/extractor/viki.py | 4 +- youtube_dl/extractor/vimeo.py | 177 +- youtube_dl/extractor/vk.py | 64 +- youtube_dl/extractor/vlive.py | 144 +- youtube_dl/extractor/vporn.py | 123 -- youtube_dl/extractor/vrt.py | 197 +- youtube_dl/extractor/vrv.py | 165 +- youtube_dl/extractor/vshare.py | 2 +- youtube_dl/extractor/vvvvid.py | 2 +- youtube_dl/extractor/wakanim.py | 66 + youtube_dl/extractor/weibo.py | 2 +- youtube_dl/extractor/wrzuta.py | 158 -- youtube_dl/extractor/xhamster.py | 5 +- youtube_dl/extractor/xvideos.py | 17 +- youtube_dl/extractor/yahoo.py | 79 + youtube_dl/extractor/yandexmusic.py | 53 +- youtube_dl/extractor/yandexvideo.py | 90 + youtube_dl/extractor/youku.py | 4 +- youtube_dl/extractor/yourporn.py | 28 +- youtube_dl/extractor/youtube.py | 288 ++- youtube_dl/extractor/zattoo.py | 15 +- youtube_dl/options.py | 2 +- youtube_dl/postprocessor/ffmpeg.py | 71 +- youtube_dl/postprocessor/xattrpp.py | 4 +- youtube_dl/update.py | 2 +- youtube_dl/utils.py | 94 +- youtube_dl/version.py | 2 +- 235 files changed, 9001 insertions(+), 3936 deletions(-) create mode 100644 test/testdata/cookies/httponly_cookies.txt create mode 100644 test/testdata/m3u8/ted_18923.m3u8 create mode 100644 test/testdata/mpd/unfragmented.mpd create mode 100644 youtube_dl/extractor/adobeconnect.py delete mode 100644 youtube_dl/extractor/anitube.py delete mode 100644 youtube_dl/extractor/anysex.py create mode 100644 youtube_dl/extractor/bfi.py create mode 100644 youtube_dl/extractor/cinemax.py delete mode 100644 youtube_dl/extractor/criterion.py delete mode 100644 youtube_dl/extractor/dramafever.py create mode 100644 youtube_dl/extractor/hketv.py create mode 100644 youtube_dl/extractor/linuxacademy.py create mode 100644 youtube_dl/extractor/malltv.py delete mode 100644 youtube_dl/extractor/novamov.py create mode 100644 youtube_dl/extractor/nrl.py create mode 100644 youtube_dl/extractor/ntvcojp.py create mode 100644 youtube_dl/extractor/platzi.py delete mode 100644 youtube_dl/extractor/pornflip.py delete mode 100644 youtube_dl/extractor/primesharetv.py delete mode 100644 youtube_dl/extractor/ruleporn.py rename youtube_dl/extractor/{skysports.py => sky.py} (54%) create mode 100644 youtube_dl/extractor/stv.py create mode 100644 youtube_dl/extractor/sverigesradio.py create mode 100644 youtube_dl/extractor/teamtreehouse.py create mode 100644 youtube_dl/extractor/trunews.py delete mode 100644 youtube_dl/extractor/videomega.py delete mode 100644 youtube_dl/extractor/vporn.py create mode 100644 youtube_dl/extractor/wakanim.py delete mode 100644 youtube_dl/extractor/wrzuta.py create mode 100644 youtube_dl/extractor/yandexvideo.py diff --git a/ChangeLog b/ChangeLog index 9023017..c4d485f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,409 @@ +version 2019.06.08 + +Core +* [downloader/common] Improve rate limit (#21301) +* [utils] Improve strip_or_none +* [extractor/common] Strip src attribute for HTML5 entries code (#18485, + #21169) + +Extractors +* [ted] Fix playlist extraction (#20844, #21032) +* [vlive:playlist] Fix video extraction when no playlist is found (#20590) ++ [vlive] Add CH+ support (#16887, #21209) ++ [openload] Add support for oload.website (#21329) ++ [tvnow] Extract HD formats (#21201) ++ [redbulltv] Add support for rrn:content URLs (#21297) +* [youtube] Fix average rating extraction (#21304) ++ [bitchute] Extract HTML5 formats (#21306) +* [cbsnews] Fix extraction (#9659, #15397) +* [vvvvid] Relax URL regular expression (#21299) ++ [prosiebensat1] Add support for new API (#21272) ++ [vrv] Extract adaptive_hls formats (#21243) +* [viki] Switch to HTTPS (#21001) +* [LiveLeak] Check if the original videos exist (#21206, #21208) +* [rtp] Fix extraction (#15099) +* [youtube] Improve DRM protected videos detection (#1774) ++ [srgssrplay] Add support for popupvideoplayer URLs (#21155) ++ [24video] Add support for porno.24video.net (#21194) ++ [24video] Add support for 24video.site (#21193) +- [pornflip] Remove extractor +- [criterion] Remove extractor (#21195) +* [pornhub] Use HTTPS (#21061) +* [bitchute] Fix uploader extraction (#21076) +* [streamcloud] Reduce waiting time to 6 seconds (#21092) +- [novamov] Remove extractors (#21077) ++ [openload] Add support for oload.press (#21135) +* [vivo] Fix extraction (#18906, #19217) + + +version 2019.05.20 + +Core ++ [extractor/common] Move workaround for applying first Set-Cookie header + into a separate _apply_first_set_cookie_header method + +Extractors +* [safari] Fix authentication (#21090) +* [vk] Use _apply_first_set_cookie_header +* [vrt] Fix extraction (#20527) ++ [canvas] Add support for vrtnieuws and sporza site ids and extract + AES HLS formats ++ [vrv] Extract captions (#19238) +* [tele5] Improve video id extraction +* [tele5] Relax URL regular expression (#21020, #21063) +* [svtplay] Update API URL (#21075) ++ [yahoo:gyao] Add X-User-Agent header to dam proxy requests (#21071) + + +version 2019.05.11 + +Core +* [utils] Transliterate "þ" as "th" (#20897) + +Extractors ++ [cloudflarestream] Add support for videodelivery.net (#21049) ++ [byutv] Add support for DVR videos (#20574, #20676) ++ [gfycat] Add support for URLs with tags (#20696, #20731) ++ [openload] Add support for verystream.com (#20701, #20967) +* [youtube] Use sp field value for signature field name (#18841, #18927, + #21028) ++ [yahoo:gyao] Extend URL regular expression (#21008) +* [youtube] Fix channel id extraction (#20982, #21003) ++ [sky] Add support for news.sky.com (#13055) ++ [youtube:entrylistbase] Retry on 5xx HTTP errors (#20965) ++ [francetvinfo] Extend video id extraction (#20619, #20740) +* [4tube] Update token hosts (#20918) +* [hotstar] Move to API v2 (#20931) +* [fox] Fix API error handling under python 2 (#20925) ++ [redbulltv] Extend URL regular expression (#20922) + + +version 2019.04.30 + +Extractors +* [openload] Use real Chrome versions (#20902) +- [youtube] Remove info el for get_video_info request +* [youtube] Improve extraction robustness +- [dramafever] Remove extractor (#20868) +* [adn] Fix subtitle extraction (#12724) ++ [ccc] Extract creator (#20355) ++ [ccc:playlist] Add support for media.ccc.de playlists (#14601, #20355) ++ [sverigesradio] Add support for sverigesradio.se (#18635) ++ [cinemax] Add support for cinemax.com +* [sixplay] Try extracting non-DRM protected manifests (#20849) ++ [youtube] Extract Youtube Music Auto-generated metadata (#20599, #20742) +- [wrzuta] Remove extractor (#20684, #20801) +* [twitch] Prefer source format (#20850) ++ [twitcasting] Add support for private videos (#20843) +* [reddit] Validate thumbnail URL (#20030) +* [yandexmusic] Fix track URL extraction (#20820) + + +version 2019.04.24 + +Extractors +* [youtube] Fix extraction (#20758, #20759, #20761, #20762, #20764, #20766, + #20767, #20769, #20771, #20768, #20770) +* [toutv] Fix extraction and extract series info (#20757) ++ [vrv] Add support for movie listings (#19229) ++ [youtube] Print error when no data is available (#20737) ++ [soundcloud] Add support for new rendition and improve extraction (#20699) ++ [ooyala] Add support for geo verification proxy ++ [nrl] Add support for nrl.com (#15991) ++ [vimeo] Extract live archive source format (#19144) ++ [vimeo] Add support for live streams and improve info extraction (#19144) ++ [ntvcojp] Add support for cu.ntv.co.jp ++ [nhk] Extract RTMPT format ++ [nhk] Add support for audio URLs ++ [udemy] Add another course id extraction pattern (#20491) ++ [openload] Add support for oload.services (#20691) ++ [openload] Add support for openloed.co (#20691, #20693) +* [bravotv] Fix extraction (#19213) + + +version 2019.04.17 + +Extractors +* [openload] Randomize User-Agent (closes #20688) ++ [openload] Add support for oladblock domains (#20471) +* [adn] Fix subtitle extraction (#12724) ++ [aol] Add support for localized websites ++ [yahoo] Add support GYAO episode URLs ++ [yahoo] Add support for streaming.yahoo.co.jp (#5811, #7098) ++ [yahoo] Add support for gyao.yahoo.co.jp +* [aenetworks] Fix history topic extraction and extract more formats ++ [cbs] Extract smpte and vtt subtitles ++ [streamango] Add support for streamcherry.com (#20592) ++ [yourporn] Add support for sxyprn.com (#20646) +* [mgtv] Fix extraction (#20650) +* [linkedin:learning] Use urljoin for form action URL (#20431) ++ [gdc] Add support for kaltura embeds (#20575) +* [dispeak] Improve mp4 bitrate extraction +* [kaltura] Sanitize embed URLs +* [jwplatfom] Do not match manifest URLs (#20596) +* [aol] Restrict URL regular expression and improve format extraction ++ [tiktok] Add support for new URL schema (#20573) ++ [stv:player] Add support for player.stv.tv (#20586) + + +version 2019.04.07 + +Core ++ [downloader/external] Pass rtmp_conn to ffmpeg + +Extractors ++ [ruutu] Add support for audio podcasts (#20473, #20545) ++ [xvideos] Extract all thumbnails (#20432) ++ [platzi] Add support for platzi.com (#20562) +* [dvtv] Fix extraction (#18514, #19174) ++ [vrv] Add basic support for individual movie links (#19229) ++ [bfi:player] Add support for player.bfi.org.uk (#19235) +* [hbo] Fix extraction and extract subtitles (#14629, #13709) +* [youtube] Extract srv[1-3] subtitle formats (#20566) +* [adultswim] Fix extraction (#18025) +* [teamcoco] Fix extraction and add suport for subdomains (#17099, #20339) +* [adn] Fix subtitle compatibility with ffmpeg +* [adn] Fix extraction and add support for positioning styles (#20549) +* [vk] Use unique video id (#17848) +* [newstube] Fix extraction +* [rtl2] Actualize extraction ++ [adobeconnect] Add support for adobeconnect.com (#20283) ++ [gaia] Add support for authentication (#14605) ++ [mediasite] Add support for dashed ids and named catalogs (#20531) + + +version 2019.04.01 + +Core +* [utils] Improve int_or_none and float_or_none (#20403) +* Check for valid --min-sleep-interval when --max-sleep-interval is specified + (#20435) + +Extractors ++ [weibo] Extend URL regular expression (#20496) ++ [xhamster] Add support for xhamster.one (#20508) ++ [mediasite] Add support for catalogs (#20507) ++ [teamtreehouse] Add support for teamtreehouse.com (#9836) ++ [ina] Add support for audio URLs +* [ina] Improve extraction +* [cwtv] Fix episode number extraction (#20461) +* [npo] Improve DRM detection ++ [pornhub] Add support for DASH formats (#20403) +* [svtplay] Update API endpoint (#20430) + + +version 2019.03.18 + +Core +* [extractor/common] Improve HTML5 entries extraction ++ [utils] Introduce parse_bitrate +* [update] Hide update URLs behind redirect +* [extractor/common] Fix url meta field for unfragmented DASH formats (#20346) + +Extractors ++ [yandexvideo] Add extractor +* [openload] Improve embed detection ++ [corus] Add support for bigbrothercanada.ca (#20357) ++ [orf:radio] Extract series (#20012) ++ [cbc:watch] Add support for gem.cbc.ca (#20251, #20359) +- [anysex] Remove extractor (#19279) ++ [ciscolive] Add support for new URL schema (#20320, #20351) ++ [youtube] Add support for invidiou.sh (#20309) +- [anitube] Remove extractor (#20334) +- [ruleporn] Remove extractor (#15344, #20324) +* [npr] Fix extraction (#10793, #13440) +* [biqle] Fix extraction (#11471, #15313) +* [viddler] Modernize +* [moevideo] Fix extraction +* [primesharetv] Remove extractor +* [hypem] Modernize and extract more metadata (#15320) +* [veoh] Fix extraction +* [escapist] Modernize +- [videomega] Remove extractor (#10108) ++ [beeg] Add support for beeg.porn (#20306) +* [vimeo:review] Improve config url extraction and extract original format + (#20305) +* [fox] Detect geo restriction and authentication errors (#20208) + + +version 2019.03.09 + +Core +* [extractor/common] Use compat_etree_Element ++ [compat] Introduce compat_etree_Element +* [extractor/common] Fallback url to base URL for DASH formats +* [extractor/common] Do not fail on invalid data while parsing F4M manifest + in non fatal mode +* [extractor/common] Return MPD manifest as format's url meta field (#20242) +* [utils] Strip #HttpOnly_ prefix from cookies files (#20219) + +Extractors +* [francetv:site] Relax video id regular expression (#20268) +* [toutv] Detect invalid login error +* [toutv] Fix authentication (#20261) ++ [urplay] Extract timestamp (#20235) ++ [openload] Add support for oload.space (#20246) +* [facebook] Improve uploader extraction (#20250) +* [bbc] Use compat_etree_Element +* [crunchyroll] Use compat_etree_Element +* [npo] Improve ISM extraction +* [rai] Improve extraction (#20253) +* [paramountnetwork] Fix mgid extraction (#20241) +* [libsyn] Improve extraction (#20229) ++ [youtube] Add more invidious instances to URL regular expression (#20228) +* [spankbang] Fix extraction (#20023) +* [espn] Extend URL regular expression (#20013) +* [sixplay] Handle videos with empty assets (#20016) ++ [vimeo] Add support for Vimeo Pro portfolio protected videos (#20070) + + +version 2019.03.01 + +Core ++ [downloader/external] Add support for rate limit and retries for wget +* [downloader/external] Fix infinite retries for curl (#19303) + +Extractors +* [npo] Fix extraction (#20084) +* [francetv:site] Extend video id regex (#20029, #20071) ++ [periscope] Extract width and height (#20015) +* [servus] Fix extraction (#19297) +* [bbccouk] Make subtitles non fatal (#19651) +* [metacafe] Fix family filter bypass (#19287) + + +version 2019.02.18 + +Extractors +* [tvp:website] Fix and improve extraction ++ [tvp] Detect unavailable videos +* [tvp] Fix description extraction and make thumbnail optional ++ [linuxacademy] Add support for linuxacademy.com (#12207) +* [bilibili] Update keys (#19233) +* [udemy] Extend URL regular expressions (#14330, #15883) +* [udemy] Update User-Agent and detect captcha (#14713, #15839, #18126) +* [noovo] Fix extraction (#19230) +* [rai] Relax URL regular expression (#19232) ++ [vshare] Pass Referer to download request (#19205, #19221) ++ [openload] Add support for oload.live (#19222) +* [imgur] Use video id as title fallback (#18590) ++ [twitch] Add new source format detection approach (#19193) +* [tvplayhome] Fix video id extraction (#19190) +* [tvplayhome] Fix episode metadata extraction (#19190) +* [rutube:embed] Fix extraction (#19163) ++ [rutube:embed] Add support private videos (#19163) ++ [soundcloud] Extract more metadata ++ [trunews] Add support for trunews.com (#19153) ++ [linkedin:learning] Extract chapter_number and chapter_id (#19162) + + +version 2019.02.08 + +Core +* [utils] Improve JSON-LD regular expression (#18058) +* [YoutubeDL] Fallback to ie_key of matching extractor while making + download archive id when no explicit ie_key is provided (#19022) + +Extractors ++ [malltv] Add support for mall.tv (#18058, #17856) ++ [spankbang:playlist] Add support for playlists (#19145) +* [spankbang] Extend URL regular expression +* [trutv] Fix extraction (#17336) +* [toutv] Fix authentication (#16398, #18700) +* [pornhub] Fix tags and categories extraction (#13720, #19135) +* [pornhd] Fix formats extraction ++ [pornhd] Extract like count (#19123, #19125) +* [radiocanada] Switch to the new media requests (#19115) ++ [teachable] Add support for courses.workitdaily.com (#18871) +- [vporn] Remove extractor (#16276) ++ [soundcloud:pagedplaylist] Add ie and title to entries (#19022, #19086) ++ [drtuber] Extract duration (#19078) +* [soundcloud] Fix paged playlists extraction, add support for albums and update client id +* [soundcloud] Update client id +* [drtv] Improve preference (#19079) ++ [openload] Add support for openload.pw and oload.pw (#18930) ++ [openload] Add support for oload.info (#19073) +* [crackle] Authorize media detail request (#16931) + + +version 2019.01.30.1 + +Core +* [postprocessor/ffmpeg] Fix avconv processing broken in #19025 (#19067) + + +version 2019.01.30 + +Core +* [postprocessor/ffmpeg] Do not copy Apple TV chapter tracks while embedding + subtitles (#19024, #19042) +* [postprocessor/ffmpeg] Disable "Last message repeated" messages (#19025) + +Extractors +* [yourporn] Fix extraction and extract duration (#18815, #18852, #19061) +* [drtv] Improve extraction (#19039) + + Add support for EncryptedUri videos + + Extract more metadata + * Fix subtitles extraction ++ [fox] Add support for locked videos using cookies (#19060) +* [fox] Fix extraction for free videos (#19060) ++ [zattoo] Add support for tv.salt.ch (#19059) + + +version 2019.01.27 + +Core ++ [extractor/common] Extract season in _json_ld +* [postprocessor/ffmpeg] Fallback to ffmpeg/avconv for audio codec detection + (#681) + +Extractors +* [vice] Fix extraction for locked videos (#16248) ++ [wakanim] Detect DRM protected videos ++ [wakanim] Add support for wakanim.tv (#14374) +* [usatoday] Fix extraction for videos with custom brightcove partner id + (#18990) +* [drtv] Fix extraction (#18989) +* [nhk] Extend URL regular expression (#18968) +* [go] Fix Adobe Pass requests for Disney Now (#18901) ++ [openload] Add support for oload.club (#18969) + + +version 2019.01.24 + +Core +* [YoutubeDL] Fix negation for string operators in format selection (#18961) + + +version 2019.01.23 + +Core +* [utils] Fix urljoin for paths with non-http(s) schemes +* [extractor/common] Improve jwplayer relative URL handling (#18892) ++ [YoutubeDL] Add negation support for string comparisons in format selection + expressions (#18600, #18805) +* [extractor/common] Improve HLS video-only format detection (#18923) + +Extractors +* [crunchyroll] Extend URL regular expression (#18955) +* [pornhub] Bypass scrape detection (#4822, #5930, #7074, #10175, #12722, + #17197, #18338 #18842, #18899) ++ [vrv] Add support for authentication (#14307) +* [videomore:season] Fix extraction +* [videomore] Improve extraction (#18908) ++ [tnaflix] Pass Referer in metadata request (#18925) +* [radiocanada] Relax DRM check (#18608, #18609) +* [vimeo] Fix video password verification for videos protected by + Referer HTTP header ++ [hketv] Add support for hkedcity.net (#18696) ++ [streamango] Add support for fruithosts.net (#18710) ++ [instagram] Add support for tags (#18757) ++ [odnoklassniki] Detect paid videos (#18876) +* [ted] Correct acodec for HTTP formats (#18923) +* [cartoonnetwork] Fix extraction (#15664, #17224) +* [vimeo] Fix extraction for password protected player URLs (#18889) + + version 2019.01.17 Extractors diff --git a/Makefile b/Makefile index 4a62f44..3e17365 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ all: youtube-dl README.md CONTRIBUTING.md README.txt youtube-dl.1 youtube-dl.bash-completion youtube-dl.zsh youtube-dl.fish supportedsites clean: - rm -rf youtube-dl.1.temp.md youtube-dl.1 youtube-dl.bash-completion README.txt MANIFEST build/ dist/ .coverage cover/ youtube-dl.tar.gz youtube-dl.zsh youtube-dl.fish youtube_dl/extractor/lazy_extractors.py *.dump *.part* *.ytdl *.info.json *.mp4 *.m4a *.flv *.mp3 *.avi *.mkv *.webm *.3gp *.wav *.ape *.swf *.jpg *.png CONTRIBUTING.md.tmp ISSUE_TEMPLATE.md.tmp youtube-dl youtube-dl.exe + rm -rf youtube-dl.1.temp.md youtube-dl.1 youtube-dl.bash-completion README.txt MANIFEST build/ dist/ .coverage cover/ youtube-dl.tar.gz youtube-dl.zsh youtube-dl.fish youtube_dl/extractor/lazy_extractors.py *.dump *.part* *.ytdl *.info.json *.mp4 *.m4a *.flv *.mp3 *.avi *.mkv *.webm *.3gp *.wav *.ape *.swf *.jpg *.png CONTRIBUTING.md.tmp youtube-dl youtube-dl.exe find . -name "*.pyc" -delete find . -name "*.class" -delete @@ -78,8 +78,12 @@ README.md: youtube_dl/*.py youtube_dl/*/*.py CONTRIBUTING.md: README.md $(PYTHON) devscripts/make_contributing.py README.md CONTRIBUTING.md -.github/ISSUE_TEMPLATE.md: devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl.md youtube_dl/version.py - $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl.md .github/ISSUE_TEMPLATE.md +issuetemplates: devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md youtube_dl/version.py + $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/1_broken_site.md .github/ISSUE_TEMPLATE/1_broken_site.md + $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/2_site_support_request.md .github/ISSUE_TEMPLATE/2_site_support_request.md + $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/3_site_feature_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md + $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/4_bug_report.md .github/ISSUE_TEMPLATE/4_bug_report.md + $(PYTHON) devscripts/make_issue_template.py .github/ISSUE_TEMPLATE_tmpl/5_feature_request.md .github/ISSUE_TEMPLATE/5_feature_request.md supportedsites: $(PYTHON) devscripts/make_supportedsites.py docs/supportedsites.md diff --git a/README.md b/README.md index 70bcfac..8c48a30 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[](https://travis-ci.org/rg3/youtube-dl) +[](https://travis-ci.org/ytdl-org/youtube-dl) youtube-dl - download videos from youtube.com or other video platforms @@ -43,7 +43,7 @@ Or with [MacPorts](https://www.macports.org/): sudo port install youtube-dl -Alternatively, refer to the [developer instructions](#developer-instructions) for how to check out and work with the git repository. For further options, including PGP signatures, see the [youtube-dl Download Page](https://rg3.github.io/youtube-dl/download.html). +Alternatively, refer to the [developer instructions](#developer-instructions) for how to check out and work with the git repository. For further options, including PGP signatures, see the [youtube-dl Download Page](https://ytdl-org.github.io/youtube-dl/download.html). # DESCRIPTION **youtube-dl** is a command-line program to download videos from YouTube.com and a few more sites. It requires the Python interpreter, version 2.6, 2.7, or 3.2+, and it is not platform specific. It should work on your Unix box, on Windows or on macOS. It is released to the public domain, which means you can modify it, redistribute it or use it however you like. @@ -642,6 +642,7 @@ The simplest case is requesting a specific format, for example with `-f 22` you You can also use a file extension (currently `3gp`, `aac`, `flv`, `m4a`, `mp3`, `mp4`, `ogg`, `wav`, `webm` are supported) to download the best quality format of a particular file extension served as a single file, e.g. `-f webm` will download the best quality format with the `webm` extension served as a single file. You can also use special names to select particular edge case formats: + - `best`: Select the best quality format represented by a single file with video and audio. - `worst`: Select the worst quality format represented by a single file with video and audio. - `bestvideo`: Select the best quality video-only format (e.g. DASH video). May not be available. @@ -658,6 +659,7 @@ If you want to download several formats of the same video use a comma as a separ You can also filter the video formats by putting a condition in brackets, as in `-f "best[height=720]"` (or `-f "[filesize>10M]"`). The following numeric meta fields can be used with comparisons `<`, `<=`, `>`, `>=`, `=` (equals), `!=` (not equals): + - `filesize`: The number of bytes, if known in advance - `width`: Width of the video, if known - `height`: Height of the video, if known @@ -667,7 +669,8 @@ The following numeric meta fields can be used with comparisons `<`, `<=`, `>`, ` - `asr`: Audio sampling rate in Hertz - `fps`: Frame rate -Also filtering work for comparisons `=` (equals), `!=` (not equals), `^=` (begins with), `$=` (ends with), `*=` (contains) and following string meta fields: +Also filtering work for comparisons `=` (equals), `^=` (starts with), `$=` (ends with), `*=` (contains) and following string meta fields: + - `ext`: File extension - `acodec`: Name of the audio codec in use - `vcodec`: Name of the video codec in use @@ -675,6 +678,8 @@ Also filtering work for comparisons `=` (equals), `!=` (not equals), `^=` (begin - `protocol`: The protocol that will be used for the actual download, lower-case (`http`, `https`, `rtsp`, `rtmp`, `rtmpe`, `mms`, `f4m`, `ism`, `http_dash_segments`, `m3u8`, or `m3u8_native`) - `format_id`: A short description of the format +Any string comparison may be prefixed with negation `!` in order to produce an opposite comparison, e.g. `!*=` (does not contain). + Note that none of the aforementioned meta fields are guaranteed to be present since this solely depends on the metadata obtained by particular extractor, i.e. the metadata offered by the video hoster. Formats for which the value is not known are excluded unless you put a question mark (`?`) after the operator. You can combine format filters, so `-f "[height <=? 720][tbr>500]"` selects up to 720p videos (or videos where the height is not known) with a bitrate of at least 500 KBit/s. @@ -683,7 +688,7 @@ You can merge the video and audio of two formats into a single file using `-f <v Format selectors can also be grouped using parentheses, for example if you want to download the best mp4 and webm formats with a height lower than 480 you can use `-f '(mp4,webm)[height<480]'`. -Since the end of April 2015 and version 2015.04.26, youtube-dl uses `-f bestvideo+bestaudio/best` as the default format selection (see [#5447](https://github.com/rg3/youtube-dl/issues/5447), [#5456](https://github.com/rg3/youtube-dl/issues/5456)). If ffmpeg or avconv are installed this results in downloading `bestvideo` and `bestaudio` separately and muxing them together into a single file giving the best overall quality available. Otherwise it falls back to `best` and results in downloading the best available quality served as a single file. `best` is also needed for videos that don't come from YouTube because they don't provide the audio and video in two different files. If you want to only download some DASH formats (for example if you are not interested in getting videos with a resolution higher than 1080p), you can add `-f bestvideo[height<=?1080]+bestaudio/best` to your configuration file. Note that if you use youtube-dl to stream to `stdout` (and most likely to pipe it to your media player then), i.e. you explicitly specify output template as `-o -`, youtube-dl still uses `-f best` format selection in order to start content delivery immediately to your player and not to wait until `bestvideo` and `bestaudio` are downloaded and muxed. +Since the end of April 2015 and version 2015.04.26, youtube-dl uses `-f bestvideo+bestaudio/best` as the default format selection (see [#5447](https://github.com/ytdl-org/youtube-dl/issues/5447), [#5456](https://github.com/ytdl-org/youtube-dl/issues/5456)). If ffmpeg or avconv are installed this results in downloading `bestvideo` and `bestaudio` separately and muxing them together into a single file giving the best overall quality available. Otherwise it falls back to `best` and results in downloading the best available quality served as a single file. `best` is also needed for videos that don't come from YouTube because they don't provide the audio and video in two different files. If you want to only download some DASH formats (for example if you are not interested in getting videos with a resolution higher than 1080p), you can add `-f bestvideo[height<=?1080]+bestaudio/best` to your configuration file. Note that if you use youtube-dl to stream to `stdout` (and most likely to pipe it to your media player then), i.e. you explicitly specify output template as `-o -`, youtube-dl still uses `-f best` format selection in order to start content delivery immediately to your player and not to wait until `bestvideo` and `bestaudio` are downloaded and muxed. If you want to preserve the old format selection behavior (prior to youtube-dl 2015.04.26), i.e. you want to download the best available quality media served as a single file, you should explicitly specify your choice with `-f best`. You may want to add it to the [configuration file](#configuration) in order not to type it every time you run youtube-dl. @@ -695,7 +700,7 @@ Note that on Windows you may need to use double quotes instead of single. # Download best mp4 format available or any other best if no mp4 available $ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' -# Download best format available but not better that 480p +# Download best format available but no better than 480p $ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' # Download best video only format but no bigger than 50 MB @@ -734,7 +739,7 @@ $ youtube-dl --dateafter 20000101 --datebefore 20091231 ### How do I update youtube-dl? -If you've followed [our manual installation instructions](https://rg3.github.io/youtube-dl/download.html), you can simply run `youtube-dl -U` (or, on Linux, `sudo youtube-dl -U`). +If you've followed [our manual installation instructions](https://ytdl-org.github.io/youtube-dl/download.html), you can simply run `youtube-dl -U` (or, on Linux, `sudo youtube-dl -U`). If you have used pip, a simple `sudo pip install -U youtube-dl` is sufficient to update. @@ -744,7 +749,7 @@ As a last resort, you can also uninstall the version installed by your package m sudo apt-get remove -y youtube-dl -Afterwards, simply follow [our manual installation instructions](https://rg3.github.io/youtube-dl/download.html): +Afterwards, simply follow [our manual installation instructions](https://ytdl-org.github.io/youtube-dl/download.html): ``` sudo wget https://yt-dl.org/latest/youtube-dl -O /usr/local/bin/youtube-dl @@ -778,7 +783,7 @@ Most people asking this question are not aware that youtube-dl now defaults to d ### I get HTTP error 402 when trying to download a video. What's this? -Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We're [considering to provide a way to let you solve the CAPTCHA](https://github.com/rg3/youtube-dl/issues/154), but at the moment, your best course of action is pointing a web browser to the youtube URL, solving the CAPTCHA, and restart youtube-dl. +Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We're [considering to provide a way to let you solve the CAPTCHA](https://github.com/ytdl-org/youtube-dl/issues/154), but at the moment, your best course of action is pointing a web browser to the youtube URL, solving the CAPTCHA, and restart youtube-dl. ### Do I need any other programs? @@ -843,7 +848,7 @@ means you're using an outdated version of Python. Please update to Python 2.6 or ### What is this binary file? Where has the code gone? -Since June 2012 ([#342](https://github.com/rg3/youtube-dl/issues/342)) youtube-dl is packed as an executable zipfile, simply unzip it (might need renaming to `youtube-dl.zip` first on some systems) or clone the git repository, as laid out above. If you modify the code, you can run it by executing the `__main__.py` file. To recompile the executable, run `make youtube-dl`. +Since June 2012 ([#342](https://github.com/ytdl-org/youtube-dl/issues/342)) youtube-dl is packed as an executable zipfile, simply unzip it (might need renaming to `youtube-dl.zip` first on some systems) or clone the git repository, as laid out above. If you modify the code, you can run it by executing the `__main__.py` file. To recompile the executable, run `make youtube-dl`. ### The exe throws an error due to missing `MSVCR100.dll` @@ -902,7 +907,7 @@ When youtube-dl detects an HLS video, it can download it either with the built-i When youtube-dl knows that one particular downloader works better for a given website, that downloader will be picked. Otherwise, youtube-dl will pick the best downloader for general compatibility, which at the moment happens to be ffmpeg. This choice may change in future versions of youtube-dl, with improvements of the built-in downloader and/or ffmpeg. -In particular, the generic extractor (used when your website is not in the [list of supported sites by youtube-dl](https://rg3.github.io/youtube-dl/supportedsites.html) cannot mandate one specific downloader. +In particular, the generic extractor (used when your website is not in the [list of supported sites by youtube-dl](https://ytdl-org.github.io/youtube-dl/supportedsites.html) cannot mandate one specific downloader. If you put either `--hls-prefer-native` or `--hls-prefer-ffmpeg` into your configuration, a different subset of videos will fail to download correctly. Instead, it is much better to [file an issue](https://yt-dl.org/bug) or a pull request which details why the native or the ffmpeg HLS downloader is a better choice for your use case. @@ -942,7 +947,7 @@ youtube-dl is an open-source project manned by too few volunteers, so we'd rathe # DEVELOPER INSTRUCTIONS -Most users do not need to build youtube-dl and can [download the builds](https://rg3.github.io/youtube-dl/download.html) or get them from their distribution. +Most users do not need to build youtube-dl and can [download the builds](https://ytdl-org.github.io/youtube-dl/download.html) or get them from their distribution. To run youtube-dl as a developer, you don't need to build anything either. Simply execute @@ -970,7 +975,7 @@ If you want to add support for a new site, first of all **make sure** this site After you have ensured this site is distributing its content legally, you can follow this quick list (assuming your service is called `yourextractor`): -1. [Fork this repository](https://github.com/rg3/youtube-dl/fork) +1. [Fork this repository](https://github.com/ytdl-org/youtube-dl/fork) 2. Check out the source code with: git clone git@github.com:YOUR_GITHUB_USERNAME/youtube-dl.git @@ -1022,9 +1027,9 @@ After you have ensured this site is distributing its content legally, you can fo # TODO more properties (see youtube_dl/extractor/common.py) } ``` -5. Add an import in [`youtube_dl/extractor/extractors.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/extractors.py). +5. Add an import in [`youtube_dl/extractor/extractors.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/extractors.py). 6. Run `python test/test_download.py TestDownload.test_YourExtractor`. This *should fail* at first, but you can continually re-run it until you're done. If you decide to add more than one test, then rename ``_TEST`` to ``_TESTS`` and make it into a list of dictionaries. The tests will then be named `TestDownload.test_YourExtractor`, `TestDownload.test_YourExtractor_1`, `TestDownload.test_YourExtractor_2`, etc. Note that tests with `only_matching` key in test's dict are not counted in. -7. Have a look at [`youtube_dl/extractor/common.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py) for possible helper methods and a [detailed description of what your extractor should and may return](https://github.com/rg3/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303). Add tests and code for as many as you want. +7. Have a look at [`youtube_dl/extractor/common.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/common.py) for possible helper methods and a [detailed description of what your extractor should and may return](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303). Add tests and code for as many as you want. 8. Make sure your code follows [youtube-dl coding conventions](#youtube-dl-coding-conventions) and check the code with [flake8](http://flake8.pycqa.org/en/latest/index.html#quickstart): $ flake8 youtube_dl/extractor/yourextractor.py @@ -1049,7 +1054,7 @@ Extractors are very fragile by nature since they depend on the layout of the sou ### Mandatory and optional metafields -For extraction to work youtube-dl relies on metadata your extractor extracts and provides to youtube-dl expressed by an [information dictionary](https://github.com/rg3/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303) or simply *info dict*. Only the following meta fields in the *info dict* are considered mandatory for a successful extraction process by youtube-dl: +For extraction to work youtube-dl relies on metadata your extractor extracts and provides to youtube-dl expressed by an [information dictionary](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303) or simply *info dict*. Only the following meta fields in the *info dict* are considered mandatory for a successful extraction process by youtube-dl: - `id` (media identifier) - `title` (media title) @@ -1057,7 +1062,7 @@ For extraction to work youtube-dl relies on metadata your extractor extracts and In fact only the last option is technically mandatory (i.e. if you can't figure out the download location of the media the extraction does not make any sense). But by convention youtube-dl also treats `id` and `title` as mandatory. Thus the aforementioned metafields are the critical data that the extraction does not make any sense without and if any of them fail to be extracted then the extractor is considered completely broken. -[Any field](https://github.com/rg3/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L188-L303) apart from the aforementioned ones are considered **optional**. That means that extraction should be **tolerant** to situations when sources for these fields can potentially be unavailable (even if they are always available at the moment) and **future-proof** in order not to break the extraction of general purpose mandatory fields. +[Any field](https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L188-L303) apart from the aforementioned ones are considered **optional**. That means that extraction should be **tolerant** to situations when sources for these fields can potentially be unavailable (even if they are always available at the moment) and **future-proof** in order not to break the extraction of general purpose mandatory fields. #### Example @@ -1211,15 +1216,17 @@ Incorrect: 'PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4' ``` -### Use safe conversion functions +### Use convenience conversion and parsing functions -Wrap all extracted numeric data into safe functions from [`youtube_dl/utils.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py): `int_or_none`, `float_or_none`. Use them for string to number conversions as well. +Wrap all extracted numeric data into safe functions from [`youtube_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py): `int_or_none`, `float_or_none`. Use them for string to number conversions as well. Use `url_or_none` for safe URL processing. Use `try_get` for safe metadata extraction from parsed JSON. -Explore [`youtube_dl/utils.py`](https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py) for more useful convenience functions. +Use `unified_strdate` for uniform `upload_date` or any `YYYYMMDD` meta field extraction, `unified_timestamp` for uniform `timestamp` extraction, `parse_filesize` for `filesize` extraction, `parse_count` for count meta fields extraction, `parse_resolution`, `parse_duration` for `duration` extraction, `parse_age_limit` for `age_limit` extraction. + +Explore [`youtube_dl/utils.py`](https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py) for more useful convenience functions. #### More examples @@ -1238,7 +1245,7 @@ view_count = int_or_none(video.get('views')) # EMBEDDING YOUTUBE-DL -youtube-dl makes the best effort to be a good command-line program, and thus should be callable from any programming language. If you encounter any problems parsing its output, feel free to [create a report](https://github.com/rg3/youtube-dl/issues/new). +youtube-dl makes the best effort to be a good command-line program, and thus should be callable from any programming language. If you encounter any problems parsing its output, feel free to [create a report](https://github.com/ytdl-org/youtube-dl/issues/new). From a Python program, you can embed youtube-dl in a more powerful fashion, like this: @@ -1251,7 +1258,7 @@ with youtube_dl.YoutubeDL(ydl_opts) as ydl: ydl.download(['https://www.youtube.com/watch?v=BaW_jenozKc']) ``` -Most likely, you'll want to use various options. For a list of options available, have a look at [`youtube_dl/YoutubeDL.py`](https://github.com/rg3/youtube-dl/blob/3e4cedf9e8cd3157df2457df7274d0c842421945/youtube_dl/YoutubeDL.py#L137-L312). For a start, if you want to intercept youtube-dl's output, set a `logger` object. +Most likely, you'll want to use various options. For a list of options available, have a look at [`youtube_dl/YoutubeDL.py`](https://github.com/ytdl-org/youtube-dl/blob/3e4cedf9e8cd3157df2457df7274d0c842421945/youtube_dl/YoutubeDL.py#L137-L312). For a start, if you want to intercept youtube-dl's output, set a `logger` object. Here's a more complete example of a program that outputs only errors (and a short message after the download is finished), and downloads/converts the video to an mp3 file: @@ -1292,7 +1299,7 @@ with youtube_dl.YoutubeDL(ydl_opts) as ydl: # BUGS -Bugs and suggestions should be reported at: <https://github.com/rg3/youtube-dl/issues>. Unless you were prompted to or there is another pertinent reason (e.g. GitHub fails to accept the bug report), please do not send bug reports via personal email. For discussions, join us in the IRC channel [#youtube-dl](irc://chat.freenode.net/#youtube-dl) on freenode ([webchat](https://webchat.freenode.net/?randomnick=1&channels=youtube-dl)). +Bugs and suggestions should be reported at: <https://github.com/ytdl-org/youtube-dl/issues>. Unless you were prompted to or there is another pertinent reason (e.g. GitHub fails to accept the bug report), please do not send bug reports via personal email. For discussions, join us in the IRC channel [#youtube-dl](irc://chat.freenode.net/#youtube-dl) on freenode ([webchat](https://webchat.freenode.net/?randomnick=1&channels=youtube-dl)). **Please include the full output of youtube-dl when run with `-v`**, i.e. **add** `-v` flag to **your command line**, copy the **whole** output and post it in the issue body wrapped in \`\`\` for better formatting. It should look similar to this: ``` @@ -1338,11 +1345,11 @@ Before reporting any issue, type `youtube-dl -U`. This should report that you're ### Is the issue already documented? -Make sure that someone has not already opened the issue you're trying to open. Search at the top of the window or browse the [GitHub Issues](https://github.com/rg3/youtube-dl/search?type=Issues) of this repository. If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". While some issues may be old, a new post into them often spurs rapid activity. +Make sure that someone has not already opened the issue you're trying to open. Search at the top of the window or browse the [GitHub Issues](https://github.com/ytdl-org/youtube-dl/search?type=Issues) of this repository. If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". While some issues may be old, a new post into them often spurs rapid activity. ### Why are existing options not enough? -Before requesting a new feature, please have a quick peek at [the list of supported options](https://github.com/rg3/youtube-dl/blob/master/README.md#options). Many feature requests are for features that actually exist already! Please, absolutely do show off your work in the issue report and detail how the existing similar options do *not* solve your problem. +Before requesting a new feature, please have a quick peek at [the list of supported options](https://github.com/ytdl-org/youtube-dl/blob/master/README.md#options). Many feature requests are for features that actually exist already! Please, absolutely do show off your work in the issue report and detail how the existing similar options do *not* solve your problem. ### Is there enough context in your bug report? diff --git a/README.txt b/README.txt index 6ba6d68..44cd534 100644 --- a/README.txt +++ b/README.txt @@ -779,15 +779,20 @@ of a particular file extension served as a single file, e.g. -f webm will download the best quality format with the webm extension served as a single file. -You can also use special names to select particular edge case formats: - -best: Select the best quality format represented by a single file with -video and audio. - worst: Select the worst quality format represented by -a single file with video and audio. - bestvideo: Select the best quality -video-only format (e.g. DASH video). May not be available. - worstvideo: -Select the worst quality video-only format. May not be available. - -bestaudio: Select the best quality audio only-format. May not be -available. - worstaudio: Select the worst quality audio only-format. May -not be available. +You can also use special names to select particular edge case formats: + +- best: Select the best quality format represented by a single file + with video and audio. +- worst: Select the worst quality format represented by a single file + with video and audio. +- bestvideo: Select the best quality video-only format (e.g. DASH + video). May not be available. +- worstvideo: Select the worst quality video-only format. May not be + available. +- bestaudio: Select the best quality audio only-format. May not be + available. +- worstaudio: Select the worst quality audio only-format. May not be + available. For example, to download the worst quality video-only format you can use -f worstvideo. @@ -810,20 +815,31 @@ You can also filter the video formats by putting a condition in brackets, as in -f "best[height=720]" (or -f "[filesize>10M]"). The following numeric meta fields can be used with comparisons <, <=, >, ->=, = (equals), != (not equals): - filesize: The number of bytes, if -known in advance - width: Width of the video, if known - height: Height -of the video, if known - tbr: Average bitrate of audio and video in -KBit/s - abr: Average audio bitrate in KBit/s - vbr: Average video -bitrate in KBit/s - asr: Audio sampling rate in Hertz - fps: Frame rate - -Also filtering work for comparisons = (equals), != (not equals), ^= -(begins with), $= (ends with), *= (contains) and following string meta -fields: - ext: File extension - acodec: Name of the audio codec in use - -vcodec: Name of the video codec in use - container: Name of the -container format - protocol: The protocol that will be used for the -actual download, lower-case (http, https, rtsp, rtmp, rtmpe, mms, f4m, -ism, http_dash_segments, m3u8, or m3u8_native) - format_id: A short -description of the format +>=, = (equals), != (not equals): + +- filesize: The number of bytes, if known in advance +- width: Width of the video, if known +- height: Height of the video, if known +- tbr: Average bitrate of audio and video in KBit/s +- abr: Average audio bitrate in KBit/s +- vbr: Average video bitrate in KBit/s +- asr: Audio sampling rate in Hertz +- fps: Frame rate + +Also filtering work for comparisons = (equals), ^= (starts with), $= +(ends with), *= (contains) and following string meta fields: + +- ext: File extension +- acodec: Name of the audio codec in use +- vcodec: Name of the video codec in use +- container: Name of the container format +- protocol: The protocol that will be used for the actual download, + lower-case (http, https, rtsp, rtmp, rtmpe, mms, f4m, ism, + http_dash_segments, m3u8, or m3u8_native) +- format_id: A short description of the format + +Any string comparison may be prefixed with negation ! in order to +produce an opposite comparison, e.g. !*= (does not contain). Note that none of the aforementioned meta fields are guaranteed to be present since this solely depends on the metadata obtained by particular @@ -876,7 +892,7 @@ single. # Download best mp4 format available or any other best if no mp4 available $ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best' - # Download best format available but not better that 480p + # Download best format available but no better than 480p $ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]' # Download best video only format but no bigger than 50 MB @@ -1632,7 +1648,7 @@ Incorrect: 'https://www.youtube.com/watch?v=FqZTN594JQw&list=' 'PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4' -Use safe conversion functions +Use convenience conversion and parsing functions Wrap all extracted numeric data into safe functions from youtube_dl/utils.py: int_or_none, float_or_none. Use them for string to @@ -1642,6 +1658,12 @@ Use url_or_none for safe URL processing. Use try_get for safe metadata extraction from parsed JSON. +Use unified_strdate for uniform upload_date or any YYYYMMDD meta field +extraction, unified_timestamp for uniform timestamp extraction, +parse_filesize for filesize extraction, parse_count for count meta +fields extraction, parse_resolution, parse_duration for duration +extraction, parse_age_limit for age_limit extraction. + Explore youtube_dl/utils.py for more useful convenience functions. More examples @@ -1723,9 +1745,9 @@ BUGS Bugs and suggestions should be reported at: -https://github.com/rg3/youtube-dl/issues. Unless you were prompted to or -there is another pertinent reason (e.g. GitHub fails to accept the bug -report), please do not send bug reports via personal email. For +https://github.com/ytdl-org/youtube-dl/issues. Unless you were prompted +to or there is another pertinent reason (e.g. GitHub fails to accept the +bug report), please do not send bug reports via personal email. For discussions, join us in the IRC channel #youtube-dl on freenode (webchat). diff --git a/devscripts/buildserver.py b/devscripts/buildserver.py index 1344b4d..4a4295b 100644 --- a/devscripts/buildserver.py +++ b/devscripts/buildserver.py @@ -322,7 +322,7 @@ class GITBuilder(GITInfoBuilder): class YoutubeDLBuilder(object): - authorizedUsers = ['fraca7', 'phihag', 'rg3', 'FiloSottile'] + authorizedUsers = ['fraca7', 'phihag', 'rg3', 'FiloSottile', 'ytdl-org'] def __init__(self, **kwargs): if self.repoName != 'youtube-dl': diff --git a/devscripts/check-porn.py b/devscripts/check-porn.py index 72b2ee4..740f04d 100644 --- a/devscripts/check-porn.py +++ b/devscripts/check-porn.py @@ -45,12 +45,12 @@ for test in gettestcases(): RESULT = ('.' + domain + '\n' in LIST or '\n' + domain + '\n' in LIST) - if RESULT and ('info_dict' not in test or 'age_limit' not in test['info_dict'] or - test['info_dict']['age_limit'] != 18): + if RESULT and ('info_dict' not in test or 'age_limit' not in test['info_dict'] + or test['info_dict']['age_limit'] != 18): print('\nPotential missing age_limit check: {0}'.format(test['name'])) - elif not RESULT and ('info_dict' in test and 'age_limit' in test['info_dict'] and - test['info_dict']['age_limit'] == 18): + elif not RESULT and ('info_dict' in test and 'age_limit' in test['info_dict'] + and test['info_dict']['age_limit'] == 18): print('\nPotential false negative: {0}'.format(test['name'])) else: diff --git a/devscripts/create-github-release.py b/devscripts/create-github-release.py index 30716ad..428111b 100644 --- a/devscripts/create-github-release.py +++ b/devscripts/create-github-release.py @@ -27,8 +27,8 @@ from youtube_dl.utils import ( class GitHubReleaser(object): - _API_URL = 'https://api.github.com/repos/rg3/youtube-dl/releases' - _UPLOADS_URL = 'https://uploads.github.com/repos/rg3/youtube-dl/releases/%s/assets?name=%s' + _API_URL = 'https://api.github.com/repos/ytdl-org/youtube-dl/releases' + _UPLOADS_URL = 'https://uploads.github.com/repos/ytdl-org/youtube-dl/releases/%s/assets?name=%s' _NETRC_MACHINE = 'github.com' def __init__(self, debuglevel=0): diff --git a/devscripts/gh-pages/update-feed.py b/devscripts/gh-pages/update-feed.py index e93eb60..506a623 100755 --- a/devscripts/gh-pages/update-feed.py +++ b/devscripts/gh-pages/update-feed.py @@ -10,7 +10,7 @@ import textwrap atom_template = textwrap.dedent("""\ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <link rel="self" href="http://rg3.github.io/youtube-dl/update/releases.atom" /> + <link rel="self" href="http://ytdl-org.github.io/youtube-dl/update/releases.atom" /> <title>youtube-dl releases</title> <id>https://yt-dl.org/feed/youtube-dl-updates-feed</id> <updated>@TIMESTAMP@</updated> @@ -21,7 +21,7 @@ entry_template = textwrap.dedent(""" <entry> <id>https://yt-dl.org/feed/youtube-dl-updates-feed/youtube-dl-@VERSION@</id> <title>New version @VERSION@</title> - <link href="http://rg3.github.io/youtube-dl" /> + <link href="http://ytdl-org.github.io/youtube-dl" /> <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"> Downloads available at <a href="https://yt-dl.org/downloads/@VERSION@/">https://yt-dl.org/downloads/@VERSION@/</a> diff --git a/devscripts/release.sh b/devscripts/release.sh index 4db5def..f2411c9 100755 --- a/devscripts/release.sh +++ b/devscripts/release.sh @@ -78,8 +78,8 @@ sed -i "s/__version__ = '.*'/__version__ = '$version'/" youtube_dl/version.py sed -i "s/<unreleased>/$version/" ChangeLog /bin/echo -e "\n### Committing documentation, templates and youtube_dl/version.py..." -make README.md CONTRIBUTING.md .github/ISSUE_TEMPLATE.md supportedsites -git add README.md CONTRIBUTING.md .github/ISSUE_TEMPLATE.md docs/supportedsites.md youtube_dl/version.py ChangeLog +make README.md CONTRIBUTING.md issuetemplates supportedsites +git add README.md CONTRIBUTING.md .github/ISSUE_TEMPLATE/1_broken_site.md .github/ISSUE_TEMPLATE/2_site_support_request.md .github/ISSUE_TEMPLATE/3_site_feature_request.md .github/ISSUE_TEMPLATE/4_bug_report.md .github/ISSUE_TEMPLATE/5_feature_request.md .github/ISSUE_TEMPLATE/6_question.md docs/supportedsites.md youtube_dl/version.py ChangeLog git commit $gpg_sign_commits -m "release $version" /bin/echo -e "\n### Now tagging, signing and pushing..." @@ -96,7 +96,7 @@ git push origin "$version" REV=$(git rev-parse HEAD) make youtube-dl youtube-dl.tar.gz read -p "VM running? (y/n) " -n 1 -wget "http://$buildserver/build/rg3/youtube-dl/youtube-dl.exe?rev=$REV" -O youtube-dl.exe +wget "http://$buildserver/build/ytdl-org/youtube-dl/youtube-dl.exe?rev=$REV" -O youtube-dl.exe mkdir -p "build/$version" mv youtube-dl youtube-dl.exe "build/$version" mv youtube-dl.tar.gz "build/$version/youtube-dl-$version.tar.gz" diff --git a/devscripts/show-downloads-statistics.py b/devscripts/show-downloads-statistics.py index e25d284..6c8d1cc 100644 --- a/devscripts/show-downloads-statistics.py +++ b/devscripts/show-downloads-statistics.py @@ -24,7 +24,7 @@ total_bytes = 0 for page in itertools.count(1): releases = json.loads(compat_urllib_request.urlopen( - 'https://api.github.com/repos/rg3/youtube-dl/releases?page=%s' % page + 'https://api.github.com/repos/ytdl-org/youtube-dl/releases?page=%s' % page ).read().decode('utf-8')) if not releases: diff --git a/docs/supportedsites.md b/docs/supportedsites.md index c014094..bfd15b4 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -28,6 +28,7 @@ - **acast:channel** - **AddAnime** - **ADN**: Anime Digital Network + - **AdobeConnect** - **AdobeTV** - **AdobeTVChannel** - **AdobeTVShow** @@ -44,9 +45,8 @@ - **AmericasTestKitchen** - **anderetijden**: npo.nl, ntr.nl, omroepwnl.nl, zapp.nl and npo3.nl - **AnimeOnDemand** - - **anitube.se** - **Anvato** - - **AnySex** + - **aol.com** - **APA** - **Aparat** - **AppleConnect** @@ -78,7 +78,6 @@ - **AudioBoom** - **audiomack** - **audiomack:album** - - **auroravid**: AuroraVid - **AWAAN** - **awaan:live** - **awaan:season** @@ -103,6 +102,7 @@ - **Bellator** - **BellMedia** - **Bet** + - **bfi:player** - **Bigflix** - **Bild**: Bild.de - **BiliBili** @@ -149,6 +149,7 @@ - **CBSInteractive** - **CBSLocal** - **cbsnews**: CBS News + - **cbsnews:embed** - **cbsnews:livevideo**: CBS News Live Videos - **CBSSports** - **CCMA** @@ -163,6 +164,7 @@ - **chirbit** - **chirbit:profile** - **Cinchcast** + - **Cinemax** - **CiscoLiveSearch** - **CiscoLiveSession** - **CJSW** @@ -172,7 +174,6 @@ - **Clipsyndicate** - **CloserToTruth** - **CloudflareStream** - - **cloudtime**: CloudTime - **Cloudy** - **Clubic** - **Clyp** @@ -192,7 +193,6 @@ - **Coub** - **Cracked** - **Crackle** - - **Criterion** - **CrooksAndLiars** - **crunchyroll** - **crunchyroll:playlist** @@ -200,6 +200,7 @@ - **CSpan**: C-SPAN - **CtsNews**: è¯è¦æ°è - **CTVNews** + - **cu.ntv.co.jp**: Nippon Television Network - **Culturebox** - **CultureUnplugged** - **curiositystream** @@ -235,8 +236,6 @@ - **DouyuTV**: æé±¼ - **DPlay** - **DPlayIt** - - **dramafever** - - **dramafever:series** - **DRBonanza** - **Dropbox** - **DrTuber** @@ -347,7 +346,6 @@ - **Groupon** - **Hark** - **hbo** - - **hbo:episode** - **HearThisAt** - **Heise** - **HellPorno** @@ -361,6 +359,7 @@ - **hitbox** - **hitbox:live** - **HitRecord** + - **hketv**: é¦æ¸¯æè²å±æè²é»è¦ (HKETV) Educational Television, Hong Kong Educational Bureau - **HornBunny** - **HotNewHipHop** - **hotstar** @@ -386,6 +385,7 @@ - **IndavideoEmbed** - **InfoQ** - **Instagram** + - **instagram:tag**: Instagram hashtag search - **instagram:user**: Instagram user profile - **Internazionale** - **InternetVideoArchive** @@ -456,6 +456,7 @@ - **LineTV** - **linkedin:learning** - **linkedin:learning:course** + - **LinuxAcademy** - **LiTV** - **LiveLeak** - **LiveLeakEmbed** @@ -474,6 +475,7 @@ - **mailru:music**: ÐÑзÑка@Mail.Ru - **mailru:music:search**: ÐÑзÑка@Mail.Ru - **MakerTV** + - **MallTV** - **mangomolo:live** - **mangomolo:video** - **ManyVids** @@ -483,9 +485,12 @@ - **MatchTV** - **MDR**: MDR.DE and KiKA - **media.ccc.de** + - **media.ccc.de:lists** - **Medialaan** - **Mediaset** - **Mediasite** + - **MediasiteCatalog** + - **MediasiteNamedCatalog** - **Medici** - **megaphone.fm**: megaphone.fm embedded players - **Meipai**: ç¾æ @@ -544,6 +549,7 @@ - **MyVisionTV** - **n-tv.de** - **natgeo:video** + - **NationalGeographicTV** - **Naver** - **NBA** - **NBC** @@ -601,7 +607,6 @@ - **nowness** - **nowness:playlist** - **nowness:series** - - **nowvideo**: NowVideo - **Noz** - **npo**: npo.nl, ntr.nl, omroepwnl.nl, zapp.nl and npo3.nl - **npo.nl:live** @@ -617,6 +622,7 @@ - **NRKTVEpisodes** - **NRKTVSeason** - **NRKTVSeries** + - **NRLTV** - **ntv.ru** - **Nuvid** - **NYTimes** @@ -626,7 +632,6 @@ - **OdaTV** - **Odnoklassniki** - **OktoberfestTV** - - **on.aol.com** - **OnDemandKorea** - **onet.pl** - **onet.tv** @@ -667,6 +672,8 @@ - **Piksel** - **Pinkbike** - **Pladform** + - **Platzi** + - **PlatziCourse** - **play.fm** - **PlayPlusTV** - **PlaysTV** @@ -683,7 +690,6 @@ - **PopcornTV** - **PornCom** - **PornerBros** - - **PornFlip** - **PornHd** - **PornHub**: PornHub and Thumbzilla - **PornHubPlaylist** @@ -693,7 +699,6 @@ - **PornoXO** - **PornTube** - **PressTV** - - **PrimeShareTV** - **PromptFile** - **prosiebensat1**: ProSiebenSat.1 Digital - **puhutv** @@ -713,7 +718,7 @@ - **radio.de** - **radiobremen** - **radiocanada** - - **RadioCanadaAudioVideo** + - **radiocanada:audiovideo** - **radiofrance** - **RadioJavan** - **Rai** @@ -725,6 +730,7 @@ - **RBMARadio** - **RDS**: RDS.ca - **RedBullTV** + - **RedBullTVRrnContent** - **Reddit** - **RedditR** - **RedTube** @@ -760,7 +766,6 @@ - **RTVS** - **Rudo** - **RUHD** - - **RulePorn** - **rutube**: Rutube videos - **rutube:channel**: Rutube channels - **rutube:embed**: Rutube embedded videos @@ -774,6 +779,7 @@ - **safari:api** - **safari:course**: safaribooksonline.com online courses - **SAKTV** + - **SaltTV** - **Sapo**: SAPO VÃdeos - **savefrom.net** - **SBS**: sbs.com.au @@ -796,6 +802,7 @@ - **ShowRoomLive** - **Sina** - **SkylineWebcams** + - **SkyNews** - **skynewsarabia:article** - **skynewsarabia:video** - **SkySports** @@ -823,6 +830,7 @@ - **southpark.nl** - **southparkstudios.dk** - **SpankBang** + - **SpankBangPlaylist** - **Spankwire** - **Spiegel** - **Spiegel:Article**: Articles on spiegel.de @@ -845,7 +853,10 @@ - **StreamCZ** - **StreetVoice** - **StretchInternet** + - **stv:player** - **SunPorno** + - **sverigesradio:episode** + - **sverigesradio:publication** - **SVT** - **SVTPage** - **SVTPlay**: SVT Play and Ãppet arkiv @@ -866,6 +877,7 @@ - **teachertube:user:collection**: teachertube.com user and collection videos - **TeachingChannel** - **Teamcoco** + - **TeamTreeHouse** - **TechTalks** - **techtv.mit.edu** - **ted** @@ -909,6 +921,7 @@ - **ToypicsUser**: Toypics user profile - **TrailerAddict** (Currently broken) - **Trilulilu** + - **TruNews** - **TruTV** - **Tube8** - **TubiTv** @@ -984,6 +997,7 @@ - **Vbox7** - **VeeHD** - **Veoh** + - **verystream** - **Vessel** - **Vesti**: ÐеÑÑи.Ru - **Vevo** @@ -1002,13 +1016,11 @@ - **video.mit.edu** - **VideoDetective** - **videofy.me** - - **VideoMega** - **videomore** - **videomore:season** - **videomore:video** - **VideoPremium** - **VideoPress** - - **videoweed**: VideoWeed - **Vidio** - **VidLii** - **vidme** @@ -1053,10 +1065,9 @@ - **Voot** - **VoxMedia** - **VoxMediaVolume** - - **Vporn** - **vpro**: npo.nl, ntr.nl, omroepwnl.nl, zapp.nl and npo3.nl - **Vrak** - - **VRT**: deredactie.be, sporza.be, cobra.be and cobra.canvas.be + - **VRT**: VRT NWS, Flanders News, Flandern Info and Sporza - **VrtNU**: VrtNU.be - **vrv** - **vrv:series** @@ -1067,6 +1078,7 @@ - **VVVVID** - **VyboryMos** - **Vzaar** + - **Wakanim** - **Walla** - **WalyTV** - **washingtonpost** @@ -1085,13 +1097,10 @@ - **Weibo** - **WeiboMobile** - **WeiqiTV**: WQTV - - **wholecloud**: WholeCloud - **Wimp** - **Wistia** - **wnl**: npo.nl, ntr.nl, omroepwnl.nl, zapp.nl and npo3.nl - **WorldStarHipHop** - - **wrzuta.pl** - - **wrzuta.pl:playlist** - **WSJ**: Wall Street Journal - **WSJArticle** - **WWE** @@ -1115,10 +1124,13 @@ - **XVideos** - **XXXYMovies** - **Yahoo**: Yahoo screen and movies + - **yahoo:gyao** + - **yahoo:gyao:player** - **YandexDisk** - **yandexmusic:album**: ЯндекÑ.ÐÑзÑка - ÐлÑбом - **yandexmusic:playlist**: ЯндекÑ.ÐÑзÑка - ÐлейлиÑÑ - **yandexmusic:track**: ЯндекÑ.ÐÑзÑка - ТÑек + - **YandexVideo** - **YapFiles** - **YesJapan** - **yinyuetai:video**: é³æ¦Tai diff --git a/setup.cfg b/setup.cfg index af9a554..da78a9c 100644 --- a/setup.cfg +++ b/setup.cfg @@ -3,4 +3,4 @@ universal = True [flake8] exclude = youtube_dl/extractor/__init__.py,devscripts/buildserver.py,devscripts/lazy_load_template.py,devscripts/make_issue_template.py,setup.py,build,.git,venv -ignore = E402,E501,E731,E741 +ignore = E402,E501,E731,E741,W503 diff --git a/setup.py b/setup.py index dfb669a..af68b48 100644 --- a/setup.py +++ b/setup.py @@ -104,7 +104,7 @@ setup( version=__version__, description=DESCRIPTION, long_description=LONG_DESCRIPTION, - url='https://github.com/rg3/youtube-dl', + url='https://github.com/ytdl-org/youtube-dl', author='Ricardo Garcia', author_email='ytdl@yt-dl.org', maintainer='Sergey M.', diff --git a/test/test_InfoExtractor.py b/test/test_InfoExtractor.py index 06be726..71f6608 100644 --- a/test/test_InfoExtractor.py +++ b/test/test_InfoExtractor.py @@ -61,6 +61,7 @@ class TestInfoExtractor(unittest.TestCase): <meta content='Foo' property=og:foobar> <meta name="og:test1" content='foo > < bar'/> <meta name="og:test2" content="foo >//< bar"/> + <meta property=og-test3 content='Ill-formatted opengraph'/> ''' self.assertEqual(ie._og_search_title(html), 'Foo') self.assertEqual(ie._og_search_description(html), 'Some video\'s description ') @@ -69,6 +70,7 @@ class TestInfoExtractor(unittest.TestCase): self.assertEqual(ie._og_search_property('foobar', html), 'Foo') self.assertEqual(ie._og_search_property('test1', html), 'foo > < bar') self.assertEqual(ie._og_search_property('test2', html), 'foo >//< bar') + self.assertEqual(ie._og_search_property('test3', html), 'Ill-formatted opengraph') self.assertEqual(ie._og_search_property(('test0', 'test1'), html), 'foo > < bar') self.assertRaises(RegexNotFoundError, ie._og_search_property, 'test0', html, None, fatal=True) self.assertRaises(RegexNotFoundError, ie._og_search_property, ('test0', 'test00'), html, None, fatal=True) @@ -105,6 +107,184 @@ class TestInfoExtractor(unittest.TestCase): self.assertRaises(ExtractorError, self.ie._download_json, uri, None) self.assertEqual(self.ie._download_json(uri, None, fatal=False), None) + def test_parse_html5_media_entries(self): + # from https://www.r18.com/ + # with kpbs in label + expect_dict( + self, + self.ie._parse_html5_media_entries( + 'https://www.r18.com/', + r''' + <video id="samplevideo_amateur" class="js-samplevideo video-js vjs-default-skin vjs-big-play-centered" controls preload="auto" width="400" height="225" poster="//pics.r18.com/digital/amateur/mgmr105/mgmr105jp.jpg"> + <source id="video_source" src="https://awscc3001.r18.com/litevideo/freepv/m/mgm/mgmr105/mgmr105_sm_w.mp4" type="video/mp4" res="240" label="300kbps"> + <source id="video_source" src="https://awscc3001.r18.com/litevideo/freepv/m/mgm/mgmr105/mgmr105_dm_w.mp4" type="video/mp4" res="480" label="1000kbps"> + <source id="video_source" src="https://awscc3001.r18.com/litevideo/freepv/m/mgm/mgmr105/mgmr105_dmb_w.mp4" type="video/mp4" res="740" label="1500kbps"> + <p>Your browser does not support the video tag.</p> + </video> + ''', None)[0], + { + 'formats': [{ + 'url': 'https://awscc3001.r18.com/litevideo/freepv/m/mgm/mgmr105/mgmr105_sm_w.mp4', + 'ext': 'mp4', + 'format_id': '300kbps', + 'height': 240, + 'tbr': 300, + }, { + 'url': 'https://awscc3001.r18.com/litevideo/freepv/m/mgm/mgmr105/mgmr105_dm_w.mp4', + 'ext': 'mp4', + 'format_id': '1000kbps', + 'height': 480, + 'tbr': 1000, + }, { + 'url': 'https://awscc3001.r18.com/litevideo/freepv/m/mgm/mgmr105/mgmr105_dmb_w.mp4', + 'ext': 'mp4', + 'format_id': '1500kbps', + 'height': 740, + 'tbr': 1500, + }], + 'thumbnail': '//pics.r18.com/digital/amateur/mgmr105/mgmr105jp.jpg' + }) + + # from https://www.csfd.cz/ + # with width and height + expect_dict( + self, + self.ie._parse_html5_media_entries( + 'https://www.csfd.cz/', + r''' + <video width="770" height="328" preload="none" controls poster="https://img.csfd.cz/files/images/film/video/preview/163/344/163344118_748d20.png?h360" > + <source src="https://video.csfd.cz/files/videos/157/750/157750813/163327358_eac647.mp4" type="video/mp4" width="640" height="360"> + <source src="https://video.csfd.cz/files/videos/157/750/157750813/163327360_3d2646.mp4" type="video/mp4" width="1280" height="720"> + <source src="https://video.csfd.cz/files/videos/157/750/157750813/163327356_91f258.mp4" type="video/mp4" width="1920" height="1080"> + <source src="https://video.csfd.cz/files/videos/157/750/157750813/163327359_962b4a.webm" type="video/webm" width="640" height="360"> + <source src="https://video.csfd.cz/files/videos/157/750/157750813/163327361_6feee0.webm" type="video/webm" width="1280" height="720"> + <source src="https://video.csfd.cz/files/videos/157/750/157750813/163327357_8ab472.webm" type="video/webm" width="1920" height="1080"> + <track src="https://video.csfd.cz/files/subtitles/163/344/163344115_4c388b.srt" type="text/x-srt" kind="subtitles" srclang="cs" label="cs"> + </video> + ''', None)[0], + { + 'formats': [{ + 'url': 'https://video.csfd.cz/files/videos/157/750/157750813/163327358_eac647.mp4', + 'ext': 'mp4', + 'width': 640, + 'height': 360, + }, { + 'url': 'https://video.csfd.cz/files/videos/157/750/157750813/163327360_3d2646.mp4', + 'ext': 'mp4', + 'width': 1280, + 'height': 720, + }, { + 'url': 'https://video.csfd.cz/files/videos/157/750/157750813/163327356_91f258.mp4', + 'ext': 'mp4', + 'width': 1920, + 'height': 1080, + }, { + 'url': 'https://video.csfd.cz/files/videos/157/750/157750813/163327359_962b4a.webm', + 'ext': 'webm', + 'width': 640, + 'height': 360, + }, { + 'url': 'https://video.csfd.cz/files/videos/157/750/157750813/163327361_6feee0.webm', + 'ext': 'webm', + 'width': 1280, + 'height': 720, + }, { + 'url': 'https://video.csfd.cz/files/videos/157/750/157750813/163327357_8ab472.webm', + 'ext': 'webm', + 'width': 1920, + 'height': 1080, + }], + 'subtitles': { + 'cs': [{'url': 'https://video.csfd.cz/files/subtitles/163/344/163344115_4c388b.srt'}] + }, + 'thumbnail': 'https://img.csfd.cz/files/images/film/video/preview/163/344/163344118_748d20.png?h360' + }) + + # from https://tamasha.com/v/Kkdjw + # with height in label + expect_dict( + self, + self.ie._parse_html5_media_entries( + 'https://tamasha.com/v/Kkdjw', + r''' + <video crossorigin="anonymous"> + <source src="https://s-v2.tamasha.com/statics/videos_file/19/8f/Kkdjw_198feff8577d0057536e905cce1fb61438dd64e0_n_240.mp4" type="video/mp4" label="AUTO" res="0"/> + <source src="https://s-v2.tamasha.com/statics/videos_file/19/8f/Kkdjw_198feff8577d0057536e905cce1fb61438dd64e0_n_240.mp4" type="video/mp4" + label="240p" res="240"/> + <source src="https://s-v2.tamasha.com/statics/videos_file/20/00/Kkdjw_200041c66f657fc967db464d156eafbc1ed9fe6f_n_144.mp4" type="video/mp4" + label="144p" res="144"/> + </video> + ''', None)[0], + { + 'formats': [{ + 'url': 'https://s-v2.tamasha.com/statics/videos_file/19/8f/Kkdjw_198feff8577d0057536e905cce1fb61438dd64e0_n_240.mp4', + }, { + 'url': 'https://s-v2.tamasha.com/statics/videos_file/19/8f/Kkdjw_198feff8577d0057536e905cce1fb61438dd64e0_n_240.mp4', + 'ext': 'mp4', + 'format_id': '240p', + 'height': 240, + }, { + 'url': 'https://s-v2.tamasha.com/statics/videos_file/20/00/Kkdjw_200041c66f657fc967db464d156eafbc1ed9fe6f_n_144.mp4', + 'ext': 'mp4', + 'format_id': '144p', + 'height': 144, + }] + }) + + # from https://www.directvnow.com + # with data-src + expect_dict( + self, + self.ie._parse_html5_media_entries( + 'https://www.directvnow.com', + r''' + <video id="vid1" class="header--video-masked active" muted playsinline> + <source data-src="https://cdn.directv.com/content/dam/dtv/prod/website_directvnow-international/videos/DTVN_hdr_HBO_v3.mp4" type="video/mp4" /> + </video> + ''', None)[0], + { + 'formats': [{ + 'ext': 'mp4', + 'url': 'https://cdn.directv.com/content/dam/dtv/prod/website_directvnow-international/videos/DTVN_hdr_HBO_v3.mp4', + }] + }) + + # from https://www.directvnow.com + # with data-src + expect_dict( + self, + self.ie._parse_html5_media_entries( + 'https://www.directvnow.com', + r''' + <video id="vid1" class="header--video-masked active" muted playsinline> + <source data-src="https://cdn.directv.com/content/dam/dtv/prod/website_directvnow-international/videos/DTVN_hdr_HBO_v3.mp4" type="video/mp4" /> + </video> + ''', None)[0], + { + 'formats': [{ + 'url': 'https://cdn.directv.com/content/dam/dtv/prod/website_directvnow-international/videos/DTVN_hdr_HBO_v3.mp4', + 'ext': 'mp4', + }] + }) + + # from https://www.klarna.com/uk/ + # with data-video-src + expect_dict( + self, + self.ie._parse_html5_media_entries( + 'https://www.directvnow.com', + r''' + <video loop autoplay muted class="responsive-video block-kl__video video-on-medium"> + <source src="" data-video-desktop data-video-src="https://www.klarna.com/uk/wp-content/uploads/sites/11/2019/01/KL062_Smooth3_0_DogWalking_5s_920x080_.mp4" type="video/mp4" /> + </video> + ''', None)[0], + { + 'formats': [{ + 'url': 'https://www.klarna.com/uk/wp-content/uploads/sites/11/2019/01/KL062_Smooth3_0_DogWalking_5s_920x080_.mp4', + 'ext': 'mp4', + }], + }) + def test_extract_jwplayer_data_realworld(self): # from http://www.suffolk.edu/sjc/ expect_dict( @@ -199,7 +379,7 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ def test_parse_m3u8_formats(self): _TEST_CASES = [ ( - # https://github.com/rg3/youtube-dl/issues/11507 + # https://github.com/ytdl-org/youtube-dl/issues/11507 # http://pluzz.francetv.fr/videos/le_ministere.html 'pluzz_francetv_11507', 'http://replayftv-vh.akamaihd.net/i/streaming-adaptatif_france-dom-tom/2017/S16/J2/156589847-58f59130c1f52-,standard1,standard2,standard3,standard4,standard5,.mp4.csmil/master.m3u8?caption=2017%2F16%2F156589847-1492488987.m3u8%3Afra%3AFrancais&audiotrack=0%3Afra%3AFrancais', @@ -261,7 +441,7 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ }] ), ( - # https://github.com/rg3/youtube-dl/issues/11995 + # https://github.com/ytdl-org/youtube-dl/issues/11995 # http://teamcoco.com/video/clueless-gamer-super-bowl-for-honor 'teamcoco_11995', 'http://ak.storage-w.teamcococdn.com/cdn/2017-02/98599/ed8f/main.m3u8', @@ -335,7 +515,7 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ }] ), ( - # https://github.com/rg3/youtube-dl/issues/12211 + # https://github.com/ytdl-org/youtube-dl/issues/12211 # http://video.toggle.sg/en/series/whoopie-s-world/ep3/478601 'toggle_mobile_12211', 'http://cdnapi.kaltura.com/p/2082311/sp/208231100/playManifest/protocol/http/entryId/0_89q6e8ku/format/applehttp/tags/mobile_sd/f/a.m3u8', @@ -497,7 +677,64 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ 'width': 1280, 'height': 720, }] - ) + ), + ( + # https://github.com/ytdl-org/youtube-dl/issues/18923 + # https://www.ted.com/talks/boris_hesser_a_grassroots_healthcare_revolution_in_africa + 'ted_18923', + 'http://hls.ted.com/talks/31241.m3u8', + [{ + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/audio/600k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '600k-Audio', + 'vcodec': 'none', + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/audio/600k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '68', + 'vcodec': 'none', + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/64k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '163', + 'acodec': 'none', + 'width': 320, + 'height': 180, + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/180k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '481', + 'acodec': 'none', + 'width': 512, + 'height': 288, + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/320k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '769', + 'acodec': 'none', + 'width': 512, + 'height': 288, + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/450k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '984', + 'acodec': 'none', + 'width': 512, + 'height': 288, + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/600k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '1255', + 'acodec': 'none', + 'width': 640, + 'height': 360, + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/950k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '1693', + 'acodec': 'none', + 'width': 853, + 'height': 480, + }, { + 'url': 'http://hls.ted.com/videos/BorisHesser_2018S/video/1500k.m3u8?nobumpers=true&uniqueId=76011e2b', + 'format_id': '2462', + 'acodec': 'none', + 'width': 1280, + 'height': 720, + }] + ), ] for m3u8_file, m3u8_url, expected_formats in _TEST_CASES: @@ -511,11 +748,12 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ def test_parse_mpd_formats(self): _TEST_CASES = [ ( - # https://github.com/rg3/youtube-dl/issues/13919 + # https://github.com/ytdl-org/youtube-dl/issues/13919 # Also tests duplicate representation ids, see - # https://github.com/rg3/youtube-dl/issues/15111 + # https://github.com/ytdl-org/youtube-dl/issues/15111 'float_duration', - 'http://unknown/manifest.mpd', + 'http://unknown/manifest.mpd', # mpd_url + None, # mpd_base_url [{ 'manifest_url': 'http://unknown/manifest.mpd', 'ext': 'm4a', @@ -593,9 +831,10 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ 'height': 1080, }] ), ( - # https://github.com/rg3/youtube-dl/pull/14844 + # https://github.com/ytdl-org/youtube-dl/pull/14844 'urls_only', - 'http://unknown/manifest.mpd', + 'http://unknown/manifest.mpd', # mpd_url + None, # mpd_base_url [{ 'manifest_url': 'http://unknown/manifest.mpd', 'ext': 'mp4', @@ -674,22 +913,68 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ 'width': 1920, 'height': 1080, }] + ), ( + # https://github.com/ytdl-org/youtube-dl/issues/20346 + # Media considered unfragmented even though it contains + # Initialization tag + 'unfragmented', + 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', # mpd_url + 'https://v.redd.it/hw1x7rcg7zl21', # mpd_base_url + [{ + 'url': 'https://v.redd.it/hw1x7rcg7zl21/audio', + 'manifest_url': 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', + 'ext': 'm4a', + 'format_id': 'AUDIO-1', + 'format_note': 'DASH audio', + 'container': 'm4a_dash', + 'acodec': 'mp4a.40.2', + 'vcodec': 'none', + 'tbr': 129.87, + 'asr': 48000, + + }, { + 'url': 'https://v.redd.it/hw1x7rcg7zl21/DASH_240', + 'manifest_url': 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', + 'ext': 'mp4', + 'format_id': 'VIDEO-2', + 'format_note': 'DASH video', + 'container': 'mp4_dash', + 'acodec': 'none', + 'vcodec': 'avc1.4d401e', + 'tbr': 608.0, + 'width': 240, + 'height': 240, + 'fps': 30, + }, { + 'url': 'https://v.redd.it/hw1x7rcg7zl21/DASH_360', + 'manifest_url': 'https://v.redd.it/hw1x7rcg7zl21/DASHPlaylist.mpd', + 'ext': 'mp4', + 'format_id': 'VIDEO-1', + 'format_note': 'DASH video', + 'container': 'mp4_dash', + 'acodec': 'none', + 'vcodec': 'avc1.4d401e', + 'tbr': 804.261, + 'width': 360, + 'height': 360, + 'fps': 30, + }] ) ] - for mpd_file, mpd_url, expected_formats in _TEST_CASES: + for mpd_file, mpd_url, mpd_base_url, expected_formats in _TEST_CASES: with io.open('./test/testdata/mpd/%s.mpd' % mpd_file, mode='r', encoding='utf-8') as f: formats = self.ie._parse_mpd_formats( compat_etree_fromstring(f.read().encode('utf-8')), - mpd_url=mpd_url) + mpd_base_url=mpd_base_url, mpd_url=mpd_url) self.ie._sort_formats(formats) expect_value(self, formats, expected_formats, None) def test_parse_f4m_formats(self): _TEST_CASES = [ ( - # https://github.com/rg3/youtube-dl/issues/14660 + # https://github.com/ytdl-org/youtube-dl/issues/14660 'custom_base_url', 'http://api.new.livestream.com/accounts/6115179/events/6764928/videos/144884262.f4m', [{ diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index f0f5a84..ce96661 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -239,6 +239,76 @@ class TestFormatSelection(unittest.TestCase): downloaded = ydl.downloaded_info_dicts[0] self.assertEqual(downloaded['format_id'], 'vid-vcodec-dot') + def test_format_selection_string_ops(self): + formats = [ + {'format_id': 'abc-cba', 'ext': 'mp4', 'url': TEST_URL}, + {'format_id': 'zxc-cxz', 'ext': 'webm', 'url': TEST_URL}, + ] + info_dict = _make_result(formats) + + # equals (=) + ydl = YDL({'format': '[format_id=abc-cba]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'abc-cba') + + # does not equal (!=) + ydl = YDL({'format': '[format_id!=abc-cba]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'zxc-cxz') + + ydl = YDL({'format': '[format_id!=abc-cba][format_id!=zxc-cxz]'}) + self.assertRaises(ExtractorError, ydl.process_ie_result, info_dict.copy()) + + # starts with (^=) + ydl = YDL({'format': '[format_id^=abc]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'abc-cba') + + # does not start with (!^=) + ydl = YDL({'format': '[format_id!^=abc]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'zxc-cxz') + + ydl = YDL({'format': '[format_id!^=abc][format_id!^=zxc]'}) + self.assertRaises(ExtractorError, ydl.process_ie_result, info_dict.copy()) + + # ends with ($=) + ydl = YDL({'format': '[format_id$=cba]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'abc-cba') + + # does not end with (!$=) + ydl = YDL({'format': '[format_id!$=cba]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'zxc-cxz') + + ydl = YDL({'format': '[format_id!$=cba][format_id!$=cxz]'}) + self.assertRaises(ExtractorError, ydl.process_ie_result, info_dict.copy()) + + # contains (*=) + ydl = YDL({'format': '[format_id*=bc-cb]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'abc-cba') + + # does not contain (!*=) + ydl = YDL({'format': '[format_id!*=bc-cb]'}) + ydl.process_ie_result(info_dict.copy()) + downloaded = ydl.downloaded_info_dicts[0] + self.assertEqual(downloaded['format_id'], 'zxc-cxz') + + ydl = YDL({'format': '[format_id!*=abc][format_id!*=zxc]'}) + self.assertRaises(ExtractorError, ydl.process_ie_result, info_dict.copy()) + + ydl = YDL({'format': '[format_id!*=-]'}) + self.assertRaises(ExtractorError, ydl.process_ie_result, info_dict.copy()) + def test_youtube_format_selection(self): order = [ '38', '37', '46', '22', '45', '35', '44', '18', '34', '43', '6', '5', '17', '36', '13', @@ -341,7 +411,7 @@ class TestFormatSelection(unittest.TestCase): # For extractors with incomplete formats (all formats are audio-only or # video-only) best and worst should fallback to corresponding best/worst # video-only or audio-only formats (as per - # https://github.com/rg3/youtube-dl/pull/5556) + # https://github.com/ytdl-org/youtube-dl/pull/5556) formats = [ {'format_id': 'low', 'ext': 'mp3', 'preference': 1, 'vcodec': 'none', 'url': TEST_URL}, {'format_id': 'high', 'ext': 'mp3', 'preference': 2, 'vcodec': 'none', 'url': TEST_URL}, @@ -372,7 +442,7 @@ class TestFormatSelection(unittest.TestCase): self.assertRaises(ExtractorError, ydl.process_ie_result, info_dict.copy()) def test_format_selection_issue_10083(self): - # See https://github.com/rg3/youtube-dl/issues/10083 + # See https://github.com/ytdl-org/youtube-dl/issues/10083 formats = [ {'format_id': 'regular', 'height': 360, 'url': TEST_URL}, {'format_id': 'video', 'height': 720, 'acodec': 'none', 'url': TEST_URL}, @@ -783,7 +853,7 @@ class TestYoutubeDL(unittest.TestCase): self.assertEqual(result, [2, 3, 4]) def test_urlopen_no_file_protocol(self): - # see https://github.com/rg3/youtube-dl/issues/8227 + # see https://github.com/ytdl-org/youtube-dl/issues/8227 ydl = YDL() self.assertRaises(compat_urllib_error.URLError, ydl.urlopen, 'file:///etc/passwd') diff --git a/test/test_YoutubeDLCookieJar.py b/test/test_YoutubeDLCookieJar.py index 6a82435..f959798 100644 --- a/test/test_YoutubeDLCookieJar.py +++ b/test/test_YoutubeDLCookieJar.py @@ -29,6 +29,16 @@ class TestYoutubeDLCookieJar(unittest.TestCase): tf.close() os.remove(tf.name) + def test_strip_httponly_prefix(self): + cookiejar = YoutubeDLCookieJar('./test/testdata/cookies/httponly_cookies.txt') + cookiejar.load(ignore_discard=True, ignore_expires=True) + + def assert_cookie_has_value(key): + self.assertEqual(cookiejar._cookies['www.foobar.foobar']['/'][key].value, key + '_VALUE') + + assert_cookie_has_value('HTTPONLY_COOKIE') + assert_cookie_has_value('JS_ACCESSIBLE_COOKIE') + if __name__ == '__main__': unittest.main() diff --git a/test/test_aes.py b/test/test_aes.py index 78a2875..cc89fb6 100644 --- a/test/test_aes.py +++ b/test/test_aes.py @@ -44,16 +44,16 @@ class TestAES(unittest.TestCase): def test_decrypt_text(self): password = intlist_to_bytes(self.key).decode('utf-8') encrypted = base64.b64encode( - intlist_to_bytes(self.iv[:8]) + - b'\x17\x15\x93\xab\x8d\x80V\xcdV\xe0\t\xcdo\xc2\xa5\xd8ksM\r\xe27N\xae' + intlist_to_bytes(self.iv[:8]) + + b'\x17\x15\x93\xab\x8d\x80V\xcdV\xe0\t\xcdo\xc2\xa5\xd8ksM\r\xe27N\xae' ).decode('utf-8') decrypted = (aes_decrypt_text(encrypted, password, 16)) self.assertEqual(decrypted, self.secret_msg) password = intlist_to_bytes(self.key).decode('utf-8') encrypted = base64.b64encode( - intlist_to_bytes(self.iv[:8]) + - b'\x0b\xe6\xa4\xd9z\x0e\xb8\xb9\xd0\xd4i_\x85\x1d\x99\x98_\xe5\x80\xe7.\xbf\xa5\x83' + intlist_to_bytes(self.iv[:8]) + + b'\x0b\xe6\xa4\xd9z\x0e\xb8\xb9\xd0\xd4i_\x85\x1d\x99\x98_\xe5\x80\xe7.\xbf\xa5\x83' ).decode('utf-8') decrypted = (aes_decrypt_text(encrypted, password, 32)) self.assertEqual(decrypted, self.secret_msg) diff --git a/test/test_all_urls.py b/test/test_all_urls.py index cd1cd4b..465ce00 100644 --- a/test/test_all_urls.py +++ b/test/test_all_urls.py @@ -110,7 +110,7 @@ class TestAllURLsMatching(unittest.TestCase): self.assertMatch('https://vimeo.com/user7108434/videos', ['vimeo:user']) self.assertMatch('https://vimeo.com/user21297594/review/75524534/3c257a1b5d', ['vimeo:review']) - # https://github.com/rg3/youtube-dl/issues/1930 + # https://github.com/ytdl-org/youtube-dl/issues/1930 def test_soundcloud_not_matching_sets(self): self.assertMatch('http://soundcloud.com/floex/sets/gone-ep', ['soundcloud:set']) @@ -119,12 +119,12 @@ class TestAllURLsMatching(unittest.TestCase): self.assertMatch('http://tatianamaslanydaily.tumblr.com/post/54196191430', ['Tumblr']) def test_pbs(self): - # https://github.com/rg3/youtube-dl/issues/2350 + # https://github.com/ytdl-org/youtube-dl/issues/2350 self.assertMatch('http://video.pbs.org/viralplayer/2365173446/', ['pbs']) self.assertMatch('http://video.pbs.org/widget/partnerplayer/980042464/', ['pbs']) def test_yahoo_https(self): - # https://github.com/rg3/youtube-dl/issues/2701 + # https://github.com/ytdl-org/youtube-dl/issues/2701 self.assertMatch( 'https://screen.yahoo.com/smartwatches-latest-wearable-gadgets-163745379-cbs.html', ['Yahoo']) diff --git a/test/test_compat.py b/test/test_compat.py index 51fe6aa..86ff389 100644 --- a/test/test_compat.py +++ b/test/test_compat.py @@ -13,6 +13,7 @@ sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from youtube_dl.compat import ( compat_getenv, compat_setenv, + compat_etree_Element, compat_etree_fromstring, compat_expanduser, compat_shlex_split, @@ -90,6 +91,12 @@ class TestCompat(unittest.TestCase): self.assertEqual(compat_shlex_split('-option "one\ntwo" \n -flag'), ['-option', 'one\ntwo', '-flag']) self.assertEqual(compat_shlex_split('-val ä¸æ'), ['-val', 'ä¸æ']) + def test_compat_etree_Element(self): + try: + compat_etree_Element.items + except AttributeError: + self.fail('compat_etree_Element is not a type') + def test_compat_etree_fromstring(self): xml = ''' <root foo="bar" spam="ä¸æ"> diff --git a/test/test_swfinterp.py b/test/test_swfinterp.py index f1e8998..9f18055 100644 --- a/test/test_swfinterp.py +++ b/test/test_swfinterp.py @@ -34,8 +34,8 @@ def _make_testfunc(testfile): def test_func(self): as_file = os.path.join(TEST_DIR, testfile) swf_file = os.path.join(TEST_DIR, test_id + '.swf') - if ((not os.path.exists(swf_file)) or - os.path.getmtime(swf_file) < os.path.getmtime(as_file)): + if ((not os.path.exists(swf_file)) + or os.path.getmtime(swf_file) < os.path.getmtime(as_file)): # Recompile try: subprocess.check_call([ diff --git a/test/test_utils.py b/test/test_utils.py index 9e28e00..71980b3 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -33,11 +33,13 @@ from youtube_dl.utils import ( ExtractorError, find_xpath_attr, fix_xml_ampersands, + float_or_none, get_element_by_class, get_element_by_attribute, get_elements_by_class, get_elements_by_attribute, InAdvancePagedList, + int_or_none, intlist_to_bytes, is_html, js_to_json, @@ -55,6 +57,7 @@ from youtube_dl.utils import ( parse_count, parse_iso8601, parse_resolution, + parse_bitrate, pkcs1pad, read_batch_urls, sanitize_filename, @@ -70,6 +73,7 @@ from youtube_dl.utils import ( smuggle_url, str_to_int, strip_jsonp, + strip_or_none, timeconvert, unescapeHTML, unified_strdate, @@ -180,7 +184,7 @@ class TestUtil(unittest.TestCase): self.assertEqual(sanitize_filename( 'ÃÃÃÃÃà ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÅÃÅÃÃÃÃÅ°ÃÃÃà áâãäåæçèéêëìÃîïðñòóôõöÅøÅùúûüűýþÿ', restricted=True), - 'AAAAAAAECEEEEIIIIDNOOOOOOOOEUUUUUYPssaaaaaaaeceeeeiiiionooooooooeuuuuuypy') + 'AAAAAAAECEEEEIIIIDNOOOOOOOOEUUUUUYTHssaaaaaaaeceeeeiiiionooooooooeuuuuuythy') def test_sanitize_ids(self): self.assertEqual(sanitize_filename('_n_cd26wFpw', is_id=True), '_n_cd26wFpw') @@ -467,6 +471,21 @@ class TestUtil(unittest.TestCase): shell_quote(args), """ffmpeg -i 'ñâ¬Ã'"'"'.mp4'""" if compat_os_name != 'nt' else '''ffmpeg -i "ñâ¬Ã'.mp4"''') + def test_float_or_none(self): + self.assertEqual(float_or_none('42.42'), 42.42) + self.assertEqual(float_or_none('42'), 42.0) + self.assertEqual(float_or_none(''), None) + self.assertEqual(float_or_none(None), None) + self.assertEqual(float_or_none([]), None) + self.assertEqual(float_or_none(set()), None) + + def test_int_or_none(self): + self.assertEqual(int_or_none('42'), 42) + self.assertEqual(int_or_none(''), None) + self.assertEqual(int_or_none(None), None) + self.assertEqual(int_or_none([]), None) + self.assertEqual(int_or_none(set()), None) + def test_str_to_int(self): self.assertEqual(str_to_int('123,456'), 123456) self.assertEqual(str_to_int('123.456'), 123456) @@ -507,6 +526,8 @@ class TestUtil(unittest.TestCase): self.assertEqual(urljoin('http://foo.de/', ''), None) self.assertEqual(urljoin('http://foo.de/', ['foobar']), None) self.assertEqual(urljoin('http://foo.de/a/b/c.txt', '.././../d.txt'), 'http://foo.de/d.txt') + self.assertEqual(urljoin('http://foo.de/a/b/c.txt', 'rtmp://foo.de'), 'rtmp://foo.de') + self.assertEqual(urljoin(None, 'rtmp://foo.de'), 'rtmp://foo.de') def test_url_or_none(self): self.assertEqual(url_or_none(None), None) @@ -732,6 +753,18 @@ class TestUtil(unittest.TestCase): d = json.loads(stripped) self.assertEqual(d, {'status': 'success'}) + def test_strip_or_none(self): + self.assertEqual(strip_or_none(' abc'), 'abc') + self.assertEqual(strip_or_none('abc '), 'abc') + self.assertEqual(strip_or_none(' abc '), 'abc') + self.assertEqual(strip_or_none('\tabc\t'), 'abc') + self.assertEqual(strip_or_none('\n\tabc\n\t'), 'abc') + self.assertEqual(strip_or_none('abc'), 'abc') + self.assertEqual(strip_or_none(''), '') + self.assertEqual(strip_or_none(None), None) + self.assertEqual(strip_or_none(42), None) + self.assertEqual(strip_or_none([]), None) + def test_uppercase_escape(self): self.assertEqual(uppercase_escape('aä'), 'aä') self.assertEqual(uppercase_escape('\\U0001d550'), 'ð') @@ -1028,6 +1061,13 @@ class TestUtil(unittest.TestCase): self.assertEqual(parse_resolution('4k'), {'height': 2160}) self.assertEqual(parse_resolution('8K'), {'height': 4320}) + def test_parse_bitrate(self): + self.assertEqual(parse_bitrate(None), None) + self.assertEqual(parse_bitrate(''), None) + self.assertEqual(parse_bitrate('300kbps'), 300) + self.assertEqual(parse_bitrate('1500kbps'), 1500) + self.assertEqual(parse_bitrate('300 kbps'), 300) + def test_version_tuple(self): self.assertEqual(version_tuple('1'), (1,)) self.assertEqual(version_tuple('10.23.344'), (10, 23, 344)) diff --git a/test/testdata/cookies/httponly_cookies.txt b/test/testdata/cookies/httponly_cookies.txt new file mode 100644 index 0000000..c46541d --- /dev/null +++ b/test/testdata/cookies/httponly_cookies.txt @@ -0,0 +1,6 @@ +# Netscape HTTP Cookie File +# http://curl.haxx.se/rfc/cookie_spec.html +# This is a generated file! Do not edit. + +#HttpOnly_www.foobar.foobar FALSE / TRUE 2147483647 HTTPONLY_COOKIE HTTPONLY_COOKIE_VALUE +www.foobar.foobar FALSE / TRUE 2147483647 JS_ACCESSIBLE_COOKIE JS_ACCESSIBLE_COOKIE_VALUE diff --git a/test/testdata/m3u8/ted_18923.m3u8 b/test/testdata/m3u8/ted_18923.m3u8 new file mode 100644 index 0000000..52a2711 --- /dev/null +++ b/test/testdata/m3u8/ted_18923.m3u8 @@ -0,0 +1,28 @@ +#EXTM3U +#EXT-X-VERSION:4 +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=1255659,PROGRAM-ID=1,CODECS="avc1.42c01e,mp4a.40.2",RESOLUTION=640x360 +/videos/BorisHesser_2018S/video/600k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=163154,PROGRAM-ID=1,CODECS="avc1.42c00c,mp4a.40.2",RESOLUTION=320x180 +/videos/BorisHesser_2018S/video/64k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=481701,PROGRAM-ID=1,CODECS="avc1.42c015,mp4a.40.2",RESOLUTION=512x288 +/videos/BorisHesser_2018S/video/180k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=769968,PROGRAM-ID=1,CODECS="avc1.42c015,mp4a.40.2",RESOLUTION=512x288 +/videos/BorisHesser_2018S/video/320k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=984037,PROGRAM-ID=1,CODECS="avc1.42c015,mp4a.40.2",RESOLUTION=512x288 +/videos/BorisHesser_2018S/video/450k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=1693925,PROGRAM-ID=1,CODECS="avc1.4d401f,mp4a.40.2",RESOLUTION=853x480 +/videos/BorisHesser_2018S/video/950k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=2462469,PROGRAM-ID=1,CODECS="avc1.640028,mp4a.40.2",RESOLUTION=1280x720 +/videos/BorisHesser_2018S/video/1500k.m3u8?nobumpers=true&uniqueId=76011e2b +#EXT-X-STREAM-INF:AUDIO="600k",BANDWIDTH=68101,PROGRAM-ID=1,CODECS="mp4a.40.2",DEFAULT=YES +/videos/BorisHesser_2018S/audio/600k.m3u8?nobumpers=true&uniqueId=76011e2b + +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=74298,PROGRAM-ID=1,CODECS="avc1.42c00c",RESOLUTION=320x180,URI="/videos/BorisHesser_2018S/video/64k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=216200,PROGRAM-ID=1,CODECS="avc1.42c015",RESOLUTION=512x288,URI="/videos/BorisHesser_2018S/video/180k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=304717,PROGRAM-ID=1,CODECS="avc1.42c015",RESOLUTION=512x288,URI="/videos/BorisHesser_2018S/video/320k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=350933,PROGRAM-ID=1,CODECS="avc1.42c015",RESOLUTION=512x288,URI="/videos/BorisHesser_2018S/video/450k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=495850,PROGRAM-ID=1,CODECS="avc1.42c01e",RESOLUTION=640x360,URI="/videos/BorisHesser_2018S/video/600k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=810750,PROGRAM-ID=1,CODECS="avc1.4d401f",RESOLUTION=853x480,URI="/videos/BorisHesser_2018S/video/950k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" +#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1273700,PROGRAM-ID=1,CODECS="avc1.640028",RESOLUTION=1280x720,URI="/videos/BorisHesser_2018S/video/1500k_iframe.m3u8?nobumpers=true&uniqueId=76011e2b" + +#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="600k",LANGUAGE="en",NAME="Audio",AUTOSELECT=YES,DEFAULT=YES,URI="/videos/BorisHesser_2018S/audio/600k.m3u8?nobumpers=true&uniqueId=76011e2b",BANDWIDTH=614400 diff --git a/test/testdata/mpd/unfragmented.mpd b/test/testdata/mpd/unfragmented.mpd new file mode 100644 index 0000000..5a3720b --- /dev/null +++ b/test/testdata/mpd/unfragmented.mpd @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<MPD mediaPresentationDuration="PT54.915S" minBufferTime="PT1.500S" profiles="urn:mpeg:dash:profile:isoff-on-demand:2011" type="static" xmlns="urn:mpeg:dash:schema:mpd:2011"> + <Period duration="PT54.915S"> + <AdaptationSet segmentAlignment="true" subsegmentAlignment="true" subsegmentStartsWithSAP="1"> + <Representation bandwidth="804261" codecs="avc1.4d401e" frameRate="30" height="360" id="VIDEO-1" mimeType="video/mp4" startWithSAP="1" width="360"> + <BaseURL>DASH_360</BaseURL> + <SegmentBase indexRange="915-1114" indexRangeExact="true"> + <Initialization range="0-914"/> + </SegmentBase> + </Representation> + <Representation bandwidth="608000" codecs="avc1.4d401e" frameRate="30" height="240" id="VIDEO-2" mimeType="video/mp4" startWithSAP="1" width="240"> + <BaseURL>DASH_240</BaseURL> + <SegmentBase indexRange="913-1112" indexRangeExact="true"> + <Initialization range="0-912"/> + </SegmentBase> + </Representation> + </AdaptationSet> + <AdaptationSet> + <Representation audioSamplingRate="48000" bandwidth="129870" codecs="mp4a.40.2" id="AUDIO-1" mimeType="audio/mp4" startWithSAP="1"> + <AudioChannelConfiguration schemeIdUri="urn:mpeg:dash:23003:3:audio_channel_configuration:2011" value="2"/> + <BaseURL>audio</BaseURL> + <SegmentBase indexRange="832-1007" indexRangeExact="true"> + <Initialization range="0-831"/> + </SegmentBase> + </Representation> + </AdaptationSet> + </Period> +</MPD> diff --git a/youtube-dl b/youtube-dl index e1f15af873a32c3be121216fd5cea546b37b1bc6..a8cb5c1b0a92131cce9d4940ae71fe227d7bca4f 100755 GIT binary patch delta 692287 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%0Ao6^Im~b`!u&?beU#9BocT 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�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,R{`6>hxS+}zj< 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%0AV7+I0-^kj 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%0DY_O5e@|4!=7lNx^xm=>k7 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 QW9hyQ`g&uxVlS)rf6n<pKmY&$ delta 654355 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%0A8Y$ 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 RF<E1*(;&6|Ch$qMzX5;76VCtu diff --git a/youtube-dl.1 b/youtube-dl.1 index cb8f218..119ecd2 100644 --- a/youtube-dl.1 +++ b/youtube-dl.1 @@ -1323,18 +1323,24 @@ format of a particular file extension served as a single file, e.g. \f[C]webm\f[] extension served as a single file. .PP You can also use special names to select particular edge case formats: -\- \f[C]best\f[]: Select the best quality format represented by a single +.IP \[bu] 2 +\f[C]best\f[]: Select the best quality format represented by a single +file with video and audio. +.IP \[bu] 2 +\f[C]worst\f[]: Select the worst quality format represented by a single file with video and audio. -\- \f[C]worst\f[]: Select the worst quality format represented by a -single file with video and audio. -\- \f[C]bestvideo\f[]: Select the best quality video\-only format (e.g. +.IP \[bu] 2 +\f[C]bestvideo\f[]: Select the best quality video\-only format (e.g. DASH video). May not be available. -\- \f[C]worstvideo\f[]: Select the worst quality video\-only format. +.IP \[bu] 2 +\f[C]worstvideo\f[]: Select the worst quality video\-only format. May not be available. -\- \f[C]bestaudio\f[]: Select the best quality audio only\-format. +.IP \[bu] 2 +\f[C]bestaudio\f[]: Select the best quality audio only\-format. May not be available. -\- \f[C]worstaudio\f[]: Select the worst quality audio only\-format. +.IP \[bu] 2 +\f[C]worstaudio\f[]: Select the worst quality audio only\-format. May not be available. .PP For example, to download the worst quality video\-only format you can @@ -1363,25 +1369,47 @@ brackets, as in \f[C]\-f\ "best[height=720]"\f[] (or .PP The following numeric meta fields can be used with comparisons \f[C]<\f[], \f[C]<=\f[], \f[C]>\f[], \f[C]>=\f[], \f[C]=\f[] (equals), -\f[C]!=\f[] (not equals): \- \f[C]filesize\f[]: The number of bytes, if -known in advance \- \f[C]width\f[]: Width of the video, if known \- -\f[C]height\f[]: Height of the video, if known \- \f[C]tbr\f[]: Average -bitrate of audio and video in KBit/s \- \f[C]abr\f[]: Average audio -bitrate in KBit/s \- \f[C]vbr\f[]: Average video bitrate in KBit/s \- -\f[C]asr\f[]: Audio sampling rate in Hertz \- \f[C]fps\f[]: Frame rate -.PP -Also filtering work for comparisons \f[C]=\f[] (equals), \f[C]!=\f[] -(not equals), \f[C]^=\f[] (begins with), \f[C]$=\f[] (ends with), -\f[C]*=\f[] (contains) and following string meta fields: \- -\f[C]ext\f[]: File extension \- \f[C]acodec\f[]: Name of the audio codec -in use \- \f[C]vcodec\f[]: Name of the video codec in use \- -\f[C]container\f[]: Name of the container format \- \f[C]protocol\f[]: -The protocol that will be used for the actual download, lower\-case -(\f[C]http\f[], \f[C]https\f[], \f[C]rtsp\f[], \f[C]rtmp\f[], -\f[C]rtmpe\f[], \f[C]mms\f[], \f[C]f4m\f[], \f[C]ism\f[], -\f[C]http_dash_segments\f[], \f[C]m3u8\f[], or \f[C]m3u8_native\f[]) \- +\f[C]!=\f[] (not equals): +.IP \[bu] 2 +\f[C]filesize\f[]: The number of bytes, if known in advance +.IP \[bu] 2 +\f[C]width\f[]: Width of the video, if known +.IP \[bu] 2 +\f[C]height\f[]: Height of the video, if known +.IP \[bu] 2 +\f[C]tbr\f[]: Average bitrate of audio and video in KBit/s +.IP \[bu] 2 +\f[C]abr\f[]: Average audio bitrate in KBit/s +.IP \[bu] 2 +\f[C]vbr\f[]: Average video bitrate in KBit/s +.IP \[bu] 2 +\f[C]asr\f[]: Audio sampling rate in Hertz +.IP \[bu] 2 +\f[C]fps\f[]: Frame rate +.PP +Also filtering work for comparisons \f[C]=\f[] (equals), \f[C]^=\f[] +(starts with), \f[C]$=\f[] (ends with), \f[C]*=\f[] (contains) and +following string meta fields: +.IP \[bu] 2 +\f[C]ext\f[]: File extension +.IP \[bu] 2 +\f[C]acodec\f[]: Name of the audio codec in use +.IP \[bu] 2 +\f[C]vcodec\f[]: Name of the video codec in use +.IP \[bu] 2 +\f[C]container\f[]: Name of the container format +.IP \[bu] 2 +\f[C]protocol\f[]: The protocol that will be used for the actual +download, lower\-case (\f[C]http\f[], \f[C]https\f[], \f[C]rtsp\f[], +\f[C]rtmp\f[], \f[C]rtmpe\f[], \f[C]mms\f[], \f[C]f4m\f[], \f[C]ism\f[], +\f[C]http_dash_segments\f[], \f[C]m3u8\f[], or \f[C]m3u8_native\f[]) +.IP \[bu] 2 \f[C]format_id\f[]: A short description of the format .PP +Any string comparison may be prefixed with negation \f[C]!\f[] in order +to produce an opposite comparison, e.g. +\f[C]!*=\f[] (does not contain). +.PP Note that none of the aforementioned meta fields are guaranteed to be present since this solely depends on the metadata obtained by particular extractor, i.e. @@ -1406,8 +1434,8 @@ than 480 you can use \f[C]\-f\ \[aq](mp4,webm)[height<480]\[aq]\f[]. .PP Since the end of April 2015 and version 2015.04.26, youtube\-dl uses \f[C]\-f\ bestvideo+bestaudio/best\f[] as the default format selection -(see #5447 (https://github.com/rg3/youtube-dl/issues/5447), -#5456 (https://github.com/rg3/youtube-dl/issues/5456)). +(see #5447 (https://github.com/ytdl-org/youtube-dl/issues/5447), +#5456 (https://github.com/ytdl-org/youtube-dl/issues/5456)). If ffmpeg or avconv are installed this results in downloading \f[C]bestvideo\f[] and \f[C]bestaudio\f[] separately and muxing them together into a single file giving the best overall quality available. @@ -1443,7 +1471,7 @@ single. #\ Download\ best\ mp4\ format\ available\ or\ any\ other\ best\ if\ no\ mp4\ available $\ youtube\-dl\ \-f\ \[aq]bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best\[aq] -#\ Download\ best\ format\ available\ but\ not\ better\ that\ 480p +#\ Download\ best\ format\ available\ but\ no\ better\ than\ 480p $\ youtube\-dl\ \-f\ \[aq]bestvideo[height<=480]+bestaudio/best[height<=480]\[aq] #\ Download\ best\ video\ only\ format\ but\ no\ bigger\ than\ 50\ MB @@ -1488,8 +1516,8 @@ $\ youtube\-dl\ \-\-dateafter\ 20000101\ \-\-datebefore\ 20091231 .SS How do I update youtube\-dl? .PP If you\[aq]ve followed our manual installation -instructions (https://rg3.github.io/youtube-dl/download.html), you can -simply run \f[C]youtube\-dl\ \-U\f[] (or, on Linux, +instructions (https://ytdl-org.github.io/youtube-dl/download.html), you +can simply run \f[C]youtube\-dl\ \-U\f[] (or, on Linux, \f[C]sudo\ youtube\-dl\ \-U\f[]). .PP If you have used pip, a simple @@ -1518,7 +1546,7 @@ sudo\ apt\-get\ remove\ \-y\ youtube\-dl .fi .PP Afterwards, simply follow our manual installation -instructions (https://rg3.github.io/youtube-dl/download.html): +instructions (https://ytdl-org.github.io/youtube-dl/download.html): .IP .nf \f[C] @@ -1585,7 +1613,7 @@ this? Apparently YouTube requires you to pass a CAPTCHA test if you download too much. We\[aq]re considering to provide a way to let you solve the -CAPTCHA (https://github.com/rg3/youtube-dl/issues/154), but at the +CAPTCHA (https://github.com/ytdl-org/youtube-dl/issues/154), but at the moment, your best course of action is pointing a web browser to the youtube URL, solving the CAPTCHA, and restart youtube\-dl. .SS Do I need any other programs? @@ -1702,10 +1730,11 @@ means you\[aq]re using an outdated version of Python. Please update to Python 2.6 or 2.7. .SS What is this binary file? Where has the code gone? .PP -Since June 2012 (#342 (https://github.com/rg3/youtube-dl/issues/342)) -youtube\-dl is packed as an executable zipfile, simply unzip it (might -need renaming to \f[C]youtube\-dl.zip\f[] first on some systems) or -clone the git repository, as laid out above. +Since June 2012 +(#342 (https://github.com/ytdl-org/youtube-dl/issues/342)) youtube\-dl +is packed as an executable zipfile, simply unzip it (might need renaming +to \f[C]youtube\-dl.zip\f[] first on some systems) or clone the git +repository, as laid out above. If you modify the code, you can run it by executing the \f[C]__main__.py\f[] file. To recompile the executable, run \f[C]make\ youtube\-dl\f[]. @@ -1838,7 +1867,7 @@ improvements of the built\-in downloader and/or ffmpeg. .PP In particular, the generic extractor (used when your website is not in the list of supported sites by -youtube\-dl (https://rg3.github.io/youtube-dl/supportedsites.html) +youtube\-dl (https://ytdl-org.github.io/youtube-dl/supportedsites.html) cannot mandate one specific downloader. .PP If you put either \f[C]\-\-hls\-prefer\-native\f[] or @@ -1951,8 +1980,8 @@ such as checking that your version of youtube\-dl is current. .SH DEVELOPER INSTRUCTIONS .PP Most users do not need to build youtube\-dl and can download the -builds (https://rg3.github.io/youtube-dl/download.html) or get them from -their distribution. +builds (https://ytdl-org.github.io/youtube-dl/download.html) or get them +from their distribution. .PP To run youtube\-dl as a developer, you don\[aq]t need to build anything either. @@ -2001,7 +2030,7 @@ After you have ensured this site is distributing its content legally, you can follow this quick list (assuming your service is called \f[C]yourextractor\f[]): .IP " 1." 4 -Fork this repository (https://github.com/rg3/youtube-dl/fork) +Fork this repository (https://github.com/ytdl-org/youtube-dl/fork) .IP " 2." 4 Check out the source code with: .RS 4 @@ -2073,7 +2102,7 @@ class\ YourExtractorIE(InfoExtractor): .RE .IP " 5." 4 Add an import in -\f[C]youtube_dl/extractor/extractors.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/extractors.py). +\f[C]youtube_dl/extractor/extractors.py\f[] (https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/extractors.py). .IP " 6." 4 Run \f[C]python\ test/test_download.py\ TestDownload.test_YourExtractor\f[]. @@ -2088,10 +2117,10 @@ Note that tests with \f[C]only_matching\f[] key in test\[aq]s dict are not counted in. .IP " 7." 4 Have a look at -\f[C]youtube_dl/extractor/common.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/extractor/common.py) +\f[C]youtube_dl/extractor/common.py\f[] (https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/extractor/common.py) for possible helper methods and a detailed description of what your extractor should and may -return (https://github.com/rg3/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303). +return (https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303). Add tests and code for as many as you want. .IP " 8." 4 Make sure your code follows youtube\-dl coding conventions and check the @@ -2153,7 +2182,7 @@ update at all. .PP For extraction to work youtube\-dl relies on metadata your extractor extracts and provides to youtube\-dl expressed by an information -dictionary (https://github.com/rg3/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303) +dictionary (https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L94-L303) or simply \f[I]info dict\f[]. Only the following meta fields in the \f[I]info dict\f[] are considered mandatory for a successful extraction process by youtube\-dl: @@ -2174,7 +2203,7 @@ extraction does not make any sense without and if any of them fail to be extracted then the extractor is considered completely broken. .PP Any -field (https://github.com/rg3/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L188-L303) +field (https://github.com/ytdl-org/youtube-dl/blob/7f41a598b3fba1bcab2817de64a08941200aa3c8/youtube_dl/extractor/common.py#L188-L303) apart from the aforementioned ones are considered \f[B]optional\f[]. That means that extraction should be \f[B]tolerant\f[] to situations when sources for these fields can potentially be unavailable (even if @@ -2394,10 +2423,10 @@ Incorrect: \[aq]PLMYEtVRpaqY00V9W81Cwmzp6N6vZqfUKD4\[aq] \f[] .fi -.SS Use safe conversion functions +.SS Use convenience conversion and parsing functions .PP Wrap all extracted numeric data into safe functions from -\f[C]youtube_dl/utils.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py): +\f[C]youtube_dl/utils.py\f[] (https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py): \f[C]int_or_none\f[], \f[C]float_or_none\f[]. Use them for string to number conversions as well. .PP @@ -2405,8 +2434,16 @@ Use \f[C]url_or_none\f[] for safe URL processing. .PP Use \f[C]try_get\f[] for safe metadata extraction from parsed JSON. .PP +Use \f[C]unified_strdate\f[] for uniform \f[C]upload_date\f[] or any +\f[C]YYYYMMDD\f[] meta field extraction, \f[C]unified_timestamp\f[] for +uniform \f[C]timestamp\f[] extraction, \f[C]parse_filesize\f[] for +\f[C]filesize\f[] extraction, \f[C]parse_count\f[] for count meta fields +extraction, \f[C]parse_resolution\f[], \f[C]parse_duration\f[] for +\f[C]duration\f[] extraction, \f[C]parse_age_limit\f[] for +\f[C]age_limit\f[] extraction. +.PP Explore -\f[C]youtube_dl/utils.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py) +\f[C]youtube_dl/utils.py\f[] (https://github.com/ytdl-org/youtube-dl/blob/master/youtube_dl/utils.py) for more useful convenience functions. .SS More examples .SS Safely extract optional description from parsed JSON @@ -2431,7 +2468,7 @@ view_count\ =\ int_or_none(video.get(\[aq]views\[aq])) youtube\-dl makes the best effort to be a good command\-line program, and thus should be callable from any programming language. If you encounter any problems parsing its output, feel free to create a -report (https://github.com/rg3/youtube-dl/issues/new). +report (https://github.com/ytdl-org/youtube-dl/issues/new). .PP From a Python program, you can embed youtube\-dl in a more powerful fashion, like this: @@ -2449,7 +2486,7 @@ with\ youtube_dl.YoutubeDL(ydl_opts)\ as\ ydl: .PP Most likely, you\[aq]ll want to use various options. For a list of options available, have a look at -\f[C]youtube_dl/YoutubeDL.py\f[] (https://github.com/rg3/youtube-dl/blob/3e4cedf9e8cd3157df2457df7274d0c842421945/youtube_dl/YoutubeDL.py#L137-L312). +\f[C]youtube_dl/YoutubeDL.py\f[] (https://github.com/ytdl-org/youtube-dl/blob/3e4cedf9e8cd3157df2457df7274d0c842421945/youtube_dl/YoutubeDL.py#L137-L312). For a start, if you want to intercept youtube\-dl\[aq]s output, set a \f[C]logger\f[] object. .PP @@ -2496,7 +2533,7 @@ with\ youtube_dl.YoutubeDL(ydl_opts)\ as\ ydl: .SH BUGS .PP Bugs and suggestions should be reported at: -<https://github.com/rg3/youtube-dl/issues>. +<https://github.com/ytdl-org/youtube-dl/issues>. Unless you were prompted to or there is another pertinent reason (e.g. GitHub fails to accept the bug report), please do not send bug reports via personal email. @@ -2598,8 +2635,8 @@ This goes for feature requests as well. Make sure that someone has not already opened the issue you\[aq]re trying to open. Search at the top of the window or browse the GitHub -Issues (https://github.com/rg3/youtube-dl/search?type=Issues) of this -repository. +Issues (https://github.com/ytdl-org/youtube-dl/search?type=Issues) of +this repository. If there is an issue, feel free to write something along the lines of "This affects me as well, with version 2015.01.01. Here is some more information on the issue: ...". @@ -2609,7 +2646,7 @@ activity. .PP Before requesting a new feature, please have a quick peek at the list of supported -options (https://github.com/rg3/youtube-dl/blob/master/README.md#options). +options (https://github.com/ytdl-org/youtube-dl/blob/master/README.md#options). Many feature requests are for features that actually exist already! Please, absolutely do show off your work in the issue report and detail how the existing similar options do \f[I]not\f[] solve your problem. diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 4493fd0..3e832fe 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -82,6 +82,7 @@ from .utils import ( sanitize_url, sanitized_Request, std_headers, + str_or_none, subtitles_filename, UnavailableVideoError, url_basename, @@ -308,6 +309,8 @@ class YoutubeDL(object): The following options are used by the post processors: prefer_ffmpeg: If False, use avconv instead of ffmpeg if both are available, otherwise prefer ffmpeg. + ffmpeg_location: Location of the ffmpeg/avconv binary; either the path + to the binary or its containing directory. postprocessor_args: A list of additional command-line arguments for the postprocessor. @@ -397,9 +400,9 @@ class YoutubeDL(object): else: raise - if (sys.platform != 'win32' and - sys.getfilesystemencoding() in ['ascii', 'ANSI_X3.4-1968'] and - not params.get('restrictfilenames', False)): + if (sys.platform != 'win32' + and sys.getfilesystemencoding() in ['ascii', 'ANSI_X3.4-1968'] + and not params.get('restrictfilenames', False)): # Unicode filesystem API will throw errors (#1474, #13027) self.report_warning( 'Assuming --restrict-filenames since file system encoding ' @@ -437,9 +440,9 @@ class YoutubeDL(object): if re.match(r'^-[0-9A-Za-z_-]{10}$', a)] if idxs: correct_argv = ( - ['youtube-dl'] + - [a for i, a in enumerate(argv) if i not in idxs] + - ['--'] + [argv[i] for i in idxs] + ['youtube-dl'] + + [a for i, a in enumerate(argv) if i not in idxs] + + ['--'] + [argv[i] for i in idxs] ) self.report_warning( 'Long argument string detected. ' @@ -847,8 +850,8 @@ class YoutubeDL(object): if result_type in ('url', 'url_transparent'): ie_result['url'] = sanitize_url(ie_result['url']) extract_flat = self.params.get('extract_flat', False) - if ((extract_flat == 'in_playlist' and 'playlist' in extra_info) or - extract_flat is True): + if ((extract_flat == 'in_playlist' and 'playlist' in extra_info) + or extract_flat is True): if self.params.get('forcejson', False): self.to_stdout(json.dumps(ie_result)) return ie_result @@ -888,7 +891,7 @@ class YoutubeDL(object): # url_transparent. In such cases outer metadata (from ie_result) # should be propagated to inner one (info). For this to happen # _type of info should be overridden with url_transparent. This - # fixes issue from https://github.com/rg3/youtube-dl/pull/11163. + # fixes issue from https://github.com/ytdl-org/youtube-dl/pull/11163. if new_result.get('_type') == 'url': new_result['_type'] = 'url_transparent' @@ -1063,21 +1066,24 @@ class YoutubeDL(object): if not m: STR_OPERATORS = { '=': operator.eq, - '!=': operator.ne, '^=': lambda attr, value: attr.startswith(value), '$=': lambda attr, value: attr.endswith(value), '*=': lambda attr, value: value in attr, } str_operator_rex = re.compile(r'''(?x) \s*(?P<key>ext|acodec|vcodec|container|protocol|format_id) - \s*(?P<op>%s)(?P<none_inclusive>\s*\?)? + \s*(?P<negation>!\s*)?(?P<op>%s)(?P<none_inclusive>\s*\?)? \s*(?P<value>[a-zA-Z0-9._-]+) \s*$ ''' % '|'.join(map(re.escape, STR_OPERATORS.keys()))) m = str_operator_rex.search(filter_spec) if m: comparison_value = m.group('value') - op = STR_OPERATORS[m.group('op')] + str_op = STR_OPERATORS[m.group('op')] + if m.group('negation'): + op = lambda attr, value: not str_op(attr, value) + else: + op = str_op if not m: raise ValueError('Invalid filter specification %r' % filter_spec) @@ -1602,7 +1608,7 @@ class YoutubeDL(object): # by extractor are incomplete or not (i.e. whether extractor provides only # video-only or audio-only formats) for proper formats selection for # extractors with such incomplete formats (see - # https://github.com/rg3/youtube-dl/pull/5556). + # https://github.com/ytdl-org/youtube-dl/pull/5556). # Since formats may be filtered during format selection and may not match # the original formats the results may be incorrect. Thus original formats # or pre-calculated metrics should be passed to format selection routines @@ -1610,12 +1616,12 @@ class YoutubeDL(object): # We will pass a context object containing all necessary additional data # instead of just formats. # This fixes incorrect format selection issue (see - # https://github.com/rg3/youtube-dl/issues/10083). + # https://github.com/ytdl-org/youtube-dl/issues/10083). incomplete_formats = ( # All formats are video-only or - all(f.get('vcodec') != 'none' and f.get('acodec') == 'none' for f in formats) or + all(f.get('vcodec') != 'none' and f.get('acodec') == 'none' for f in formats) # all formats are audio-only - all(f.get('vcodec') == 'none' and f.get('acodec') != 'none' for f in formats)) + or all(f.get('vcodec') == 'none' and f.get('acodec') != 'none' for f in formats)) ctx = { 'formats': formats, @@ -1806,7 +1812,7 @@ class YoutubeDL(object): if sub_info.get('data') is not None: try: # Use newline='' to prevent conversion of newline characters - # See https://github.com/rg3/youtube-dl/issues/10268 + # See https://github.com/ytdl-org/youtube-dl/issues/10268 with io.open(encodeFilename(sub_filename), 'w', encoding='utf-8', newline='') as subfile: subfile.write(sub_info['data']) except (OSError, IOError): @@ -1941,8 +1947,8 @@ class YoutubeDL(object): else: assert fixup_policy in ('ignore', 'never') - if (info_dict.get('requested_formats') is None and - info_dict.get('container') == 'm4a_dash'): + if (info_dict.get('requested_formats') is None + and info_dict.get('container') == 'm4a_dash'): if fixup_policy == 'warn': self.report_warning( '%s: writing DASH m4a. ' @@ -1961,9 +1967,9 @@ class YoutubeDL(object): else: assert fixup_policy in ('ignore', 'never') - if (info_dict.get('protocol') == 'm3u8_native' or - info_dict.get('protocol') == 'm3u8' and - self.params.get('hls_prefer_native')): + if (info_dict.get('protocol') == 'm3u8_native' + or info_dict.get('protocol') == 'm3u8' + and self.params.get('hls_prefer_native')): if fixup_policy == 'warn': self.report_warning('%s: malformed AAC bitstream detected.' % ( info_dict['id'])) @@ -1989,10 +1995,10 @@ class YoutubeDL(object): def download(self, url_list): """Download a given list of URLs.""" outtmpl = self.params.get('outtmpl', DEFAULT_OUTTMPL) - if (len(url_list) > 1 and - outtmpl != '-' and - '%' not in outtmpl and - self.params.get('max_downloads') != 1): + if (len(url_list) > 1 + and outtmpl != '-' + and '%' not in outtmpl + and self.params.get('max_downloads') != 1): raise SameFileError(outtmpl) for url in url_list: @@ -2057,15 +2063,24 @@ class YoutubeDL(object): self.report_warning('Unable to remove downloaded original file') def _make_archive_id(self, info_dict): + video_id = info_dict.get('id') + if not video_id: + return # Future-proof against any change in case # and backwards compatibility with prior versions - extractor = info_dict.get('extractor_key') + extractor = info_dict.get('extractor_key') or info_dict.get('ie_key') # key in a playlist if extractor is None: - if 'id' in info_dict: - extractor = info_dict.get('ie_key') # key in a playlist - if extractor is None: - return None # Incomplete video information - return extractor.lower() + ' ' + info_dict['id'] + url = str_or_none(info_dict.get('url')) + if not url: + return + # Try to find matching extractor for the URL and take its ie_key + for ie in self._ies: + if ie.suitable(url): + extractor = ie.ie_key() + break + else: + return + return extractor.lower() + ' ' + video_id def in_download_archive(self, info_dict): fn = self.params.get('download_archive') @@ -2073,7 +2088,7 @@ class YoutubeDL(object): return False vid_id = self._make_archive_id(info_dict) - if vid_id is None: + if not vid_id: return False # Incomplete video information try: @@ -2128,8 +2143,8 @@ class YoutubeDL(object): if res: res += ', ' res += '%s container' % fdict['container'] - if (fdict.get('vcodec') is not None and - fdict.get('vcodec') != 'none'): + if (fdict.get('vcodec') is not None + and fdict.get('vcodec') != 'none'): if res: res += ', ' res += fdict['vcodec'] @@ -2216,7 +2231,7 @@ class YoutubeDL(object): return if type('') is not compat_str: - # Python 2.6 on SLES11 SP1 (https://github.com/rg3/youtube-dl/issues/3326) + # Python 2.6 on SLES11 SP1 (https://github.com/ytdl-org/youtube-dl/issues/3326) self.report_warning( 'Your Python is broken! Update to a newer and supported version') @@ -2310,7 +2325,7 @@ class YoutubeDL(object): proxies = {'http': opts_proxy, 'https': opts_proxy} else: proxies = compat_urllib_request.getproxies() - # Set HTTPS proxy to HTTP one if given (https://github.com/rg3/youtube-dl/issues/805) + # Set HTTPS proxy to HTTP one if given (https://github.com/ytdl-org/youtube-dl/issues/805) if 'http' in proxies and 'https' not in proxies: proxies['https'] = proxies['http'] proxy_handler = PerRequestProxyHandler(proxies) @@ -2323,7 +2338,7 @@ class YoutubeDL(object): # When passing our own FileHandler instance, build_opener won't add the # default FileHandler and allows us to disable the file protocol, which # can be used for malicious purposes (see - # https://github.com/rg3/youtube-dl/issues/8227) + # https://github.com/ytdl-org/youtube-dl/issues/8227) file_handler = compat_urllib_request.FileHandler() def file_open(*args, **kwargs): @@ -2335,7 +2350,7 @@ class YoutubeDL(object): # Delete the default user-agent header, which would otherwise apply in # cases where our custom HTTP handler doesn't come into play - # (See https://github.com/rg3/youtube-dl/issues/1309 for details) + # (See https://github.com/ytdl-org/youtube-dl/issues/1309 for details) opener.addheaders = [] self._opener = opener diff --git a/youtube_dl/__init__.py b/youtube_dl/__init__.py index ba435ea..165c975 100644 --- a/youtube_dl/__init__.py +++ b/youtube_dl/__init__.py @@ -48,7 +48,7 @@ from .YoutubeDL import YoutubeDL def _real_main(argv=None): # Compatibility fixes for Windows if sys.platform == 'win32': - # https://github.com/rg3/youtube-dl/issues/820 + # https://github.com/ytdl-org/youtube-dl/issues/820 codecs.register(lambda name: codecs.lookup('utf-8') if name == 'cp65001' else None) workaround_optparse_bug9161() @@ -166,6 +166,8 @@ def _real_main(argv=None): if opts.max_sleep_interval is not None: if opts.max_sleep_interval < 0: parser.error('max sleep interval must be positive or 0') + if opts.sleep_interval is None: + parser.error('min sleep interval must be specified, use --min-sleep-interval') if opts.max_sleep_interval < opts.sleep_interval: parser.error('max sleep interval must be greater than or equal to min sleep interval') else: @@ -228,14 +230,14 @@ def _real_main(argv=None): if opts.allsubtitles and not opts.writeautomaticsub: opts.writesubtitles = True - outtmpl = ((opts.outtmpl is not None and opts.outtmpl) or - (opts.format == '-1' and opts.usetitle and '%(title)s-%(id)s-%(format)s.%(ext)s') or - (opts.format == '-1' and '%(id)s-%(format)s.%(ext)s') or - (opts.usetitle and opts.autonumber and '%(autonumber)s-%(title)s-%(id)s.%(ext)s') or - (opts.usetitle and '%(title)s-%(id)s.%(ext)s') or - (opts.useid and '%(id)s.%(ext)s') or - (opts.autonumber and '%(autonumber)s-%(id)s.%(ext)s') or - DEFAULT_OUTTMPL) + outtmpl = ((opts.outtmpl is not None and opts.outtmpl) + or (opts.format == '-1' and opts.usetitle and '%(title)s-%(id)s-%(format)s.%(ext)s') + or (opts.format == '-1' and '%(id)s-%(format)s.%(ext)s') + or (opts.usetitle and opts.autonumber and '%(autonumber)s-%(title)s-%(id)s.%(ext)s') + or (opts.usetitle and '%(title)s-%(id)s.%(ext)s') + or (opts.useid and '%(id)s.%(ext)s') + or (opts.autonumber and '%(autonumber)s-%(id)s.%(ext)s') + or DEFAULT_OUTTMPL) if not os.path.splitext(outtmpl)[1] and opts.extractaudio: parser.error('Cannot download a video and extract audio into the same' ' file! Use "{0}.%(ext)s" instead of "{0}" as the output' diff --git a/youtube_dl/compat.py b/youtube_dl/compat.py index 7b77034..c75ab13 100644 --- a/youtube_dl/compat.py +++ b/youtube_dl/compat.py @@ -2364,7 +2364,7 @@ except ImportError: # Python 2 # HACK: The following are the correct unquote_to_bytes, unquote and unquote_plus # implementations from cpython 3.4.3's stdlib. Python 2's version - # is apparently broken (see https://github.com/rg3/youtube-dl/pull/6244) + # is apparently broken (see https://github.com/ytdl-org/youtube-dl/pull/6244) def compat_urllib_parse_unquote_to_bytes(string): """unquote_to_bytes('abc%20def') -> b'abc def'.""" @@ -2508,6 +2508,15 @@ class _TreeBuilder(etree.TreeBuilder): pass +try: + # xml.etree.ElementTree.Element is a method in Python <=2.6 and + # the following will crash with: + # TypeError: isinstance() arg 2 must be a class, type, or tuple of classes and types + isinstance(None, xml.etree.ElementTree.Element) + from xml.etree.ElementTree import Element as compat_etree_Element +except TypeError: # Python <=2.6 + from xml.etree.ElementTree import _ElementInterface as compat_etree_Element + if sys.version_info[0] >= 3: def compat_etree_fromstring(text): return etree.XML(text, parser=etree.XMLParser(target=_TreeBuilder())) @@ -2640,9 +2649,9 @@ else: try: args = shlex.split('ä¸æ') - assert (isinstance(args, list) and - isinstance(args[0], compat_str) and - args[0] == 'ä¸æ') + assert (isinstance(args, list) + and isinstance(args[0], compat_str) + and args[0] == 'ä¸æ') compat_shlex_split = shlex.split except (AssertionError, UnicodeEncodeError): # Working around shlex issue with unicode strings on some python 2 @@ -2819,7 +2828,7 @@ else: compat_socket_create_connection = socket.create_connection -# Fix https://github.com/rg3/youtube-dl/issues/4223 +# Fix https://github.com/ytdl-org/youtube-dl/issues/4223 # See http://bugs.python.org/issue9161 for what is broken def workaround_optparse_bug9161(): op = optparse.OptionParser() @@ -2944,7 +2953,7 @@ if platform.python_implementation() == 'PyPy' and sys.pypy_version_info < (5, 4, # PyPy2 prior to version 5.4.0 expects byte strings as Windows function # names, see the original PyPy issue [1] and the youtube-dl one [2]. # 1. https://bitbucket.org/pypy/pypy/issues/2360/windows-ctypescdll-typeerror-function-name - # 2. https://github.com/rg3/youtube-dl/pull/4392 + # 2. https://github.com/ytdl-org/youtube-dl/pull/4392 def compat_ctypes_WINFUNCTYPE(*args, **kwargs): real = ctypes.WINFUNCTYPE(*args, **kwargs) @@ -2969,6 +2978,7 @@ __all__ = [ 'compat_cookiejar', 'compat_cookies', 'compat_ctypes_WINFUNCTYPE', + 'compat_etree_Element', 'compat_etree_fromstring', 'compat_etree_register_namespace', 'compat_expanduser', diff --git a/youtube_dl/downloader/common.py b/youtube_dl/downloader/common.py index 5979833..1cdba89 100644 --- a/youtube_dl/downloader/common.py +++ b/youtube_dl/downloader/common.py @@ -176,7 +176,9 @@ class FileDownloader(object): return speed = float(byte_counter) / elapsed if speed > rate_limit: - time.sleep(max((byte_counter // rate_limit) - elapsed, 0)) + sleep_time = float(byte_counter) / rate_limit - elapsed + if sleep_time > 0: + time.sleep(sleep_time) def temp_name(self, filename): """Returns a temporary filename for the given filename.""" @@ -330,15 +332,15 @@ class FileDownloader(object): """ nooverwrites_and_exists = ( - self.params.get('nooverwrites', False) and - os.path.exists(encodeFilename(filename)) + self.params.get('nooverwrites', False) + and os.path.exists(encodeFilename(filename)) ) if not hasattr(filename, 'write'): continuedl_and_exists = ( - self.params.get('continuedl', True) and - os.path.isfile(encodeFilename(filename)) and - not self.params.get('nopart', False) + self.params.get('continuedl', True) + and os.path.isfile(encodeFilename(filename)) + and not self.params.get('nopart', False) ) # Check file already present diff --git a/youtube_dl/downloader/external.py b/youtube_dl/downloader/external.py index 958d00a..acdb277 100644 --- a/youtube_dl/downloader/external.py +++ b/youtube_dl/downloader/external.py @@ -121,7 +121,11 @@ class CurlFD(ExternalFD): cmd += self._valueless_option('--silent', 'noprogress') cmd += self._valueless_option('--verbose', 'verbose') cmd += self._option('--limit-rate', 'ratelimit') - cmd += self._option('--retry', 'retries') + retry = self._option('--retry', 'retries') + if len(retry) == 2: + if retry[1] in ('inf', 'infinite'): + retry[1] = '2147483647' + cmd += retry cmd += self._option('--max-filesize', 'max_filesize') cmd += self._option('--interface', 'source_address') cmd += self._option('--proxy', 'proxy') @@ -160,6 +164,12 @@ class WgetFD(ExternalFD): cmd = [self.exe, '-O', tmpfilename, '-nv', '--no-cookies'] for key, val in info_dict['http_headers'].items(): cmd += ['--header', '%s: %s' % (key, val)] + cmd += self._option('--limit-rate', 'ratelimit') + retry = self._option('--tries', 'retries') + if len(retry) == 2: + if retry[1] in ('inf', 'infinite'): + retry[1] = '0' + cmd += retry cmd += self._option('--bind-address', 'source_address') cmd += self._option('--proxy', 'proxy') cmd += self._valueless_option('--no-check-certificate', 'nocheckcertificate') @@ -229,7 +239,7 @@ class FFmpegFD(ExternalFD): # setting -seekable prevents ffmpeg from guessing if the server # supports seeking(by adding the header `Range: bytes=0-`), which # can cause problems in some cases - # https://github.com/rg3/youtube-dl/issues/11800#issuecomment-275037127 + # https://github.com/ytdl-org/youtube-dl/issues/11800#issuecomment-275037127 # http://trac.ffmpeg.org/ticket/6125#comment:10 args += ['-seekable', '1' if seekable else '0'] @@ -279,6 +289,7 @@ class FFmpegFD(ExternalFD): tc_url = info_dict.get('tc_url') flash_version = info_dict.get('flash_version') live = info_dict.get('rtmp_live', False) + conn = info_dict.get('rtmp_conn') if player_url is not None: args += ['-rtmp_swfverify', player_url] if page_url is not None: @@ -293,6 +304,11 @@ class FFmpegFD(ExternalFD): args += ['-rtmp_flashver', flash_version] if live: args += ['-rtmp_live', 'live'] + if isinstance(conn, list): + for entry in conn: + args += ['-rtmp_conn', entry] + elif isinstance(conn, compat_str): + args += ['-rtmp_conn', conn] args += ['-i', url, '-c', 'copy'] @@ -324,7 +340,7 @@ class FFmpegFD(ExternalFD): # mp4 file couldn't be played, but if we ask ffmpeg to quit it # produces a file that is playable (this is mostly useful for live # streams). Note that Windows is not affected and produces playable - # files (see https://github.com/rg3/youtube-dl/issues/8300). + # files (see https://github.com/ytdl-org/youtube-dl/issues/8300). if sys.platform != 'win32': proc.communicate(b'q') raise diff --git a/youtube_dl/downloader/f4m.py b/youtube_dl/downloader/f4m.py index 15e71be..8dd3c2e 100644 --- a/youtube_dl/downloader/f4m.py +++ b/youtube_dl/downloader/f4m.py @@ -238,8 +238,8 @@ def write_metadata_tag(stream, metadata): def remove_encrypted_media(media): - return list(filter(lambda e: 'drmAdditionalHeaderId' not in e.attrib and - 'drmAdditionalHeaderSetId' not in e.attrib, + return list(filter(lambda e: 'drmAdditionalHeaderId' not in e.attrib + and 'drmAdditionalHeaderSetId' not in e.attrib, media)) @@ -267,8 +267,8 @@ class F4mFD(FragmentFD): media = doc.findall(_add_ns('media')) if not media: self.report_error('No media found') - for e in (doc.findall(_add_ns('drmAdditionalHeader')) + - doc.findall(_add_ns('drmAdditionalHeaderSet'))): + for e in (doc.findall(_add_ns('drmAdditionalHeader')) + + doc.findall(_add_ns('drmAdditionalHeaderSet'))): # If id attribute is missing it's valid for all media nodes # without drmAdditionalHeaderId or drmAdditionalHeaderSetId attribute if 'id' not in e.attrib: @@ -324,8 +324,8 @@ class F4mFD(FragmentFD): urlh = self.ydl.urlopen(self._prepare_url(info_dict, man_url)) man_url = urlh.geturl() # Some manifests may be malformed, e.g. prosiebensat1 generated manifests - # (see https://github.com/rg3/youtube-dl/issues/6215#issuecomment-121704244 - # and https://github.com/rg3/youtube-dl/issues/7823) + # (see https://github.com/ytdl-org/youtube-dl/issues/6215#issuecomment-121704244 + # and https://github.com/ytdl-org/youtube-dl/issues/7823) manifest = fix_xml_ampersands(urlh.read().decode('utf-8', 'ignore')).strip() doc = compat_etree_fromstring(manifest) @@ -409,7 +409,7 @@ class F4mFD(FragmentFD): # In tests, segments may be truncated, and thus # FlvReader may not be able to parse the whole # chunk. If so, write the segment as is - # See https://github.com/rg3/youtube-dl/issues/9214 + # See https://github.com/ytdl-org/youtube-dl/issues/9214 dest_stream.write(down_data) break raise diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py index 917f6dc..f2e5733 100644 --- a/youtube_dl/downloader/fragment.py +++ b/youtube_dl/downloader/fragment.py @@ -219,8 +219,8 @@ class FragmentFD(FileDownloader): frag_total_bytes = s.get('total_bytes') or 0 if not ctx['live']: estimated_size = ( - (ctx['complete_frags_downloaded_bytes'] + frag_total_bytes) / - (state['fragment_index'] + 1) * total_frags) + (ctx['complete_frags_downloaded_bytes'] + frag_total_bytes) + / (state['fragment_index'] + 1) * total_frags) state['total_bytes_estimate'] = estimated_size if s['status'] == 'finished': diff --git a/youtube_dl/downloader/hls.py b/youtube_dl/downloader/hls.py index 4def8e2..b59aad7 100644 --- a/youtube_dl/downloader/hls.py +++ b/youtube_dl/downloader/hls.py @@ -76,12 +76,12 @@ class HlsFD(FragmentFD): return fd.real_download(filename, info_dict) def is_ad_fragment_start(s): - return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s or - s.startswith('#UPLYNK-SEGMENT') and s.endswith(',ad')) + return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=ad' in s + or s.startswith('#UPLYNK-SEGMENT') and s.endswith(',ad')) def is_ad_fragment_end(s): - return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=master' in s or - s.startswith('#UPLYNK-SEGMENT') and s.endswith(',segment')) + return (s.startswith('#ANVATO-SEGMENT-INFO') and 'type=master' in s + or s.startswith('#UPLYNK-SEGMENT') and s.endswith(',segment')) media_frags = 0 ad_frags = 0 @@ -152,8 +152,8 @@ class HlsFD(FragmentFD): except compat_urllib_error.HTTPError as err: # Unavailable (possibly temporary) fragments may be served. # First we try to retry then either skip or abort. - # See https://github.com/rg3/youtube-dl/issues/10165, - # https://github.com/rg3/youtube-dl/issues/10448). + # See https://github.com/ytdl-org/youtube-dl/issues/10165, + # https://github.com/ytdl-org/youtube-dl/issues/10448). count += 1 if count <= fragment_retries: self.report_retry_fragment(err, frag_index, count, fragment_retries) diff --git a/youtube_dl/downloader/http.py b/youtube_dl/downloader/http.py index 5b1e960..3c72ea1 100644 --- a/youtube_dl/downloader/http.py +++ b/youtube_dl/downloader/http.py @@ -46,8 +46,8 @@ class HttpFD(FileDownloader): is_test = self.params.get('test', False) chunk_size = self._TEST_FILE_SIZE if is_test else ( - info_dict.get('downloader_options', {}).get('http_chunk_size') or - self.params.get('http_chunk_size') or 0) + info_dict.get('downloader_options', {}).get('http_chunk_size') + or self.params.get('http_chunk_size') or 0) ctx.open_mode = 'wb' ctx.resume_len = 0 @@ -111,7 +111,7 @@ class HttpFD(FileDownloader): # to match the value of requested Range HTTP header. This is due to a webservers # that don't support resuming and serve a whole file with no Content-Range # set in response despite of requested Range (see - # https://github.com/rg3/youtube-dl/issues/6057#issuecomment-126129799) + # https://github.com/ytdl-org/youtube-dl/issues/6057#issuecomment-126129799) if has_range: content_range = ctx.data.headers.get('Content-Range') if content_range: @@ -123,11 +123,11 @@ class HttpFD(FileDownloader): content_len = int_or_none(content_range_m.group(3)) accept_content_len = ( # Non-chunked download - not ctx.chunk_size or + not ctx.chunk_size # Chunked download and requested piece or # its part is promised to be served - content_range_end == range_end or - content_len < range_end) + or content_range_end == range_end + or content_len < range_end) if accept_content_len: ctx.data_len = content_len return @@ -152,8 +152,8 @@ class HttpFD(FileDownloader): raise else: # Examine the reported length - if (content_length is not None and - (ctx.resume_len - 100 < int(content_length) < ctx.resume_len + 100)): + if (content_length is not None + and (ctx.resume_len - 100 < int(content_length) < ctx.resume_len + 100)): # The file had already been fully downloaded. # Explanation to the above condition: in issue #175 it was revealed that # YouTube sometimes adds or removes a few bytes from the end of the file, diff --git a/youtube_dl/extractor/addanime.py b/youtube_dl/extractor/addanime.py index 9f8a712..5e7c072 100644 --- a/youtube_dl/extractor/addanime.py +++ b/youtube_dl/extractor/addanime.py @@ -59,9 +59,9 @@ class AddAnimeIE(InfoExtractor): parsed_url = compat_urllib_parse_urlparse(url) av_val = av_res + len(parsed_url.netloc) confirm_url = ( - parsed_url.scheme + '://' + parsed_url.netloc + - action + '?' + - compat_urllib_parse_urlencode({ + parsed_url.scheme + '://' + parsed_url.netloc + + action + '?' + + compat_urllib_parse_urlencode({ 'jschl_vc': vc, 'jschl_answer': compat_str(av_val)})) self._download_webpage( confirm_url, video_id, diff --git a/youtube_dl/extractor/adn.py b/youtube_dl/extractor/adn.py index 1eb99c3..c95ad21 100644 --- a/youtube_dl/extractor/adn.py +++ b/youtube_dl/extractor/adn.py @@ -21,7 +21,6 @@ from ..utils import ( intlist_to_bytes, long_to_bytes, pkcs1pad, - srt_subtitles_timecode, strip_or_none, urljoin, ) @@ -42,6 +41,18 @@ class ADNIE(InfoExtractor): } _BASE_URL = 'http://animedigitalnetwork.fr' _RSA_KEY = (0xc35ae1e4356b65a73b551493da94b8cb443491c0aa092a357a5aee57ffc14dda85326f42d716e539a34542a0d3f363adf16c5ec222d713d5997194030ee2e4f0d1fb328c01a81cf6868c090d50de8e169c6b13d1675b9eeed1cbc51e1fffca9b38af07f37abd790924cd3bee59d0257cfda4fe5f3f0534877e21ce5821447d1b, 65537) + _POS_ALIGN_MAP = { + 'start': 1, + 'end': 3, + } + _LINE_ALIGN_MAP = { + 'middle': 8, + 'end': 4, + } + + @staticmethod + def _ass_subtitles_timecode(seconds): + return '%01d:%02d:%02d.%02d' % (seconds / 3600, (seconds % 3600) / 60, seconds % 60, (seconds % 1) * 100) def _get_subtitles(self, sub_path, video_id): if not sub_path: @@ -49,14 +60,20 @@ class ADNIE(InfoExtractor): enc_subtitles = self._download_webpage( urljoin(self._BASE_URL, sub_path), - video_id, fatal=False) + video_id, 'Downloading subtitles location', fatal=False) or '{}' + subtitle_location = (self._parse_json(enc_subtitles, video_id, fatal=False) or {}).get('location') + if subtitle_location: + enc_subtitles = self._download_webpage( + urljoin(self._BASE_URL, subtitle_location), + video_id, 'Downloading subtitles data', fatal=False, + headers={'Origin': 'https://animedigitalnetwork.fr'}) if not enc_subtitles: return None # http://animedigitalnetwork.fr/components/com_vodvideo/videojs/adn-vjs.min.js dec_subtitles = intlist_to_bytes(aes_cbc_decrypt( bytes_to_intlist(compat_b64decode(enc_subtitles[24:])), - bytes_to_intlist(binascii.unhexlify(self._K + '9032ad7083106400')), + bytes_to_intlist(binascii.unhexlify(self._K + '4b8ef13ec1872730')), bytes_to_intlist(compat_b64decode(enc_subtitles[:24])) )) subtitles_json = self._parse_json( @@ -67,23 +84,27 @@ class ADNIE(InfoExtractor): subtitles = {} for sub_lang, sub in subtitles_json.items(): - srt = '' - for num, current in enumerate(sub): - start, end, text = ( + ssa = '''[Script Info] +ScriptType:V4.00 +[V4 Styles] +Format: Name,Fontname,Fontsize,PrimaryColour,SecondaryColour,TertiaryColour,BackColour,Bold,Italic,BorderStyle,Outline,Shadow,Alignment,MarginL,MarginR,MarginV,AlphaLevel,Encoding +Style: Default,Arial,18,16777215,16777215,16777215,0,-1,0,1,1,0,2,20,20,20,0,0 +[Events] +Format: Marked,Start,End,Style,Name,MarginL,MarginR,MarginV,Effect,Text''' + for current in sub: + start, end, text, line_align, position_align = ( float_or_none(current.get('startTime')), float_or_none(current.get('endTime')), - current.get('text')) + current.get('text'), current.get('lineAlign'), + current.get('positionAlign')) if start is None or end is None or text is None: continue - srt += os.linesep.join( - ( - '%d' % num, - '%s --> %s' % ( - srt_subtitles_timecode(start), - srt_subtitles_timecode(end)), - text, - os.linesep, - )) + alignment = self._POS_ALIGN_MAP.get(position_align, 2) + self._LINE_ALIGN_MAP.get(line_align, 0) + ssa += os.linesep + 'Dialogue: Marked=0,%s,%s,Default,,0,0,0,,%s%s' % ( + self._ass_subtitles_timecode(start), + self._ass_subtitles_timecode(end), + '{\\a%d}' % alignment if alignment != 2 else '', + text.replace('\n', '\\N').replace('<i>', '{\\i1}').replace('</i>', '{\\i0}')) if sub_lang == 'vostf': sub_lang = 'fr' @@ -91,8 +112,8 @@ class ADNIE(InfoExtractor): 'ext': 'json', 'data': json.dumps(sub), }, { - 'ext': 'srt', - 'data': srt, + 'ext': 'ssa', + 'data': ssa, }]) return subtitles @@ -100,7 +121,15 @@ class ADNIE(InfoExtractor): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) player_config = self._parse_json(self._search_regex( - r'playerConfig\s*=\s*({.+});', webpage, 'player config'), video_id) + r'playerConfig\s*=\s*({.+});', webpage, + 'player config', default='{}'), video_id, fatal=False) + if not player_config: + config_url = urljoin(self._BASE_URL, self._search_regex( + r'(?:id="player"|class="[^"]*adn-player-container[^"]*")[^>]+data-url="([^"]+)"', + webpage, 'config url')) + player_config = self._download_json( + config_url, video_id, + 'Downloading player config JSON metadata')['player'] video_info = {} video_info_str = self._search_regex( @@ -129,12 +158,15 @@ class ADNIE(InfoExtractor): encrypted_message = long_to_bytes(pow(bytes_to_long(padded_message), e, n)) authorization = base64.b64encode(encrypted_message).decode() links_data = self._download_json( - urljoin(self._BASE_URL, links_url), video_id, headers={ + urljoin(self._BASE_URL, links_url), video_id, + 'Downloading links JSON metadata', headers={ 'Authorization': 'Bearer ' + authorization, }) links = links_data.get('links') or {} metas = metas or links_data.get('meta') or {} - sub_path = (sub_path or links_data.get('subtitles')) + '&token=' + token + sub_path = sub_path or links_data.get('subtitles') or \ + 'index.php?option=com_vodapi&task=subtitles.getJSON&format=json&id=' + video_id + sub_path += '&token=' + token error = links_data.get('error') title = metas.get('title') or video_info['title'] @@ -142,9 +174,11 @@ class ADNIE(InfoExtractor): for format_id, qualities in links.items(): if not isinstance(qualities, dict): continue - for load_balancer_url in qualities.values(): + for quality, load_balancer_url in qualities.items(): load_balancer_data = self._download_json( - load_balancer_url, video_id, fatal=False) or {} + load_balancer_url, video_id, + 'Downloading %s %s JSON metadata' % (format_id, quality), + fatal=False) or {} m3u8_url = load_balancer_data.get('location') if not m3u8_url: continue diff --git a/youtube_dl/extractor/adobeconnect.py b/youtube_dl/extractor/adobeconnect.py new file mode 100644 index 0000000..728549e --- /dev/null +++ b/youtube_dl/extractor/adobeconnect.py @@ -0,0 +1,37 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..compat import ( + compat_parse_qs, + compat_urlparse, +) + + +class AdobeConnectIE(InfoExtractor): + _VALID_URL = r'https?://\w+\.adobeconnect\.com/(?P<id>[\w-]+)' + + def _real_extract(self, url): + video_id = self._match_id(url) + webpage = self._download_webpage(url, video_id) + title = self._html_search_regex(r'<title>(.+?)</title>', webpage, 'title') + qs = compat_parse_qs(self._search_regex(r"swfUrl\s*=\s*'([^']+)'", webpage, 'swf url').split('?')[1]) + is_live = qs.get('isLive', ['false'])[0] == 'true' + formats = [] + for con_string in qs['conStrings'][0].split(','): + formats.append({ + 'format_id': con_string.split('://')[0], + 'app': compat_urlparse.quote('?' + con_string.split('?')[1] + 'flvplayerapp/' + qs['appInstance'][0]), + 'ext': 'flv', + 'play_path': 'mp4:' + qs['streamName'][0], + 'rtmp_conn': 'S:' + qs['ticket'][0], + 'rtmp_live': is_live, + 'url': con_string, + }) + + return { + 'id': video_id, + 'title': self._live_title(title) if is_live else title, + 'formats': formats, + 'is_live': is_live, + } diff --git a/youtube_dl/extractor/adultswim.py b/youtube_dl/extractor/adultswim.py index 88c96a9..8d1d9ac 100644 --- a/youtube_dl/extractor/adultswim.py +++ b/youtube_dl/extractor/adultswim.py @@ -1,13 +1,19 @@ # coding: utf-8 from __future__ import unicode_literals +import json import re from .turner import TurnerBaseIE from ..utils import ( + determine_ext, + float_or_none, int_or_none, + mimetype2ext, + parse_age_limit, + parse_iso8601, strip_or_none, - url_or_none, + try_get, ) @@ -21,8 +27,8 @@ class AdultSwimIE(TurnerBaseIE): 'ext': 'mp4', 'title': 'Rick and Morty - Pilot', 'description': 'Rick moves in with his daughter\'s family and establishes himself as a bad influence on his grandson, Morty.', - 'timestamp': 1493267400, - 'upload_date': '20170427', + 'timestamp': 1543294800, + 'upload_date': '20181127', }, 'params': { # m3u8 download @@ -43,6 +49,7 @@ class AdultSwimIE(TurnerBaseIE): # m3u8 download 'skip_download': True, }, + 'skip': '404 Not Found', }, { 'url': 'http://www.adultswim.com/videos/decker/inside-decker-a-new-hero/', 'info_dict': { @@ -61,9 +68,9 @@ class AdultSwimIE(TurnerBaseIE): }, { 'url': 'http://www.adultswim.com/videos/attack-on-titan', 'info_dict': { - 'id': 'b7A69dzfRzuaXIECdxW8XQ', + 'id': 'attack-on-titan', 'title': 'Attack on Titan', - 'description': 'md5:6c8e003ea0777b47013e894767f5e114', + 'description': 'md5:41caa9416906d90711e31dc00cb7db7e', }, 'playlist_mincount': 12, }, { @@ -78,83 +85,118 @@ class AdultSwimIE(TurnerBaseIE): # m3u8 download 'skip_download': True, }, + 'skip': '404 Not Found', }] def _real_extract(self, url): show_path, episode_path = re.match(self._VALID_URL, url).groups() display_id = episode_path or show_path - webpage = self._download_webpage(url, display_id) - initial_data = self._parse_json(self._search_regex( - r'AS_INITIAL_DATA(?:__)?\s*=\s*({.+?});', - webpage, 'initial data'), display_id) - - is_stream = show_path == 'streams' - if is_stream: - if not episode_path: - episode_path = 'live-stream' + query = '''query { + getShowBySlug(slug:"%s") { + %%s + } +}''' % show_path + if episode_path: + query = query % '''title + getVideoBySlug(slug:"%s") { + _id + auth + description + duration + episodeNumber + launchDate + mediaID + seasonNumber + poster + title + tvRating + }''' % episode_path + ['getVideoBySlug'] + else: + query = query % '''metaDescription + title + videos(first:1000,sort:["episode_number"]) { + edges { + node { + _id + slug + } + } + }''' + show_data = self._download_json( + 'https://www.adultswim.com/api/search', display_id, + data=json.dumps({'query': query}).encode(), + headers={'Content-Type': 'application/json'})['data']['getShowBySlug'] + if episode_path: + video_data = show_data['getVideoBySlug'] + video_id = video_data['_id'] + episode_title = title = video_data['title'] + series = show_data.get('title') + if series: + title = '%s - %s' % (series, title) + info = { + 'id': video_id, + 'title': title, + 'description': strip_or_none(video_data.get('description')), + 'duration': float_or_none(video_data.get('duration')), + 'formats': [], + 'subtitles': {}, + 'age_limit': parse_age_limit(video_data.get('tvRating')), + 'thumbnail': video_data.get('poster'), + 'timestamp': parse_iso8601(video_data.get('launchDate')), + 'series': series, + 'season_number': int_or_none(video_data.get('seasonNumber')), + 'episode': episode_title, + 'episode_number': int_or_none(video_data.get('episodeNumber')), + } - video_data = next(stream for stream_path, stream in initial_data['streams'].items() if stream_path == episode_path) - video_id = video_data.get('stream') + auth = video_data.get('auth') + media_id = video_data.get('mediaID') + if media_id: + info.update(self._extract_ngtv_info(media_id, { + # CDN_TOKEN_APP_ID from: + # https://d2gg02c3xr550i.cloudfront.net/assets/asvp.e9c8bef24322d060ef87.bundle.js + 'appId': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhcHBJZCI6ImFzLXR2ZS1kZXNrdG9wLXB0enQ2bSIsInByb2R1Y3QiOiJ0dmUiLCJuZXR3b3JrIjoiYXMiLCJwbGF0Zm9ybSI6ImRlc2t0b3AiLCJpYXQiOjE1MzI3MDIyNzl9.BzSCk-WYOZ2GMCIaeVb8zWnzhlgnXuJTCu0jGp_VaZE', + }, { + 'url': url, + 'site_name': 'AdultSwim', + 'auth_required': auth, + })) - if not video_id: - entries = [] - for episode in video_data.get('archiveEpisodes', []): - episode_url = url_or_none(episode.get('url')) - if not episode_url: + if not auth: + extract_data = self._download_json( + 'https://www.adultswim.com/api/shows/v1/videos/' + video_id, + video_id, query={'fields': 'stream'}, fatal=False) or {} + assets = try_get(extract_data, lambda x: x['data']['video']['stream']['assets'], list) or [] + for asset in assets: + asset_url = asset.get('url') + if not asset_url: continue - entries.append(self.url_result( - episode_url, 'AdultSwim', episode.get('id'))) - return self.playlist_result( - entries, video_data.get('id'), video_data.get('title'), - strip_or_none(video_data.get('description'))) - else: - show_data = initial_data['show'] - - if not episode_path: - entries = [] - for video in show_data.get('videos', []): - slug = video.get('slug') - if not slug: + ext = determine_ext(asset_url, mimetype2ext(asset.get('mime_type'))) + if ext == 'm3u8': + info['formats'].extend(self._extract_m3u8_formats( + asset_url, video_id, 'mp4', m3u8_id='hls', fatal=False)) + elif ext == 'f4m': continue - entries.append(self.url_result( - 'http://adultswim.com/videos/%s/%s' % (show_path, slug), - 'AdultSwim', video.get('id'))) - return self.playlist_result( - entries, show_data.get('id'), show_data.get('title'), - strip_or_none(show_data.get('metadata', {}).get('description'))) - - video_data = show_data['sluggedVideo'] - video_id = video_data['id'] + # info['formats'].extend(self._extract_f4m_formats( + # asset_url, video_id, f4m_id='hds', fatal=False)) + elif ext in ('scc', 'ttml', 'vtt'): + info['subtitles'].setdefault('en', []).append({ + 'url': asset_url, + }) + self._sort_formats(info['formats']) - info = self._extract_cvp_info( - 'http://www.adultswim.com/videos/api/v0/assets?platform=desktop&id=' + video_id, - video_id, { - 'secure': { - 'media_src': 'http://androidhls-secure.cdn.turner.com/adultswim/big', - 'tokenizer_src': 'http://www.adultswim.com/astv/mvpd/processors/services/token_ipadAdobe.do', - }, - }, { - 'url': url, - 'site_name': 'AdultSwim', - 'auth_required': video_data.get('auth'), - }) - - info.update({ - 'id': video_id, - 'display_id': display_id, - 'description': info.get('description') or strip_or_none(video_data.get('description')), - }) - if not is_stream: - info.update({ - 'duration': info.get('duration') or int_or_none(video_data.get('duration')), - 'timestamp': info.get('timestamp') or int_or_none(video_data.get('launch_date')), - 'season_number': info.get('season_number') or int_or_none(video_data.get('season_number')), - 'episode': info['title'], - 'episode_number': info.get('episode_number') or int_or_none(video_data.get('episode_number')), - }) - - info['series'] = video_data.get('collection_title') or info.get('series') - if info['series'] and info['series'] != info['title']: - info['title'] = '%s - %s' % (info['series'], info['title']) - - return info + return info + else: + entries = [] + for edge in show_data.get('videos', {}).get('edges', []): + video = edge.get('node') or {} + slug = video.get('slug') + if not slug: + continue + entries.append(self.url_result( + 'http://adultswim.com/videos/%s/%s' % (show_path, slug), + 'AdultSwim', video.get('_id'))) + return self.playlist_result( + entries, show_path, show_data.get('title'), + strip_or_none(show_data.get('metaDescription'))) diff --git a/youtube_dl/extractor/aenetworks.py b/youtube_dl/extractor/aenetworks.py index 85ec639..611b948 100644 --- a/youtube_dl/extractor/aenetworks.py +++ b/youtube_dl/extractor/aenetworks.py @@ -1,14 +1,15 @@ +# coding: utf-8 from __future__ import unicode_literals import re from .theplatform import ThePlatformIE from ..utils import ( + extract_attributes, + ExtractorError, + int_or_none, smuggle_url, update_url_query, - unescapeHTML, - extract_attributes, - get_element_by_attribute, ) from ..compat import ( compat_urlparse, @@ -19,6 +20,43 @@ class AENetworksBaseIE(ThePlatformIE): _THEPLATFORM_KEY = 'crazyjava' _THEPLATFORM_SECRET = 's3cr3t' + def _extract_aen_smil(self, smil_url, video_id, auth=None): + query = {'mbr': 'true'} + if auth: + query['auth'] = auth + TP_SMIL_QUERY = [{ + 'assetTypes': 'high_video_ak', + 'switch': 'hls_high_ak' + }, { + 'assetTypes': 'high_video_s3' + }, { + 'assetTypes': 'high_video_s3', + 'switch': 'hls_ingest_fastly' + }] + formats = [] + subtitles = {} + last_e = None + for q in TP_SMIL_QUERY: + q.update(query) + m_url = update_url_query(smil_url, q) + m_url = self._sign_url(m_url, self._THEPLATFORM_KEY, self._THEPLATFORM_SECRET) + try: + tp_formats, tp_subtitles = self._extract_theplatform_smil( + m_url, video_id, 'Downloading %s SMIL data' % (q.get('switch') or q['assetTypes'])) + except ExtractorError as e: + last_e = e + continue + formats.extend(tp_formats) + subtitles = self._merge_subtitles(subtitles, tp_subtitles) + if last_e and not formats: + raise last_e + self._sort_formats(formats) + return { + 'id': video_id, + 'formats': formats, + 'subtitles': subtitles, + } + class AENetworksIE(AENetworksBaseIE): IE_NAME = 'aenetworks' @@ -33,22 +71,25 @@ class AENetworksIE(AENetworksBaseIE): (?: shows/(?P<show_path>[^/]+(?:/[^/]+){0,2})| movies/(?P<movie_display_id>[^/]+)(?:/full-movie)?| - specials/(?P<special_display_id>[^/]+)/full-special| + specials/(?P<special_display_id>[^/]+)/(?:full-special|preview-)| collections/[^/]+/(?P<collection_display_id>[^/]+) ) ''' _TESTS = [{ 'url': 'http://www.history.com/shows/mountain-men/season-1/episode-1', - 'md5': 'a97a65f7e823ae10e9244bc5433d5fe6', 'info_dict': { 'id': '22253814', 'ext': 'mp4', - 'title': 'Winter Is Coming', + 'title': 'Winter is Coming', 'description': 'md5:641f424b7a19d8e24f26dea22cf59d74', 'timestamp': 1338306241, 'upload_date': '20120529', 'uploader': 'AENE-NEW', }, + 'params': { + # m3u8 download + 'skip_download': True, + }, 'add_ie': ['ThePlatform'], }, { 'url': 'http://www.history.com/shows/ancient-aliens/season-1', @@ -84,6 +125,9 @@ class AENetworksIE(AENetworksBaseIE): }, { 'url': 'https://www.historyvault.com/collections/america-the-story-of-us/westward', 'only_matching': True + }, { + 'url': 'https://www.aetv.com/specials/hunting-jonbenets-killer-the-untold-story/preview-hunting-jonbenets-killer-the-untold-story', + 'only_matching': True }] _DOMAIN_TO_REQUESTOR_ID = { 'history.com': 'HISTORY', @@ -124,11 +168,6 @@ class AENetworksIE(AENetworksBaseIE): return self.playlist_result( entries, self._html_search_meta('aetn:SeasonId', webpage)) - query = { - 'mbr': 'true', - 'assetTypes': 'high_video_ak', - 'switch': 'hls_high_ak', - } video_id = self._html_search_meta('aetn:VideoID', webpage) media_url = self._search_regex( [r"media_url\s*=\s*'(?P<url>[^']+)'", @@ -138,64 +177,39 @@ class AENetworksIE(AENetworksBaseIE): theplatform_metadata = self._download_theplatform_metadata(self._search_regex( r'https?://link\.theplatform\.com/s/([^?]+)', media_url, 'theplatform_path'), video_id) info = self._parse_theplatform_metadata(theplatform_metadata) + auth = None if theplatform_metadata.get('AETN$isBehindWall'): requestor_id = self._DOMAIN_TO_REQUESTOR_ID[domain] resource = self._get_mvpd_resource( requestor_id, theplatform_metadata['title'], theplatform_metadata.get('AETN$PPL_pplProgramId') or theplatform_metadata.get('AETN$PPL_pplProgramId_OLD'), theplatform_metadata['ratings'][0]['rating']) - query['auth'] = self._extract_mvpd_auth( + auth = self._extract_mvpd_auth( url, video_id, requestor_id, resource) info.update(self._search_json_ld(webpage, video_id, fatal=False)) - media_url = update_url_query(media_url, query) - media_url = self._sign_url(media_url, self._THEPLATFORM_KEY, self._THEPLATFORM_SECRET) - formats, subtitles = self._extract_theplatform_smil(media_url, video_id) - self._sort_formats(formats) - info.update({ - 'id': video_id, - 'formats': formats, - 'subtitles': subtitles, - }) + info.update(self._extract_aen_smil(media_url, video_id, auth)) return info class HistoryTopicIE(AENetworksBaseIE): IE_NAME = 'history:topic' IE_DESC = 'History.com Topic' - _VALID_URL = r'https?://(?:www\.)?history\.com/topics/(?:[^/]+/)?(?P<topic_id>[^/]+)(?:/[^/]+(?:/(?P<video_display_id>[^/?#]+))?)?' + _VALID_URL = r'https?://(?:www\.)?history\.com/topics/[^/]+/(?P<id>[\w+-]+?)-video' _TESTS = [{ - 'url': 'http://www.history.com/topics/valentines-day/history-of-valentines-day/videos/bet-you-didnt-know-valentines-day?m=528e394da93ae&s=undefined&f=1&free=false', + 'url': 'https://www.history.com/topics/valentines-day/history-of-valentines-day-video', 'info_dict': { 'id': '40700995724', 'ext': 'mp4', - 'title': "Bet You Didn't Know: Valentine's Day", + 'title': "History of Valentineâs Day", 'description': 'md5:7b57ea4829b391995b405fa60bd7b5f7', 'timestamp': 1375819729, 'upload_date': '20130806', - 'uploader': 'AENE-NEW', }, 'params': { # m3u8 download 'skip_download': True, }, 'add_ie': ['ThePlatform'], - }, { - 'url': 'http://www.history.com/topics/world-war-i/world-war-i-history/videos', - 'info_dict': - { - 'id': 'world-war-i-history', - 'title': 'World War I History', - }, - 'playlist_mincount': 23, - }, { - 'url': 'http://www.history.com/topics/world-war-i-history/videos', - 'only_matching': True, - }, { - 'url': 'http://www.history.com/topics/world-war-i/world-war-i-history', - 'only_matching': True, - }, { - 'url': 'http://www.history.com/topics/world-war-i/world-war-i-history/speeches', - 'only_matching': True, }] def theplatform_url_result(self, theplatform_url, video_id, query): @@ -215,27 +229,19 @@ class HistoryTopicIE(AENetworksBaseIE): } def _real_extract(self, url): - topic_id, video_display_id = re.match(self._VALID_URL, url).groups() - if video_display_id: - webpage = self._download_webpage(url, video_display_id) - release_url, video_id = re.search(r"_videoPlayer.play\('([^']+)'\s*,\s*'[^']+'\s*,\s*'(\d+)'\)", webpage).groups() - release_url = unescapeHTML(release_url) - - return self.theplatform_url_result( - release_url, video_id, { - 'mbr': 'true', - 'switch': 'hls', - 'assetTypes': 'high_video_ak', - }) - else: - webpage = self._download_webpage(url, topic_id) - entries = [] - for episode_item in re.findall(r'<a.+?data-release-url="[^"]+"[^>]*>', webpage): - video_attributes = extract_attributes(episode_item) - entries.append(self.theplatform_url_result( - video_attributes['data-release-url'], video_attributes['data-id'], { - 'mbr': 'true', - 'switch': 'hls', - 'assetTypes': 'high_video_ak', - })) - return self.playlist_result(entries, topic_id, get_element_by_attribute('class', 'show-title', webpage)) + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + video_id = self._search_regex( + r'<phoenix-iframe[^>]+src="[^"]+\btpid=(\d+)', webpage, 'tpid') + result = self._download_json( + 'https://feeds.video.aetnd.com/api/v2/history/videos', + video_id, query={'filter[id]': video_id})['results'][0] + title = result['title'] + info = self._extract_aen_smil(result['publicUrl'], video_id) + info.update({ + 'title': title, + 'description': result.get('description'), + 'duration': int_or_none(result.get('duration')), + 'timestamp': int_or_none(result.get('added'), 1000), + }) + return info diff --git a/youtube_dl/extractor/anitube.py b/youtube_dl/extractor/anitube.py deleted file mode 100644 index 2fd912d..0000000 --- a/youtube_dl/extractor/anitube.py +++ /dev/null @@ -1,30 +0,0 @@ -from __future__ import unicode_literals - -from .nuevo import NuevoBaseIE - - -class AnitubeIE(NuevoBaseIE): - IE_NAME = 'anitube.se' - _VALID_URL = r'https?://(?:www\.)?anitube\.se/video/(?P<id>\d+)' - - _TEST = { - 'url': 'http://www.anitube.se/video/36621', - 'md5': '59d0eeae28ea0bc8c05e7af429998d43', - 'info_dict': { - 'id': '36621', - 'ext': 'mp4', - 'title': 'Recorder to Randoseru 01', - 'duration': 180.19, - }, - 'skip': 'Blocked in the US', - } - - def _real_extract(self, url): - video_id = self._match_id(url) - - webpage = self._download_webpage(url, video_id) - key = self._search_regex( - r'src=["\']https?://[^/]+/embed/([A-Za-z0-9_-]+)', webpage, 'key') - - return self._extract_nuevo( - 'http://www.anitube.se/nuevo/econfig.php?key=%s' % key, video_id) diff --git a/youtube_dl/extractor/anysex.py b/youtube_dl/extractor/anysex.py deleted file mode 100644 index ad86d6e..0000000 --- a/youtube_dl/extractor/anysex.py +++ /dev/null @@ -1,61 +0,0 @@ -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..utils import ( - parse_duration, - int_or_none, -) - - -class AnySexIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?anysex\.com/(?P<id>\d+)' - _TEST = { - 'url': 'http://anysex.com/156592/', - 'md5': '023e9fbb7f7987f5529a394c34ad3d3d', - 'info_dict': { - 'id': '156592', - 'ext': 'mp4', - 'title': 'Busty and sexy blondie in her bikini strips for you', - 'description': 'md5:de9e418178e2931c10b62966474e1383', - 'categories': ['Erotic'], - 'duration': 270, - 'age_limit': 18, - } - } - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - - webpage = self._download_webpage(url, video_id) - - video_url = self._html_search_regex(r"video_url\s*:\s*'([^']+)'", webpage, 'video URL') - - title = self._html_search_regex(r'<title>(.*?)</title>', webpage, 'title') - description = self._html_search_regex( - r'<div class="description"[^>]*>([^<]+)</div>', webpage, 'description', fatal=False) - thumbnail = self._html_search_regex( - r'preview_url\s*:\s*\'(.*?)\'', webpage, 'thumbnail', fatal=False) - - categories = re.findall( - r'<a href="http://anysex\.com/categories/[^"]+" title="[^"]*">([^<]+)</a>', webpage) - - duration = parse_duration(self._search_regex( - r'<b>Duration:</b> (?:<q itemprop="duration">)?(\d+:\d+)', webpage, 'duration', fatal=False)) - view_count = int_or_none(self._html_search_regex( - r'<b>Views:</b> (\d+)', webpage, 'view count', fatal=False)) - - return { - 'id': video_id, - 'url': video_url, - 'ext': 'mp4', - 'title': title, - 'description': description, - 'thumbnail': thumbnail, - 'categories': categories, - 'duration': duration, - 'view_count': view_count, - 'age_limit': 18, - } diff --git a/youtube_dl/extractor/aol.py b/youtube_dl/extractor/aol.py index cb92791..e87994a 100644 --- a/youtube_dl/extractor/aol.py +++ b/youtube_dl/extractor/aol.py @@ -4,6 +4,10 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..compat import ( + compat_parse_qs, + compat_urllib_parse_urlparse, +) from ..utils import ( ExtractorError, int_or_none, @@ -12,12 +16,12 @@ from ..utils import ( class AolIE(InfoExtractor): - IE_NAME = 'on.aol.com' - _VALID_URL = r'(?:aol-video:|https?://(?:(?:www|on)\.)?aol\.com/(?:[^/]+/)*(?:[^/?#&]+-)?)(?P<id>[^/?#&]+)' + IE_NAME = 'aol.com' + _VALID_URL = r'(?:aol-video:|https?://(?:www\.)?aol\.(?:com|ca|co\.uk|de|jp)/video/(?:[^/]+/)*)(?P<id>[0-9a-f]+)' _TESTS = [{ # video with 5min ID - 'url': 'http://on.aol.com/video/u-s--official-warns-of-largest-ever-irs-phone-scam-518167793?icid=OnHomepageC2Wide_MustSee_Img', + 'url': 'https://www.aol.com/video/view/u-s--official-warns-of-largest-ever-irs-phone-scam/518167793/', 'md5': '18ef68f48740e86ae94b98da815eec42', 'info_dict': { 'id': '518167793', @@ -34,7 +38,7 @@ class AolIE(InfoExtractor): } }, { # video with vidible ID - 'url': 'http://www.aol.com/video/view/netflix-is-raising-rates/5707d6b8e4b090497b04f706/', + 'url': 'https://www.aol.com/video/view/netflix-is-raising-rates/5707d6b8e4b090497b04f706/', 'info_dict': { 'id': '5707d6b8e4b090497b04f706', 'ext': 'mp4', @@ -49,16 +53,28 @@ class AolIE(InfoExtractor): 'skip_download': True, } }, { - 'url': 'http://on.aol.com/partners/abc-551438d309eab105804dbfe8/sneak-peek-was-haley-really-framed-570eaebee4b0448640a5c944', + 'url': 'https://www.aol.com/video/view/park-bench-season-2-trailer/559a1b9be4b0c3bfad3357a7/', 'only_matching': True, }, { - 'url': 'http://on.aol.com/shows/park-bench-shw518173474-559a1b9be4b0c3bfad3357a7?context=SH:SHW518173474:PL4327:1460619712763', + 'url': 'https://www.aol.com/video/view/donald-trump-spokeswoman-tones-down-megyn-kelly-attacks/519442220/', 'only_matching': True, }, { - 'url': 'http://on.aol.com/video/519442220', + 'url': 'aol-video:5707d6b8e4b090497b04f706', 'only_matching': True, }, { - 'url': 'aol-video:5707d6b8e4b090497b04f706', + 'url': 'https://www.aol.com/video/playlist/PL8245/5ca79d19d21f1a04035db606/', + 'only_matching': True, + }, { + 'url': 'https://www.aol.ca/video/view/u-s-woman-s-family-arrested-for-murder-first-pinned-on-panhandler-police/5c7ccf45bc03931fa04b2fe1/', + 'only_matching': True, + }, { + 'url': 'https://www.aol.co.uk/video/view/-one-dead-and-22-hurt-in-bus-crash-/5cb3a6f3d21f1a072b457347/', + 'only_matching': True, + }, { + 'url': 'https://www.aol.de/video/view/eva-braun-privataufnahmen-von-hitlers-geliebter-werden-digitalisiert/5cb2d49de98ab54c113d3d5d/', + 'only_matching': True, + }, { + 'url': 'https://www.aol.jp/video/playlist/5a28e936a1334d000137da0c/5a28f3151e642219fde19831/', 'only_matching': True, }] @@ -73,7 +89,7 @@ class AolIE(InfoExtractor): video_data = response['data'] formats = [] - m3u8_url = video_data.get('videoMasterPlaylist') + m3u8_url = url_or_none(video_data.get('videoMasterPlaylist')) if m3u8_url: formats.extend(self._extract_m3u8_formats( m3u8_url, video_id, 'mp4', m3u8_id='hls', fatal=False)) @@ -96,6 +112,12 @@ class AolIE(InfoExtractor): 'width': int(mobj.group(1)), 'height': int(mobj.group(2)), }) + else: + qs = compat_parse_qs(compat_urllib_parse_urlparse(video_url).query) + f.update({ + 'width': int_or_none(qs.get('w', [None])[0]), + 'height': int_or_none(qs.get('h', [None])[0]), + }) formats.append(f) self._sort_formats(formats, ('width', 'height', 'tbr', 'format_id')) diff --git a/youtube_dl/extractor/arkena.py b/youtube_dl/extractor/arkena.py index 4495ddb..854f587 100644 --- a/youtube_dl/extractor/arkena.py +++ b/youtube_dl/extractor/arkena.py @@ -103,7 +103,7 @@ class ArkenaIE(InfoExtractor): f_url, video_id, mpd_id=kind, fatal=False)) elif kind == 'silverlight': # TODO: process when ism is supported (see - # https://github.com/rg3/youtube-dl/issues/8118) + # https://github.com/ytdl-org/youtube-dl/issues/8118) continue else: tbr = float_or_none(f.get('Bitrate'), 1000) diff --git a/youtube_dl/extractor/bambuser.py b/youtube_dl/extractor/bambuser.py index 34f1b3d..4400ff9 100644 --- a/youtube_dl/extractor/bambuser.py +++ b/youtube_dl/extractor/bambuser.py @@ -23,7 +23,7 @@ class BambuserIE(InfoExtractor): _TEST = { 'url': 'http://bambuser.com/v/4050584', - # MD5 seems to be flaky, see https://travis-ci.org/rg3/youtube-dl/jobs/14051016#L388 + # MD5 seems to be flaky, see https://travis-ci.org/ytdl-org/youtube-dl/jobs/14051016#L388 # 'md5': 'fba8f7693e48fd4e8641b3fd5539a641', 'info_dict': { 'id': '4050584', @@ -38,7 +38,7 @@ class BambuserIE(InfoExtractor): }, 'params': { # It doesn't respect the 'Range' header, it would download the whole video - # caused the travis builds to fail: https://travis-ci.org/rg3/youtube-dl/jobs/14493845#L59 + # caused the travis builds to fail: https://travis-ci.org/ytdl-org/youtube-dl/jobs/14493845#L59 'skip_download': True, }, } diff --git a/youtube_dl/extractor/bbc.py b/youtube_dl/extractor/bbc.py index eac9a5a..e765079 100644 --- a/youtube_dl/extractor/bbc.py +++ b/youtube_dl/extractor/bbc.py @@ -1,8 +1,8 @@ # coding: utf-8 from __future__ import unicode_literals -import re import itertools +import re from .common import InfoExtractor from ..utils import ( @@ -17,10 +17,12 @@ from ..utils import ( parse_iso8601, try_get, unescapeHTML, + url_or_none, urlencode_postdata, urljoin, ) from ..compat import ( + compat_etree_Element, compat_HTTPError, compat_urlparse, ) @@ -206,7 +208,7 @@ class BBCCoUkIE(InfoExtractor): }, 'skip': 'Now it\'s really geo-restricted', }, { - # compact player (https://github.com/rg3/youtube-dl/issues/8147) + # compact player (https://github.com/ytdl-org/youtube-dl/issues/8147) 'url': 'http://www.bbc.co.uk/programmes/p028bfkf/player', 'info_dict': { 'id': 'p028bfkj', @@ -310,7 +312,13 @@ class BBCCoUkIE(InfoExtractor): def _get_subtitles(self, media, programme_id): subtitles = {} for connection in self._extract_connections(media): - captions = self._download_xml(connection.get('href'), programme_id, 'Downloading captions') + cc_url = url_or_none(connection.get('href')) + if not cc_url: + continue + captions = self._download_xml( + cc_url, programme_id, 'Downloading captions', fatal=False) + if not isinstance(captions, compat_etree_Element): + continue lang = captions.get('{http://www.w3.org/XML/1998/namespace}lang', 'en') subtitles[lang] = [ { diff --git a/youtube_dl/extractor/beeg.py b/youtube_dl/extractor/beeg.py index 1086d76..192f11e 100644 --- a/youtube_dl/extractor/beeg.py +++ b/youtube_dl/extractor/beeg.py @@ -9,8 +9,8 @@ from ..utils import ( class BeegIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?beeg\.com/(?P<id>\d+)' - _TEST = { + _VALID_URL = r'https?://(?:www\.)?beeg\.(?:com|porn(?:/video)?)/(?P<id>\d+)' + _TESTS = [{ 'url': 'http://beeg.com/5416503', 'md5': 'a1a1b1a8bc70a89e49ccfd113aed0820', 'info_dict': { @@ -24,7 +24,13 @@ class BeegIE(InfoExtractor): 'tags': list, 'age_limit': 18, } - } + }, { + 'url': 'https://beeg.porn/video/5416503', + 'only_matching': True, + }, { + 'url': 'https://beeg.porn/5416503', + 'only_matching': True, + }] def _real_extract(self, url): video_id = self._match_id(url) diff --git a/youtube_dl/extractor/bfi.py b/youtube_dl/extractor/bfi.py new file mode 100644 index 0000000..60c8944 --- /dev/null +++ b/youtube_dl/extractor/bfi.py @@ -0,0 +1,37 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import extract_attributes + + +class BFIPlayerIE(InfoExtractor): + IE_NAME = 'bfi:player' + _VALID_URL = r'https?://player\.bfi\.org\.uk/[^/]+/film/watch-(?P<id>[\w-]+)-online' + _TEST = { + 'url': 'https://player.bfi.org.uk/free/film/watch-computer-doctor-1974-online', + 'md5': 'e8783ebd8e061ec4bc6e9501ed547de8', + 'info_dict': { + 'id': 'htNnhlZjE60C9VySkQEIBtU-cNV1Xx63', + 'ext': 'mp4', + 'title': 'Computer Doctor', + 'description': 'md5:fb6c240d40c4dbe40428bdd62f78203b', + }, + 'skip': 'BFI Player films cannot be played outside of the UK', + } + + def _real_extract(self, url): + video_id = self._match_id(url) + webpage = self._download_webpage(url, video_id) + entries = [] + for player_el in re.findall(r'(?s)<[^>]+class="player"[^>]*>', webpage): + player_attr = extract_attributes(player_el) + ooyala_id = player_attr.get('data-video-id') + if not ooyala_id: + continue + entries.append(self.url_result( + 'ooyala:' + ooyala_id, 'Ooyala', + ooyala_id, player_attr.get('data-label'))) + return self.playlist_result(entries) diff --git a/youtube_dl/extractor/bilibili.py b/youtube_dl/extractor/bilibili.py index 4d6b051..3746671 100644 --- a/youtube_dl/extractor/bilibili.py +++ b/youtube_dl/extractor/bilibili.py @@ -93,8 +93,8 @@ class BiliBiliIE(InfoExtractor): }] }] - _APP_KEY = '84956560bc028eb7' - _BILIBILI_KEY = '94aba54af9065f71de72f5508f1cd42e' + _APP_KEY = 'iVGUTjsxvpLeuDCf' + _BILIBILI_KEY = 'aHRmhWMLkdeMuILqORnYZocwMBpMEOdt' def _report_error(self, result): if 'message' in result: diff --git a/youtube_dl/extractor/biqle.py b/youtube_dl/extractor/biqle.py index beaebfd..3707dc9 100644 --- a/youtube_dl/extractor/biqle.py +++ b/youtube_dl/extractor/biqle.py @@ -2,39 +2,96 @@ from __future__ import unicode_literals from .common import InfoExtractor +from .vk import VKIE +from ..utils import ( + HEADRequest, + int_or_none, +) class BIQLEIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?biqle\.(?:com|org|ru)/watch/(?P<id>-?\d+_\d+)' _TESTS = [{ - 'url': 'http://www.biqle.ru/watch/847655_160197695', - 'md5': 'ad5f746a874ccded7b8f211aeea96637', + # Youtube embed + 'url': 'https://biqle.ru/watch/-115995369_456239081', + 'md5': '97af5a06ee4c29bbf9c001bdb1cf5c06', 'info_dict': { - 'id': '160197695', + 'id': '8v4f-avW-VI', 'ext': 'mp4', - 'title': 'Foo Fighters - The Pretender (Live at Wembley Stadium)', - 'uploader': 'Andrey Rogozin', - 'upload_date': '20110605', - } + 'title': "PASSE-PARTOUT - L'ete c'est fait pour jouer", + 'description': 'Passe-Partout', + 'uploader_id': 'mrsimpsonstef3', + 'uploader': 'Phanolito', + 'upload_date': '20120822', + }, }, { - 'url': 'https://biqle.org/watch/-44781847_168547604', + 'url': 'http://biqle.org/watch/-44781847_168547604', 'md5': '7f24e72af1db0edf7c1aaba513174f97', 'info_dict': { - 'id': '168547604', + 'id': '-44781847_168547604', 'ext': 'mp4', 'title': 'Ребенок в Ñоке Ð¾Ñ Ð°Ð²ÑомаÑиÑеÑкой мойки', + 'timestamp': 1396633454, 'uploader': 'Dmitry Kotov', + 'upload_date': '20140404', + 'uploader_id': '47850140', }, - 'skip': ' This video was marked as adult. Embedding adult videos on external sites is prohibited.', }] def _real_extract(self, url): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) embed_url = self._proto_relative_url(self._search_regex( - r'<iframe.+?src="((?:http:)?//daxab\.com/[^"]+)".*?></iframe>', webpage, 'embed url')) + r'<iframe.+?src="((?:https?:)?//daxab\.com/[^"]+)".*?></iframe>', + webpage, 'embed url')) + if VKIE.suitable(embed_url): + return self.url_result(embed_url, VKIE.ie_key(), video_id) + + self._request_webpage( + HEADRequest(embed_url), video_id, headers={'Referer': url}) + video_id, sig, _, access_token = self._get_cookies(embed_url)['video_ext'].value.split('%3A') + item = self._download_json( + 'https://api.vk.com/method/video.get', video_id, + headers={'User-Agent': 'okhttp/3.4.1'}, query={ + 'access_token': access_token, + 'sig': sig, + 'v': 5.44, + 'videos': video_id, + })['response']['items'][0] + title = item['title'] + + formats = [] + for f_id, f_url in item.get('files', {}).items(): + if f_id == 'external': + return self.url_result(f_url) + ext, height = f_id.split('_') + formats.append({ + 'format_id': height + 'p', + 'url': f_url, + 'height': int_or_none(height), + 'ext': ext, + }) + self._sort_formats(formats) + + thumbnails = [] + for k, v in item.items(): + if k.startswith('photo_') and v: + width = k.replace('photo_', '') + thumbnails.append({ + 'id': width, + 'url': v, + 'width': int_or_none(width), + }) return { - '_type': 'url_transparent', - 'url': embed_url, + 'id': video_id, + 'title': title, + 'formats': formats, + 'comment_count': int_or_none(item.get('comments')), + 'description': item.get('description'), + 'duration': int_or_none(item.get('duration')), + 'thumbnails': thumbnails, + 'timestamp': int_or_none(item.get('date')), + 'uploader': item.get('owner_id'), + 'view_count': int_or_none(item.get('views')), } diff --git a/youtube_dl/extractor/bitchute.py b/youtube_dl/extractor/bitchute.py index 4f39424..430663f 100644 --- a/youtube_dl/extractor/bitchute.py +++ b/youtube_dl/extractor/bitchute.py @@ -55,6 +55,11 @@ class BitChuteIE(InfoExtractor): formats = [ {'url': format_url} for format_url in orderedSet(format_urls)] + + if not formats: + formats = self._parse_html5_media_entries( + url, webpage, video_id)[0]['formats'] + self._check_formats(formats, video_id) self._sort_formats(formats) @@ -65,8 +70,9 @@ class BitChuteIE(InfoExtractor): webpage, default=None) or self._html_search_meta( 'twitter:image:src', webpage, 'thumbnail') uploader = self._html_search_regex( - r'(?s)<p\b[^>]+\bclass=["\']video-author[^>]+>(.+?)</p>', webpage, - 'uploader', fatal=False) + (r'(?s)<div class=["\']channel-banner.*?<p\b[^>]+\bclass=["\']name[^>]+>(.+?)</p>', + r'(?s)<p\b[^>]+\bclass=["\']video-author[^>]+>(.+?)</p>'), + webpage, 'uploader', fatal=False) return { 'id': video_id, diff --git a/youtube_dl/extractor/blinkx.py b/youtube_dl/extractor/blinkx.py index 3b8eabe..db5e12b 100644 --- a/youtube_dl/extractor/blinkx.py +++ b/youtube_dl/extractor/blinkx.py @@ -32,8 +32,8 @@ class BlinkxIE(InfoExtractor): video_id = self._match_id(url) display_id = video_id[:8] - api_url = ('https://apib4.blinkx.com/api.php?action=play_video&' + - 'video=%s' % video_id) + api_url = ('https://apib4.blinkx.com/api.php?action=play_video&' + + 'video=%s' % video_id) data_json = self._download_webpage(api_url, display_id) data = json.loads(data_json)['api']['results'][0] duration = None diff --git a/youtube_dl/extractor/bravotv.py b/youtube_dl/extractor/bravotv.py index a25d500..b9715df 100644 --- a/youtube_dl/extractor/bravotv.py +++ b/youtube_dl/extractor/bravotv.py @@ -1,6 +1,8 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .adobepass import AdobePassIE from ..utils import ( smuggle_url, @@ -12,16 +14,16 @@ from ..utils import ( class BravoTVIE(AdobePassIE): _VALID_URL = r'https?://(?:www\.)?bravotv\.com/(?:[^/]+/)+(?P<id>[^/?#]+)' _TESTS = [{ - 'url': 'http://www.bravotv.com/last-chance-kitchen/season-5/videos/lck-ep-12-fishy-finale', - 'md5': '9086d0b7ef0ea2aabc4781d75f4e5863', + 'url': 'https://www.bravotv.com/top-chef/season-16/episode-15/videos/the-top-chef-season-16-winner-is', + 'md5': 'e34684cfea2a96cd2ee1ef3a60909de9', 'info_dict': { - 'id': 'zHyk1_HU_mPy', + 'id': 'epL0pmK1kQlT', 'ext': 'mp4', - 'title': 'LCK Ep 12: Fishy Finale', - 'description': 'S13/E12: Two eliminated chefs have just 12 minutes to cook up a delicious fish dish.', + 'title': 'The Top Chef Season 16 Winner Is...', + 'description': 'Find out who takes the title of Top Chef!', 'uploader': 'NBCU-BRAV', - 'upload_date': '20160302', - 'timestamp': 1456945320, + 'upload_date': '20190314', + 'timestamp': 1552591860, } }, { 'url': 'http://www.bravotv.com/below-deck/season-3/ep-14-reunion-part-1', @@ -32,30 +34,38 @@ class BravoTVIE(AdobePassIE): display_id = self._match_id(url) webpage = self._download_webpage(url, display_id) settings = self._parse_json(self._search_regex( - r'jQuery\.extend\(Drupal\.settings\s*,\s*({.+?})\);', webpage, 'drupal settings'), + r'<script[^>]+data-drupal-selector="drupal-settings-json"[^>]*>({.+?})</script>', webpage, 'drupal settings'), display_id) info = {} query = { 'mbr': 'true', } account_pid, release_pid = [None] * 2 - tve = settings.get('sharedTVE') + tve = settings.get('ls_tve') if tve: query['manifest'] = 'm3u' - account_pid = 'HNK2IC' - release_pid = tve['release_pid'] + mobj = re.search(r'<[^>]+id="pdk-player"[^>]+data-url=["\']?(?:https?:)?//player\.theplatform\.com/p/([^/]+)/(?:[^/]+/)*select/([^?#&"\']+)', webpage) + if mobj: + account_pid, tp_path = mobj.groups() + release_pid = tp_path.strip('/').split('/')[-1] + else: + account_pid = 'HNK2IC' + tp_path = release_pid = tve['release_pid'] if tve.get('entitlement') == 'auth': - adobe_pass = settings.get('adobePass', {}) + adobe_pass = settings.get('tve_adobe_auth', {}) resource = self._get_mvpd_resource( adobe_pass.get('adobePassResourceId', 'bravo'), tve['title'], release_pid, tve.get('rating')) query['auth'] = self._extract_mvpd_auth( url, release_pid, adobe_pass.get('adobePassRequestorId', 'bravo'), resource) else: - shared_playlist = settings['shared_playlist'] + shared_playlist = settings['ls_playlist'] account_pid = shared_playlist['account_pid'] metadata = shared_playlist['video_metadata'][shared_playlist['default_clip']] - release_pid = metadata['release_pid'] + tp_path = release_pid = metadata.get('release_pid') + if not release_pid: + release_pid = metadata['guid'] + tp_path = 'media/guid/2140479951/' + release_pid info.update({ 'title': metadata['title'], 'description': metadata.get('description'), @@ -67,7 +77,7 @@ class BravoTVIE(AdobePassIE): '_type': 'url_transparent', 'id': release_pid, 'url': smuggle_url(update_url_query( - 'http://link.theplatform.com/s/%s/%s' % (account_pid, release_pid), + 'http://link.theplatform.com/s/%s/%s' % (account_pid, tp_path), query), {'force_smil_url': True}), 'ie_key': 'ThePlatform', }) diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index 465ae39..c0345e2 100644 --- a/youtube_dl/extractor/brightcove.py +++ b/youtube_dl/extractor/brightcove.py @@ -126,7 +126,7 @@ class BrightcoveLegacyIE(InfoExtractor): 'playlist_mincount': 7, }, { - # playlist with 'playlistTab' (https://github.com/rg3/youtube-dl/issues/9965) + # playlist with 'playlistTab' (https://github.com/ytdl-org/youtube-dl/issues/9965) 'url': 'http://c.brightcove.com/services/json/experience/runtime/?command=get_programming_for_experience&playerKey=AQ%7E%7E,AAABXlLMdok%7E,NJ4EoMlZ4rZdx9eU1rkMVd8EaYPBBUlg', 'info_dict': { 'id': '1522758701001', @@ -155,10 +155,10 @@ class BrightcoveLegacyIE(InfoExtractor): <object class="BrightcoveExperience">{params}</object> """ - # Fix up some stupid HTML, see https://github.com/rg3/youtube-dl/issues/1553 + # Fix up some stupid HTML, see https://github.com/ytdl-org/youtube-dl/issues/1553 object_str = re.sub(r'(<param(?:\s+[a-zA-Z0-9_]+="[^"]*")*)>', lambda m: m.group(1) + '/>', object_str) - # Fix up some stupid XML, see https://github.com/rg3/youtube-dl/issues/1608 + # Fix up some stupid XML, see https://github.com/ytdl-org/youtube-dl/issues/1608 object_str = object_str.replace('<--', '<!--') # remove namespace to simplify extraction object_str = re.sub(r'(<object[^>]*)(xmlns=".*?")', r'\1', object_str) diff --git a/youtube_dl/extractor/byutv.py b/youtube_dl/extractor/byutv.py index 4bf4efe..562c83a 100644 --- a/youtube_dl/extractor/byutv.py +++ b/youtube_dl/extractor/byutv.py @@ -3,11 +3,13 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..utils import parse_duration class BYUtvIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?byutv\.org/(?:watch|player)/(?!event/)(?P<id>[0-9a-f-]+)(?:/(?P<display_id>[^/?#&]+))?' _TESTS = [{ + # ooyalaVOD 'url': 'http://www.byutv.org/watch/6587b9a3-89d2-42a6-a7f7-fd2f81840a7d/studio-c-season-5-episode-5', 'info_dict': { 'id': 'ZvanRocTpW-G5_yZFeltTAMv6jxOU9KH', @@ -22,6 +24,20 @@ class BYUtvIE(InfoExtractor): 'skip_download': True, }, 'add_ie': ['Ooyala'], + }, { + # dvr + 'url': 'https://www.byutv.org/player/8f1dab9b-b243-47c8-b525-3e2d021a3451/byu-softball-pacific-vs-byu-41219---game-2', + 'info_dict': { + 'id': '8f1dab9b-b243-47c8-b525-3e2d021a3451', + 'display_id': 'byu-softball-pacific-vs-byu-41219---game-2', + 'ext': 'mp4', + 'title': 'Pacific vs. BYU (4/12/19)', + 'description': 'md5:1ac7b57cb9a78015910a4834790ce1f3', + 'duration': 11645, + }, + 'params': { + 'skip_download': True + }, }, { 'url': 'http://www.byutv.org/watch/6587b9a3-89d2-42a6-a7f7-fd2f81840a7d', 'only_matching': True, @@ -35,24 +51,42 @@ class BYUtvIE(InfoExtractor): video_id = mobj.group('id') display_id = mobj.group('display_id') or video_id - ep = self._download_json( - 'https://api.byutv.org/api3/catalog/getvideosforcontent', video_id, - query={ + info = self._download_json( + 'https://api.byutv.org/api3/catalog/getvideosforcontent', + display_id, query={ 'contentid': video_id, 'channel': 'byutv', 'x-byutv-context': 'web$US', }, headers={ 'x-byutv-context': 'web$US', 'x-byutv-platformkey': 'xsaaw9c7y5', - })['ooyalaVOD'] + }) + + ep = info.get('ooyalaVOD') + if ep: + return { + '_type': 'url_transparent', + 'ie_key': 'Ooyala', + 'url': 'ooyala:%s' % ep['providerId'], + 'id': video_id, + 'display_id': display_id, + 'title': ep.get('title'), + 'description': ep.get('description'), + 'thumbnail': ep.get('imageThumbnail'), + } + ep = info['dvr'] + title = ep['title'] + formats = self._extract_m3u8_formats( + ep['videoUrl'], video_id, 'mp4', entry_protocol='m3u8_native', + m3u8_id='hls') + self._sort_formats(formats) return { - '_type': 'url_transparent', - 'ie_key': 'Ooyala', - 'url': 'ooyala:%s' % ep['providerId'], 'id': video_id, 'display_id': display_id, - 'title': ep.get('title'), + 'title': title, 'description': ep.get('description'), 'thumbnail': ep.get('imageThumbnail'), + 'duration': parse_duration(ep.get('length')), + 'formats': formats, } diff --git a/youtube_dl/extractor/canvas.py b/youtube_dl/extractor/canvas.py index 174fd9e..c506bc5 100644 --- a/youtube_dl/extractor/canvas.py +++ b/youtube_dl/extractor/canvas.py @@ -17,7 +17,7 @@ from ..utils import ( class CanvasIE(InfoExtractor): - _VALID_URL = r'https?://mediazone\.vrt\.be/api/v1/(?P<site_id>canvas|een|ketnet|vrtvideo)/assets/(?P<id>[^/?#&]+)' + _VALID_URL = r'https?://mediazone\.vrt\.be/api/v1/(?P<site_id>canvas|een|ketnet|vrt(?:video|nieuws)|sporza)/assets/(?P<id>[^/?#&]+)' _TESTS = [{ 'url': 'https://mediazone.vrt.be/api/v1/ketnet/assets/md-ast-4ac54990-ce66-4d00-a8ca-9eac86f4c475', 'md5': '90139b746a0a9bd7bb631283f6e2a64e', @@ -35,6 +35,10 @@ class CanvasIE(InfoExtractor): 'url': 'https://mediazone.vrt.be/api/v1/canvas/assets/mz-ast-5e5f90b6-2d72-4c40-82c2-e134f884e93e', 'only_matching': True, }] + _HLS_ENTRY_PROTOCOLS_MAP = { + 'HLS': 'm3u8_native', + 'HLS_AES': 'm3u8', + } def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) @@ -52,9 +56,9 @@ class CanvasIE(InfoExtractor): format_url, format_type = target.get('url'), target.get('type') if not format_url or not format_type: continue - if format_type == 'HLS': + if format_type in self._HLS_ENTRY_PROTOCOLS_MAP: formats.extend(self._extract_m3u8_formats( - format_url, video_id, 'mp4', entry_protocol='m3u8_native', + format_url, video_id, 'mp4', self._HLS_ENTRY_PROTOCOLS_MAP[format_type], m3u8_id=format_type, fatal=False)) elif format_type == 'HDS': formats.extend(self._extract_f4m_formats( diff --git a/youtube_dl/extractor/cartoonnetwork.py b/youtube_dl/extractor/cartoonnetwork.py index 6aeebd7..48b3361 100644 --- a/youtube_dl/extractor/cartoonnetwork.py +++ b/youtube_dl/extractor/cartoonnetwork.py @@ -1,20 +1,19 @@ # coding: utf-8 from __future__ import unicode_literals -import re - from .turner import TurnerBaseIE +from ..utils import int_or_none class CartoonNetworkIE(TurnerBaseIE): _VALID_URL = r'https?://(?:www\.)?cartoonnetwork\.com/video/(?:[^/]+/)+(?P<id>[^/?#]+)-(?:clip|episode)\.html' _TEST = { - 'url': 'http://www.cartoonnetwork.com/video/teen-titans-go/starfire-the-cat-lady-clip.html', + 'url': 'https://www.cartoonnetwork.com/video/ben-10/how-to-draw-upgrade-episode.html', 'info_dict': { - 'id': '8a250ab04ed07e6c014ef3f1e2f9016c', + 'id': '6e3375097f63874ebccec7ef677c1c3845fa850e', 'ext': 'mp4', - 'title': 'Starfire the Cat Lady', - 'description': 'Robin decides to become a cat so that Starfire will finally love him.', + 'title': 'How to Draw Upgrade', + 'description': 'md5:2061d83776db7e8be4879684eefe8c0f', }, 'params': { # m3u8 download @@ -25,18 +24,39 @@ class CartoonNetworkIE(TurnerBaseIE): def _real_extract(self, url): display_id = self._match_id(url) webpage = self._download_webpage(url, display_id) - id_type, video_id = re.search(r"_cnglobal\.cvp(Video|Title)Id\s*=\s*'([^']+)';", webpage).groups() - query = ('id' if id_type == 'Video' else 'titleId') + '=' + video_id - return self._extract_cvp_info( - 'http://www.cartoonnetwork.com/video-seo-svc/episodeservices/getCvpPlaylist?networkName=CN2&' + query, video_id, { - 'secure': { - 'media_src': 'http://androidhls-secure.cdn.turner.com/toon/big', - 'tokenizer_src': 'https://token.vgtf.net/token/token_mobile', - }, - }, { + + def find_field(global_re, name, content_re=None, value_re='[^"]+', fatal=False): + metadata_re = '' + if content_re: + metadata_re = r'|video_metadata\.content_' + content_re + return self._search_regex( + r'(?:_cnglobal\.currentVideo\.%s%s)\s*=\s*"(%s)";' % (global_re, metadata_re, value_re), + webpage, name, fatal=fatal) + + media_id = find_field('mediaId', 'media id', 'id', '[0-9a-f]{40}', True) + title = find_field('episodeTitle', 'title', '(?:episodeName|name)', fatal=True) + + info = self._extract_ngtv_info( + media_id, {'networkId': 'cartoonnetwork'}, { 'url': url, 'site_name': 'CartoonNetwork', - 'auth_required': self._search_regex( - r'_cnglobal\.cvpFullOrPreviewAuth\s*=\s*(true|false);', - webpage, 'auth required', default='false') == 'true', + 'auth_required': find_field('authType', 'auth type') != 'unauth', }) + + series = find_field( + 'propertyName', 'series', 'showName') or self._html_search_meta('partOfSeries', webpage) + info.update({ + 'id': media_id, + 'display_id': display_id, + 'title': title, + 'description': self._html_search_meta('description', webpage), + 'series': series, + 'episode': title, + }) + + for field in ('season', 'episode'): + field_name = field + 'Number' + info[field + '_number'] = int_or_none(find_field( + field_name, field + ' number', value_re=r'\d+') or self._html_search_meta(field_name, webpage)) + + return info diff --git a/youtube_dl/extractor/cbc.py b/youtube_dl/extractor/cbc.py index 43f95c7..751a3a8 100644 --- a/youtube_dl/extractor/cbc.py +++ b/youtube_dl/extractor/cbc.py @@ -360,7 +360,7 @@ class CBCWatchVideoIE(CBCWatchBaseIE): class CBCWatchIE(CBCWatchBaseIE): IE_NAME = 'cbc.ca:watch' - _VALID_URL = r'https?://watch\.cbc\.ca/(?:[^/]+/)+(?P<id>[0-9a-f-]+)' + _VALID_URL = r'https?://(?:gem|watch)\.cbc\.ca/(?:[^/]+/)+(?P<id>[0-9a-f-]+)' _TESTS = [{ # geo-restricted to Canada, bypassable 'url': 'http://watch.cbc.ca/doc-zone/season-6/customer-disservice/38e815a-009e3ab12e4', @@ -386,6 +386,9 @@ class CBCWatchIE(CBCWatchBaseIE): 'description': 'Arthur, the sweetest 8-year-old aardvark, and his pals solve all kinds of problems with humour, kindness and teamwork.', }, 'playlist_mincount': 30, + }, { + 'url': 'https://gem.cbc.ca/media/this-hour-has-22-minutes/season-26/episode-20/38e815a-0108c6c6a42', + 'only_matching': True, }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/cbs.py b/youtube_dl/extractor/cbs.py index 1799d63..376db72 100644 --- a/youtube_dl/extractor/cbs.py +++ b/youtube_dl/extractor/cbs.py @@ -13,13 +13,17 @@ from ..utils import ( class CBSBaseIE(ThePlatformFeedIE): def _parse_smil_subtitles(self, smil, namespace=None, subtitles_lang='en'): - closed_caption_e = find_xpath_attr(smil, self._xpath_ns('.//param', namespace), 'name', 'ClosedCaptionURL') - return { - 'en': [{ - 'ext': 'ttml', - 'url': closed_caption_e.attrib['value'], - }] - } if closed_caption_e is not None and closed_caption_e.attrib.get('value') else [] + subtitles = {} + for k, ext in [('sMPTE-TTCCURL', 'tt'), ('ClosedCaptionURL', 'ttml'), ('webVTTCaptionURL', 'vtt')]: + cc_e = find_xpath_attr(smil, self._xpath_ns('.//param', namespace), 'name', k) + if cc_e is not None: + cc_url = cc_e.get('value') + if cc_url: + subtitles.setdefault(subtitles_lang, []).append({ + 'ext': ext, + 'url': cc_url, + }) + return subtitles class CBSIE(CBSBaseIE): diff --git a/youtube_dl/extractor/cbsnews.py b/youtube_dl/extractor/cbsnews.py index 51df15f..345debc 100644 --- a/youtube_dl/extractor/cbsnews.py +++ b/youtube_dl/extractor/cbsnews.py @@ -1,40 +1,62 @@ # coding: utf-8 from __future__ import unicode_literals +import re +import zlib + from .common import InfoExtractor from .cbs import CBSIE +from ..compat import ( + compat_b64decode, + compat_urllib_parse_unquote, +) from ..utils import ( parse_duration, ) +class CBSNewsEmbedIE(CBSIE): + IE_NAME = 'cbsnews:embed' + _VALID_URL = r'https?://(?:www\.)?cbsnews\.com/embed/video[^#]*#(?P<id>.+)' + _TESTS = [{ + 'url': 'https://www.cbsnews.com/embed/video/?v=1.c9b5b61492913d6660db0b2f03579ef25e86307a#1Vb7b9s2EP5XBAHbT6Gt98PAMKTJ0se6LVjWYWtdGBR1stlIpEBSTtwi%2F%2FvuJNkNhmHdGxgM2NL57vjd6zt%2B8PngdN%2Fyg79qeGvhzN%2FLGrS%2F%2BuBLB531V28%2B%2BO7Qg7%2Fy97r2z3xZ42NW8yLhDbA0S0KWlHnIijwKWJBHZZnHBa8Cgbpdf%2F89NM9Hi9fXifhpr8sr%2FlP848tn%2BTdXycX25zh4cdX%2FvHl6PmmPqnWQv9w8Ed%2B9GjYRim07bFEqdG%2BZVHuwTm65A7bVRrYtR5lAyMox7pigF6W4k%2By91mjspGsJ%2BwVae4%2BsvdnaO1p73HkXs%2FVisUDTGm7R8IcdnOROeq%2B19qT1amhA1VJtPenoTUgrtfKc9m7Rq8dP7nnjwOB7wg7ADdNt7VX64DWAWlKhPtmDEq22g4GF99x6Dk9E8OSsankHXqPNKDxC%2FdK7MLKTircTDgsI3mmj4OBdSq64dy7fd1x577RU1rt4cvMtOaulFYOd%2FLewRWvDO9lIgXFpZSnkZmjbv5SxKTPoQXClFbpsf%2Fhbbpzs0IB3vb8KkyzJQ%2BywOAgCrMpgRrz%2BKk4fvb7kFbR4XJCu0gAdtNO7woCwZTu%2BBUs9bam%2Fds71drVerpeisgrubLjAB4nnOSkWQnfr5W6o1ku5Xpr1MgrCbL0M0vUyDtfLLK15WiYp47xKWSLyjFVpwVmVJSLIoCjSOFkv3W7oKsVliwZJcB9nwXpZ5GEQQwY8jNKqKCBrgjTLeFxgdCIpazojDgnRtn43J6kG7nZ6cAbxh0EeFFk4%2B1u867cY5u4344n%2FxXjCqAjucdTHgLKojNKmSfO8KRsOFY%2FzKEYCKEJBzv90QA9nfm9gL%2BHulaFqUkz9ULUYxl62B3U%2FRVNLA8IhggaPycOoBuwOCESciDQVSSUgiOMsROB%2FhKfwCKOzEk%2B4k6rWd4uuT%2FwTDz7K7t3d3WLO8ISD95jSPQbayBacthbz86XVgxHwhex5zawzgDOmtp%2F3GPcXn0VXHdSS029%2Fj99UC%2FwJUvyKQ%2FzKyixIEVlYJOn4RxxuaH43Ty9fbJ5OObykHH435XAzJTHeOF4hhEUXD8URe%2FQ%2FBT%2BMpf8d5GN02Ox%2FfiGsl7TA7POu1xZ5%2BbTzcAVKMe48mqcC21hkacVEVScM26liVVBnrKkC4CLKyzAvHu0lhEaTKMFwI3a4SN9MsrfYzdBLq2vkwRD1gVviLT8kY9h2CHH6Y%2Bix6609weFtey4ESp60WtyeWMy%2BsmBuhsoKIyuoT%2Bq2R%2FrW5qi3g%2FvzS2j40DoixDP8%2BKP0yUdpXJ4l6Vla%2Bg9vce%2BC4yM5YlUcbA%2F0jLKdpmTwvsdN5z88nAIe08%2F0HgxeG1iv%2B6Hlhjh7uiW0SDzYNI92L401uha3JKYk268UVRzdOzNQvAaJqoXzAc80dAV440NZ1WVVAAMRYQ2KrGJFmDUsq8saWSnjvIj8t78y%2FRa3JRnbHVfyFpfwoDiGpPgjzekyUiKNlU3OMlwuLMmzgvEojllYVE2Z1HhImvsnk%2BuhusTEoB21PAtSFodeFK3iYhXEH9WOG2%2FkOE833sfeG%2Ff5cfHtEFNXgYes0%2FXj7aGivUgJ9XpusCtoNcNYVVnJVrrDo0OmJAutHCpuZul4W9lLcfy7BnuLPT02%2ByXsCTk%2B9zhzswIN04YueNSK%2BPtM0jS88QdLqSLJDTLsuGZJNolm2yO0PXh3UPnz9Ix5bfIAqxPjvETQsDCEiPG4QbqNyhBZISxybLnZYCrW5H3Axp690%2F0BJdXtDZ5ITuM4xj3f4oUHGzc5JeJmZKpp%2FjwKh4wMV%2FV1yx3emLoR0MwbG4K%2F%2BZgVep3PnzXGDHZ6a3i%2Fk%2BJrONDN13%2Bnq6tBTYk4o7cLGhBtqCC4KwacGHpEVuoH5JNro%2FE6JfE6d5RydbiR76k%2BW5wioDHBIjw1euhHjUGRB0y5A97KoaPx6MlL%2BwgboUVtUFRI%2FLemgTpdtF59ii7pab08kuPcfWzs0l%2FRI5takWnFpka0zOgWRtYcuf9aIxZMxlwr6IiGpsb6j2DQUXPl%2FimXI599Ev7fWjoPD78A', + 'only_matching': True, + }] + + def _real_extract(self, url): + item = self._parse_json(zlib.decompress(compat_b64decode( + compat_urllib_parse_unquote(self._match_id(url))), + -zlib.MAX_WBITS), None)['video']['items'][0] + return self._extract_video_info(item['mpxRefId'], 'cbsnews') + + class CBSNewsIE(CBSIE): IE_NAME = 'cbsnews' IE_DESC = 'CBS News' - _VALID_URL = r'https?://(?:www\.)?cbsnews\.com/(?:news|videos)/(?P<id>[\da-z_-]+)' + _VALID_URL = r'https?://(?:www\.)?cbsnews\.com/(?:news|video)/(?P<id>[\da-z_-]+)' _TESTS = [ { # 60 minutes 'url': 'http://www.cbsnews.com/news/artificial-intelligence-positioned-to-be-a-game-changer/', 'info_dict': { - 'id': '_B6Ga3VJrI4iQNKsir_cdFo9Re_YJHE_', - 'ext': 'mp4', - 'title': 'Artificial Intelligence', - 'description': 'md5:8818145f9974431e0fb58a1b8d69613c', + 'id': 'Y_nf_aEg6WwO9OLAq0MpKaPgfnBUxfW4', + 'ext': 'flv', + 'title': 'Artificial Intelligence, real-life applications', + 'description': 'md5:a7aaf27f1b4777244de8b0b442289304', 'thumbnail': r're:^https?://.*\.jpg$', - 'duration': 1606, + 'duration': 317, 'uploader': 'CBSI-NEW', - 'timestamp': 1498431900, - 'upload_date': '20170625', + 'timestamp': 1476046464, + 'upload_date': '20161009', }, 'params': { - # m3u8 download + # rtmp download 'skip_download': True, }, }, { - 'url': 'http://www.cbsnews.com/videos/fort-hood-shooting-army-downplays-mental-illness-as-cause-of-attack/', + 'url': 'https://www.cbsnews.com/video/fort-hood-shooting-army-downplays-mental-illness-as-cause-of-attack/', 'info_dict': { 'id': 'SNJBOYzXiWBOvaLsdzwH8fmtP1SCd91Y', 'ext': 'mp4', @@ -60,37 +82,29 @@ class CBSNewsIE(CBSIE): # 48 hours 'url': 'http://www.cbsnews.com/news/maria-ridulph-murder-will-the-nations-oldest-cold-case-to-go-to-trial-ever-get-solved/', 'info_dict': { - 'id': 'QpM5BJjBVEAUFi7ydR9LusS69DPLqPJ1', - 'ext': 'mp4', 'title': 'Cold as Ice', - 'description': 'Can a childhood memory of a friend\'s murder solve a 1957 cold case? "48 Hours" correspondent Erin Moriarty has the latest.', - 'upload_date': '20170604', - 'timestamp': 1496538000, - 'uploader': 'CBSI-NEW', - }, - 'params': { - 'skip_download': True, + 'description': 'Can a childhood memory solve the 1957 murder of 7-year-old Maria Ridulph?', }, + 'playlist_mincount': 7, }, ] def _real_extract(self, url): - video_id = self._match_id(url) - - webpage = self._download_webpage(url, video_id) + display_id = self._match_id(url) - video_info = self._parse_json(self._html_search_regex( - r'(?:<ul class="media-list items" id="media-related-items"[^>]*><li data-video-info|<div id="cbsNewsVideoPlayer" data-video-player-options)=\'({.+?})\'', - webpage, 'video JSON info', default='{}'), video_id, fatal=False) + webpage = self._download_webpage(url, display_id) - if video_info: - item = video_info['item'] if 'item' in video_info else video_info - else: - state = self._parse_json(self._search_regex( - r'data-cbsvideoui-options=(["\'])(?P<json>{.+?})\1', webpage, - 'playlist JSON info', group='json'), video_id)['state'] - item = state['playlist'][state['pid']] + entries = [] + for embed_url in re.findall(r'<iframe[^>]+data-src="(https?://(?:www\.)?cbsnews\.com/embed/video/[^#]*#[^"]+)"', webpage): + entries.append(self.url_result(embed_url, CBSNewsEmbedIE.ie_key())) + if entries: + return self.playlist_result( + entries, playlist_title=self._html_search_meta(['og:title', 'twitter:title'], webpage), + playlist_description=self._html_search_meta(['og:description', 'twitter:description', 'description'], webpage)) + item = self._parse_json(self._html_search_regex( + r'CBSNEWS\.defaultPayload\s*=\s*({.+})', + webpage, 'video JSON info'), display_id)['items'][0] return self._extract_video_info(item['mpxRefId'], 'cbsnews') diff --git a/youtube_dl/extractor/ccc.py b/youtube_dl/extractor/ccc.py index 7347021..36e6dff 100644 --- a/youtube_dl/extractor/ccc.py +++ b/youtube_dl/extractor/ccc.py @@ -1,9 +1,12 @@ +# coding: utf-8 from __future__ import unicode_literals from .common import InfoExtractor from ..utils import ( int_or_none, parse_iso8601, + try_get, + url_or_none, ) @@ -18,11 +21,13 @@ class CCCIE(InfoExtractor): 'id': '1839', 'ext': 'mp4', 'title': 'Introduction to Processor Design', + 'creator': 'byterazor', 'description': 'md5:df55f6d073d4ceae55aae6f2fd98a0ac', 'thumbnail': r're:^https?://.*\.jpg$', 'upload_date': '20131228', 'timestamp': 1388188800, 'duration': 3710, + 'tags': list, } }, { 'url': 'https://media.ccc.de/v/32c3-7368-shopshifting#download', @@ -68,6 +73,7 @@ class CCCIE(InfoExtractor): 'id': event_id, 'display_id': display_id, 'title': event_data['title'], + 'creator': try_get(event_data, lambda x: ', '.join(x['persons'])), 'description': event_data.get('description'), 'thumbnail': event_data.get('thumb_url'), 'timestamp': parse_iso8601(event_data.get('date')), @@ -75,3 +81,31 @@ class CCCIE(InfoExtractor): 'tags': event_data.get('tags'), 'formats': formats, } + + +class CCCPlaylistIE(InfoExtractor): + IE_NAME = 'media.ccc.de:lists' + _VALID_URL = r'https?://(?:www\.)?media\.ccc\.de/c/(?P<id>[^/?#&]+)' + _TESTS = [{ + 'url': 'https://media.ccc.de/c/30c3', + 'info_dict': { + 'title': '30C3', + 'id': '30c3', + }, + 'playlist_count': 135, + }] + + def _real_extract(self, url): + playlist_id = self._match_id(url).lower() + + conf = self._download_json( + 'https://media.ccc.de/public/conferences/' + playlist_id, + playlist_id) + + entries = [] + for e in conf['events']: + event_url = url_or_none(e.get('frontend_link')) + if event_url: + entries.append(self.url_result(event_url, ie=CCCIE.ie_key())) + + return self.playlist_result(entries, playlist_id, conf.get('title')) diff --git a/youtube_dl/extractor/ceskatelevize.py b/youtube_dl/extractor/ceskatelevize.py index 4638043..1ec58f7 100644 --- a/youtube_dl/extractor/ceskatelevize.py +++ b/youtube_dl/extractor/ceskatelevize.py @@ -155,7 +155,7 @@ class CeskaTelevizeIE(InfoExtractor): stream_formats = self._extract_mpd_formats( stream_url, playlist_id, mpd_id='dash-%s' % format_id, fatal=False) - # See https://github.com/rg3/youtube-dl/issues/12119#issuecomment-280037031 + # See https://github.com/ytdl-org/youtube-dl/issues/12119#issuecomment-280037031 if format_id == 'audioDescription': for f in stream_formats: f['source_preference'] = -10 diff --git a/youtube_dl/extractor/cinemax.py b/youtube_dl/extractor/cinemax.py new file mode 100644 index 0000000..7f89d33 --- /dev/null +++ b/youtube_dl/extractor/cinemax.py @@ -0,0 +1,29 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .hbo import HBOBaseIE + + +class CinemaxIE(HBOBaseIE): + _VALID_URL = r'https?://(?:www\.)?cinemax\.com/(?P<path>[^/]+/video/[0-9a-z-]+-(?P<id>\d+))' + _TESTS = [{ + 'url': 'https://www.cinemax.com/warrior/video/s1-ep-1-recap-20126903', + 'md5': '82e0734bba8aa7ef526c9dd00cf35a05', + 'info_dict': { + 'id': '20126903', + 'ext': 'mp4', + 'title': 'S1 Ep 1: Recap', + }, + 'expected_warnings': ['Unknown MIME type application/mp4 in DASH manifest'], + }, { + 'url': 'https://www.cinemax.com/warrior/video/s1-ep-1-recap-20126903.embed', + 'only_matching': True, + }] + + def _real_extract(self, url): + path, video_id = re.match(self._VALID_URL, url).groups() + info = self._extract_info('https://www.cinemax.com/%s.xml' % path, video_id) + info['id'] = video_id + return info diff --git a/youtube_dl/extractor/ciscolive.py b/youtube_dl/extractor/ciscolive.py index c99b6ee..da404e4 100644 --- a/youtube_dl/extractor/ciscolive.py +++ b/youtube_dl/extractor/ciscolive.py @@ -65,8 +65,8 @@ class CiscoLiveBaseIE(InfoExtractor): class CiscoLiveSessionIE(CiscoLiveBaseIE): - _VALID_URL = r'https?://ciscolive\.cisco\.com/on-demand-library/\??[^#]*#/session/(?P<id>[^/?&]+)' - _TEST = { + _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/[^#]*#/session/(?P<id>[^/?&]+)' + _TESTS = [{ 'url': 'https://ciscolive.cisco.com/on-demand-library/?#/session/1423353499155001FoSs', 'md5': 'c98acf395ed9c9f766941c70f5352e22', 'info_dict': { @@ -79,7 +79,13 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): 'uploader_id': '5647924234001', 'location': '16B Mezz.', }, - } + }, { + 'url': 'https://www.ciscolive.com/global/on-demand-library.html?search.event=ciscoliveemea2019#/session/15361595531500013WOU', + 'only_matching': True, + }, { + 'url': 'https://www.ciscolive.com/global/on-demand-library.html?#/session/1490051371645001kNaS', + 'only_matching': True, + }] def _real_extract(self, url): rf_id = self._match_id(url) @@ -88,7 +94,7 @@ class CiscoLiveSessionIE(CiscoLiveBaseIE): class CiscoLiveSearchIE(CiscoLiveBaseIE): - _VALID_URL = r'https?://ciscolive\.cisco\.com/on-demand-library/' + _VALID_URL = r'https?://(?:www\.)?ciscolive(?:\.cisco)?\.com/(?:global/)?on-demand-library(?:\.html|/)' _TESTS = [{ 'url': 'https://ciscolive.cisco.com/on-demand-library/?search.event=ciscoliveus2018&search.technicallevel=scpsSkillLevel_aintroductory&search.focus=scpsSessionFocus_designAndDeployment#/', 'info_dict': { @@ -98,6 +104,9 @@ class CiscoLiveSearchIE(CiscoLiveBaseIE): }, { 'url': 'https://ciscolive.cisco.com/on-demand-library/?search.technology=scpsTechnology_applicationDevelopment&search.technology=scpsTechnology_ipv6&search.focus=scpsSessionFocus_troubleshootingTroubleshooting#/', 'only_matching': True, + }, { + 'url': 'https://www.ciscolive.com/global/on-demand-library.html?search.technicallevel=scpsSkillLevel_aintroductory&search.event=ciscoliveemea2019&search.technology=scpsTechnology_dataCenter&search.focus=scpsSessionFocus_bestPractices#/', + 'only_matching': True, }] @classmethod diff --git a/youtube_dl/extractor/cloudflarestream.py b/youtube_dl/extractor/cloudflarestream.py index e6d92cc..8ff2c65 100644 --- a/youtube_dl/extractor/cloudflarestream.py +++ b/youtube_dl/extractor/cloudflarestream.py @@ -10,8 +10,8 @@ class CloudflareStreamIE(InfoExtractor): _VALID_URL = r'''(?x) https?:// (?: - (?:watch\.)?cloudflarestream\.com/| - embed\.cloudflarestream\.com/embed/[^/]+\.js\?.*?\bvideo= + (?:watch\.)?(?:cloudflarestream\.com|videodelivery\.net)/| + embed\.(?:cloudflarestream\.com|videodelivery\.net)/embed/[^/]+\.js\?.*?\bvideo= ) (?P<id>[\da-f]+) ''' @@ -31,6 +31,9 @@ class CloudflareStreamIE(InfoExtractor): }, { 'url': 'https://cloudflarestream.com/31c9291ab41fac05471db4e73aa11717/manifest/video.mpd', 'only_matching': True, + }, { + 'url': 'https://embed.videodelivery.net/embed/r4xu.fla9.latest.js?video=81d80727f3022488598f68d323c1ad5e', + 'only_matching': True, }] @staticmethod @@ -38,7 +41,7 @@ class CloudflareStreamIE(InfoExtractor): return [ mobj.group('url') for mobj in re.finditer( - r'<script[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//embed\.cloudflarestream\.com/embed/[^/]+\.js\?.*?\bvideo=[\da-f]+?.*?)\1', + r'<script[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//embed\.(?:cloudflarestream\.com|videodelivery\.net)/embed/[^/]+\.js\?.*?\bvideo=[\da-f]+?.*?)\1', webpage)] def _real_extract(self, url): diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index 9e7febc..9c3e9ee 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -17,6 +17,7 @@ import math from ..compat import ( compat_cookiejar, compat_cookies, + compat_etree_Element, compat_etree_fromstring, compat_getpass, compat_integer_types, @@ -43,6 +44,7 @@ from ..utils import ( compiled_regex_type, determine_ext, determine_protocol, + dict_get, error_to_compat_str, ExtractorError, extract_attributes, @@ -55,13 +57,17 @@ from ..utils import ( JSON_LD_RE, mimetype2ext, orderedSet, + parse_bitrate, parse_codecs, parse_duration, parse_iso8601, parse_m3u8_attributes, + parse_resolution, RegexNotFoundError, sanitized_Request, sanitize_filename, + str_or_none, + strip_or_none, unescapeHTML, unified_strdate, unified_timestamp, @@ -102,10 +108,26 @@ class InfoExtractor(object): from worst to best quality. Potential fields: - * url Mandatory. The URL of the video file + * url The mandatory URL representing the media: + for plain file media - HTTP URL of this file, + for RTMP - RTMP URL, + for HLS - URL of the M3U8 media playlist, + for HDS - URL of the F4M manifest, + for DASH + - HTTP URL to plain file media (in case of + unfragmented media) + - URL of the MPD manifest or base URL + representing the media if MPD manifest + is parsed from a string (in case of + fragmented media) + for MSS - URL of the ISM manifest. * manifest_url The URL of the manifest file in case of - fragmented media (DASH, hls, hds) + fragmented media: + for HLS - URL of the M3U8 master playlist, + for HDS - URL of the F4M manifest, + for DASH - URL of the MPD manifest, + for MSS - URL of the ISM manifest. * ext Will be calculated from URL if missing * format A human-readable description of the format ("mp4 container with h264/opus"). @@ -521,11 +543,11 @@ class InfoExtractor(object): raise ExtractorError('An extractor error has occurred.', cause=e) def __maybe_fake_ip_and_retry(self, countries): - if (not self._downloader.params.get('geo_bypass_country', None) and - self._GEO_BYPASS and - self._downloader.params.get('geo_bypass', True) and - not self._x_forwarded_for_ip and - countries): + if (not self._downloader.params.get('geo_bypass_country', None) + and self._GEO_BYPASS + and self._downloader.params.get('geo_bypass', True) + and not self._x_forwarded_for_ip + and countries): country_code = random.choice(countries) self._x_forwarded_for_ip = GeoUtils.random_ipv4(country_code) if self._x_forwarded_for_ip: @@ -661,8 +683,8 @@ class InfoExtractor(object): def __check_blocked(self, content): first_block = content[:512] - if ('<title>Access to this site is blocked</title>' in content and - 'Websense' in first_block): + if ('<title>Access to this site is blocked</title>' in content + and 'Websense' in first_block): msg = 'Access to this webpage has been blocked by Websense filtering software in your network.' blocked_iframe = self._html_search_regex( r'<iframe src="([^"]+)"', content, @@ -680,8 +702,8 @@ class InfoExtractor(object): if block_msg: msg += ' (Message: "%s")' % block_msg.replace('\n', ' ') raise ExtractorError(msg, expected=True) - if ('<title>TTK :: ÐоÑÑÑп к ÑеÑÑÑÑÑ Ð¾Ð³ÑаниÑен</title>' in content and - 'blocklist.rkn.gov.ru' in content): + if ('<title>TTK :: ÐоÑÑÑп к ÑеÑÑÑÑÑ Ð¾Ð³ÑаниÑен</title>' in content + and 'blocklist.rkn.gov.ru' in content): raise ExtractorError( 'Access to this webpage has been blocked by decision of the Russian government. ' 'Visit http://blocklist.rkn.gov.ru/ for a block reason.', @@ -788,7 +810,7 @@ class InfoExtractor(object): fatal=True, encoding=None, data=None, headers={}, query={}, expected_status=None): """ - Return a tuple (xml as an xml.etree.ElementTree.Element, URL handle). + Return a tuple (xml as an compat_etree_Element, URL handle). See _download_webpage docstring for arguments specification. """ @@ -809,7 +831,7 @@ class InfoExtractor(object): transform_source=None, fatal=True, encoding=None, data=None, headers={}, query={}, expected_status=None): """ - Return the xml as an xml.etree.ElementTree.Element. + Return the xml as an compat_etree_Element. See _download_webpage docstring for arguments specification. """ @@ -1058,7 +1080,7 @@ class InfoExtractor(object): @staticmethod def _og_regexes(prop): content_re = r'content=(?:"([^"]+?)"|\'([^\']+?)\'|\s*([^\s"\'=<>`]+?))' - property_re = (r'(?:name|property)=(?:\'og:%(prop)s\'|"og:%(prop)s"|\s*og:%(prop)s\b)' + property_re = (r'(?:name|property)=(?:\'og[:-]%(prop)s\'|"og[:-]%(prop)s"|\s*og[:-]%(prop)s\b)' % {'prop': re.escape(prop)}) template = r'<meta[^>]+?%s[^>]+?%s' return [ @@ -1249,7 +1271,10 @@ class InfoExtractor(object): info['title'] = episode_name part_of_season = e.get('partOfSeason') if isinstance(part_of_season, dict) and part_of_season.get('@type') in ('TVSeason', 'Season', 'CreativeWorkSeason'): - info['season_number'] = int_or_none(part_of_season.get('seasonNumber')) + info.update({ + 'season': unescapeHTML(part_of_season.get('name')), + 'season_number': int_or_none(part_of_season.get('seasonNumber')), + }) part_of_series = e.get('partOfSeries') or e.get('partOfTVSeries') if isinstance(part_of_series, dict) and part_of_series.get('@type') in ('TVSeries', 'Series', 'CreativeWorkSeries'): info['series'] = unescapeHTML(part_of_series.get('name')) @@ -1437,7 +1462,7 @@ class InfoExtractor(object): manifest_url, video_id, 'Downloading f4m manifest', 'Unable to download f4m manifest', # Some manifests may be malformed, e.g. prosiebensat1 generated manifests - # (see https://github.com/rg3/youtube-dl/issues/6215#issuecomment-121704244) + # (see https://github.com/ytdl-org/youtube-dl/issues/6215#issuecomment-121704244) transform_source=transform_source, fatal=fatal) @@ -1451,6 +1476,9 @@ class InfoExtractor(object): def _parse_f4m_formats(self, manifest, manifest_url, video_id, preference=None, f4m_id=None, transform_source=lambda s: fix_xml_ampersands(s).strip(), fatal=True, m3u8_id=None): + if not isinstance(manifest, compat_etree_Element) and not fatal: + return [] + # currently youtube-dl cannot decode the playerVerificationChallenge as Akamai uses Adobe Alchemy akamai_pv = manifest.find('{http://ns.adobe.com/f4m/1.0}pv-2.0') if akamai_pv is not None and ';' in akamai_pv.text: @@ -1465,7 +1493,7 @@ class InfoExtractor(object): manifest_version = '2.0' media_nodes = manifest.findall('{http://ns.adobe.com/f4m/2.0}media') # Remove unsupported DRM protected media from final formats - # rendition (see https://github.com/rg3/youtube-dl/issues/8573). + # rendition (see https://github.com/ytdl-org/youtube-dl/issues/8573). media_nodes = remove_encrypted_media(media_nodes) if not media_nodes: return formats @@ -1595,7 +1623,8 @@ class InfoExtractor(object): # References: # 1. https://tools.ietf.org/html/draft-pantos-http-live-streaming-21 - # 2. https://github.com/rg3/youtube-dl/issues/12211 + # 2. https://github.com/ytdl-org/youtube-dl/issues/12211 + # 3. https://github.com/ytdl-org/youtube-dl/issues/18923 # We should try extracting formats only from master playlists [1, 4.3.4], # i.e. playlists that describe available qualities. On the other hand @@ -1667,17 +1696,22 @@ class InfoExtractor(object): rendition = stream_group[0] return rendition.get('NAME') or stream_group_id + # parse EXT-X-MEDIA tags before EXT-X-STREAM-INF in order to have the + # chance to detect video only formats when EXT-X-STREAM-INF tags + # precede EXT-X-MEDIA tags in HLS manifest such as [3]. + for line in m3u8_doc.splitlines(): + if line.startswith('#EXT-X-MEDIA:'): + extract_media(line) + for line in m3u8_doc.splitlines(): if line.startswith('#EXT-X-STREAM-INF:'): last_stream_inf = parse_m3u8_attributes(line) - elif line.startswith('#EXT-X-MEDIA:'): - extract_media(line) elif line.startswith('#') or not line.strip(): continue else: tbr = float_or_none( - last_stream_inf.get('AVERAGE-BANDWIDTH') or - last_stream_inf.get('BANDWIDTH'), scale=1000) + last_stream_inf.get('AVERAGE-BANDWIDTH') + or last_stream_inf.get('BANDWIDTH'), scale=1000) format_id = [] if m3u8_id: format_id.append(m3u8_id) @@ -1986,6 +2020,8 @@ class InfoExtractor(object): if res is False: return [] mpd_doc, urlh = res + if mpd_doc is None: + return [] mpd_base_url = base_url(urlh.geturl()) return self._parse_mpd_formats( @@ -2111,7 +2147,6 @@ class InfoExtractor(object): bandwidth = int_or_none(representation_attrib.get('bandwidth')) f = { 'format_id': '%s-%s' % (mpd_id, representation_id) if mpd_id else representation_id, - 'url': base_url, 'manifest_url': mpd_url, 'ext': mimetype2ext(mime_type), 'width': int_or_none(representation_attrib.get('width')), @@ -2132,7 +2167,7 @@ class InfoExtractor(object): # First of, % characters outside $...$ templates # must be escaped by doubling for proper processing # by % operator string formatting used further (see - # https://github.com/rg3/youtube-dl/issues/16867). + # https://github.com/ytdl-org/youtube-dl/issues/16867). t = '' in_template = False for c in tmpl: @@ -2151,7 +2186,7 @@ class InfoExtractor(object): # @initialization is a regular template like @media one # so it should be handled just the same way (see - # https://github.com/rg3/youtube-dl/issues/11605) + # https://github.com/ytdl-org/youtube-dl/issues/11605) if 'initialization' in representation_ms_info: initialization_template = prepare_template( 'initialization', @@ -2237,7 +2272,7 @@ class InfoExtractor(object): elif 'segment_urls' in representation_ms_info: # Segment URLs with no SegmentTimeline # Example: https://www.seznam.cz/zpravy/clanek/cesko-zasahne-vitr-o-sile-vichrice-muze-byt-i-zivotu-nebezpecny-39091 - # https://github.com/rg3/youtube-dl/pull/14844 + # https://github.com/ytdl-org/youtube-dl/pull/14844 fragments = [] segment_duration = float_or_none( representation_ms_info['segment_duration'], @@ -2250,10 +2285,14 @@ class InfoExtractor(object): fragment['duration'] = segment_duration fragments.append(fragment) representation_ms_info['fragments'] = fragments - # NB: MPD manifest may contain direct URLs to unfragmented media. - # No fragments key is present in this case. + # If there is a fragments key available then we correctly recognized fragmented media. + # Otherwise we will assume unfragmented media with direct access. Technically, such + # assumption is not necessarily correct since we may simply have no support for + # some forms of fragmented media renditions yet, but for now we'll use this fallback. if 'fragments' in representation_ms_info: f.update({ + # NB: mpd_url may be empty when MPD manifest is parsed from a string + 'url': mpd_url or base_url, 'fragment_base_url': base_url, 'fragments': [], 'protocol': 'http_dash_segments', @@ -2264,11 +2303,15 @@ class InfoExtractor(object): f['url'] = initialization_url f['fragments'].append({location_key(initialization_url): initialization_url}) f['fragments'].extend(representation_ms_info['fragments']) + else: + # Assuming direct URL to unfragmented media. + f['url'] = base_url + # According to [1, 5.3.5.2, Table 7, page 35] @id of Representation # is not necessarily unique within a Period thus formats with # the same `format_id` are quite possible. There are numerous examples - # of such manifests (see https://github.com/rg3/youtube-dl/issues/15111, - # https://github.com/rg3/youtube-dl/issues/13919) + # of such manifests (see https://github.com/ytdl-org/youtube-dl/issues/15111, + # https://github.com/ytdl-org/youtube-dl/issues/13919) full_info = formats_dict.get(representation_id, {}).copy() full_info.update(f) formats.append(full_info) @@ -2429,7 +2472,7 @@ class InfoExtractor(object): media_tags.extend(re.findall( # We only allow video|audio followed by a whitespace or '>'. # Allowing more characters may end up in significant slow down (see - # https://github.com/rg3/youtube-dl/issues/11979, example URL: + # https://github.com/ytdl-org/youtube-dl/issues/11979, example URL: # http://www.porntrex.com/maps/videositemap.xml). r'(?s)(<(?P<tag>(?:amp-)?(?:video|audio))(?:\s+[^>]*)?>)(.*?)</(?P=tag)>', webpage)) for media_tag, media_type, media_content in media_tags: @@ -2438,25 +2481,50 @@ class InfoExtractor(object): 'subtitles': {}, } media_attributes = extract_attributes(media_tag) - src = media_attributes.get('src') + src = strip_or_none(media_attributes.get('src')) if src: _, formats = _media_formats(src, media_type) media_info['formats'].extend(formats) media_info['thumbnail'] = absolute_url(media_attributes.get('poster')) if media_content: for source_tag in re.findall(r'<source[^>]+>', media_content): - source_attributes = extract_attributes(source_tag) - src = source_attributes.get('src') + s_attr = extract_attributes(source_tag) + # data-video-src and data-src are non standard but seen + # several times in the wild + src = strip_or_none(dict_get(s_attr, ('src', 'data-video-src', 'data-src'))) if not src: continue - f = parse_content_type(source_attributes.get('type')) + f = parse_content_type(s_attr.get('type')) is_plain_url, formats = _media_formats(src, media_type, f) if is_plain_url: - # res attribute is not standard but seen several times - # in the wild + # width, height, res, label and title attributes are + # all not standard but seen several times in the wild + labels = [ + s_attr.get(lbl) + for lbl in ('label', 'title') + if str_or_none(s_attr.get(lbl)) + ] + width = int_or_none(s_attr.get('width')) + height = (int_or_none(s_attr.get('height')) + or int_or_none(s_attr.get('res'))) + if not width or not height: + for lbl in labels: + resolution = parse_resolution(lbl) + if not resolution: + continue + width = width or resolution.get('width') + height = height or resolution.get('height') + for lbl in labels: + tbr = parse_bitrate(lbl) + if tbr: + break + else: + tbr = None f.update({ - 'height': int_or_none(source_attributes.get('res')), - 'format_id': source_attributes.get('label'), + 'width': width, + 'height': height, + 'tbr': tbr, + 'format_id': s_attr.get('label') or s_attr.get('title'), }) f.update(formats[0]) media_info['formats'].append(f) @@ -2466,7 +2534,7 @@ class InfoExtractor(object): track_attributes = extract_attributes(track_tag) kind = track_attributes.get('kind') if not kind or kind in ('subtitles', 'captions'): - src = track_attributes.get('src') + src = strip_or_none(track_attributes.get('src')) if not src: continue lang = track_attributes.get('srclang') or track_attributes.get('lang') or track_attributes.get('label') @@ -2624,7 +2692,7 @@ class InfoExtractor(object): 'id': this_video_id, 'title': unescapeHTML(video_data['title'] if require_title else video_data.get('title')), 'description': video_data.get('description'), - 'thumbnail': self._proto_relative_url(video_data.get('image')), + 'thumbnail': urljoin(base_url, self._proto_relative_url(video_data.get('image'))), 'timestamp': int_or_none(video_data.get('pubdate')), 'duration': float_or_none(jwplayer_data.get('duration') or video_data.get('duration')), 'subtitles': subtitles, @@ -2651,12 +2719,9 @@ class InfoExtractor(object): for source in jwplayer_sources_data: if not isinstance(source, dict): continue - source_url = self._proto_relative_url(source.get('file')) - if not source_url: - continue - if base_url: - source_url = compat_urlparse.urljoin(base_url, source_url) - if source_url in urls: + source_url = urljoin( + base_url, self._proto_relative_url(source.get('file'))) + if not source_url or source_url in urls: continue urls.append(source_url) source_type = source.get('type') or '' @@ -2753,6 +2818,33 @@ class InfoExtractor(object): self._downloader.cookiejar.add_cookie_header(req) return compat_cookies.SimpleCookie(req.get_header('Cookie')) + def _apply_first_set_cookie_header(self, url_handle, cookie): + """ + Apply first Set-Cookie header instead of the last. Experimental. + + Some sites (e.g. [1-3]) may serve two cookies under the same name + in Set-Cookie header and expect the first (old) one to be set rather + than second (new). However, as of RFC6265 the newer one cookie + should be set into cookie store what actually happens. + We will workaround this issue by resetting the cookie to + the first one manually. + 1. https://new.vk.com/ + 2. https://github.com/ytdl-org/youtube-dl/issues/9841#issuecomment-227871201 + 3. https://learning.oreilly.com/ + """ + for header, cookies in url_handle.headers.items(): + if header.lower() != 'set-cookie': + continue + if sys.version_info[0] >= 3: + cookies = cookies.encode('iso-8859-1') + cookies = cookies.decode('utf-8') + cookie_value = re.search( + r'%s=(.+?);.*?\b[Dd]omain=(.+?)(?:[,;]|$)' % cookie, cookies) + if cookie_value: + value, domain = cookie_value.groups() + self._set_cookie(domain, cookie, value) + break + def get_testcases(self, include_onlymatching=False): t = getattr(self, '_TEST', None) if t: @@ -2783,8 +2875,8 @@ class InfoExtractor(object): return not any_restricted def extract_subtitles(self, *args, **kwargs): - if (self._downloader.params.get('writesubtitles', False) or - self._downloader.params.get('listsubtitles')): + if (self._downloader.params.get('writesubtitles', False) + or self._downloader.params.get('listsubtitles')): return self._get_subtitles(*args, **kwargs) return {} @@ -2809,8 +2901,8 @@ class InfoExtractor(object): return ret def extract_automatic_captions(self, *args, **kwargs): - if (self._downloader.params.get('writeautomaticsub', False) or - self._downloader.params.get('listsubtitles')): + if (self._downloader.params.get('writeautomaticsub', False) + or self._downloader.params.get('listsubtitles')): return self._get_automatic_captions(*args, **kwargs) return {} @@ -2818,9 +2910,9 @@ class InfoExtractor(object): raise NotImplementedError('This method must be implemented by subclasses') def mark_watched(self, *args, **kwargs): - if (self._downloader.params.get('mark_watched', False) and - (self._get_login_info()[0] is not None or - self._downloader.params.get('cookiefile') is not None)): + if (self._downloader.params.get('mark_watched', False) + and (self._get_login_info()[0] is not None + or self._downloader.params.get('cookiefile') is not None)): self._mark_watched(*args, **kwargs) def _mark_watched(self, *args, **kwargs): diff --git a/youtube_dl/extractor/commonmistakes.py b/youtube_dl/extractor/commonmistakes.py index 79f7a9c..7e12499 100644 --- a/youtube_dl/extractor/commonmistakes.py +++ b/youtube_dl/extractor/commonmistakes.py @@ -32,19 +32,19 @@ class CommonMistakesIE(InfoExtractor): class UnicodeBOMIE(InfoExtractor): - IE_DESC = False - _VALID_URL = r'(?P<bom>\ufeff)(?P<id>.*)$' - - # Disable test for python 3.2 since BOM is broken in re in this version - # (see https://github.com/rg3/youtube-dl/issues/9751) - _TESTS = [] if (3, 0) < sys.version_info <= (3, 3) else [{ - 'url': '\ufeffhttp://www.youtube.com/watch?v=BaW_jenozKc', - 'only_matching': True, - }] - - def _real_extract(self, url): - real_url = self._match_id(url) - self.report_warning( - 'Your URL starts with a Byte Order Mark (BOM). ' - 'Removing the BOM and looking for "%s" ...' % real_url) - return self.url_result(real_url) + IE_DESC = False + _VALID_URL = r'(?P<bom>\ufeff)(?P<id>.*)$' + + # Disable test for python 3.2 since BOM is broken in re in this version + # (see https://github.com/ytdl-org/youtube-dl/issues/9751) + _TESTS = [] if (3, 0) < sys.version_info <= (3, 3) else [{ + 'url': '\ufeffhttp://www.youtube.com/watch?v=BaW_jenozKc', + 'only_matching': True, + }] + + def _real_extract(self, url): + real_url = self._match_id(url) + self.report_warning( + 'Your URL starts with a Byte Order Mark (BOM). ' + 'Removing the BOM and looking for "%s" ...' % real_url) + return self.url_result(real_url) diff --git a/youtube_dl/extractor/corus.py b/youtube_dl/extractor/corus.py index 807a29e..a1b2518 100644 --- a/youtube_dl/extractor/corus.py +++ b/youtube_dl/extractor/corus.py @@ -13,9 +13,9 @@ class CorusIE(ThePlatformFeedIE): (?:www\.)? (?P<domain> (?:globaltv|etcanada)\.com| - (?:hgtv|foodnetwork|slice|history|showcase)\.ca + (?:hgtv|foodnetwork|slice|history|showcase|bigbrothercanada)\.ca ) - /(?:video/|(?:[^/]+/)+(?:videos/[a-z0-9-]+-|video\.html\?.*?\bv=)) + /(?:video/(?:[^/]+/)?|(?:[^/]+/)+(?:videos/[a-z0-9-]+-|video\.html\?.*?\bv=)) (?P<id>\d+) ''' _TESTS = [{ @@ -42,6 +42,12 @@ class CorusIE(ThePlatformFeedIE): }, { 'url': 'http://www.showcase.ca/eyewitness/video/eyewitness++106/video.html?v=955070531919&p=1&s=da#video', 'only_matching': True, + }, { + 'url': 'http://www.bigbrothercanada.ca/video/1457812035894/', + 'only_matching': True + }, { + 'url': 'https://www.bigbrothercanada.ca/video/big-brother-canada-704/1457812035894/', + 'only_matching': True }] _TP_FEEDS = { @@ -73,6 +79,10 @@ class CorusIE(ThePlatformFeedIE): 'feed_id': '9H6qyshBZU3E', 'account_id': 2414426607, }, + 'bigbrothercanada': { + 'feed_id': 'ChQqrem0lNUp', + 'account_id': 2269680845, + }, } def _real_extract(self, url): diff --git a/youtube_dl/extractor/crackle.py b/youtube_dl/extractor/crackle.py index f73ef6b..49bf3a4 100644 --- a/youtube_dl/extractor/crackle.py +++ b/youtube_dl/extractor/crackle.py @@ -1,7 +1,10 @@ # coding: utf-8 from __future__ import unicode_literals, division +import hashlib +import hmac import re +import time from .common import InfoExtractor from ..compat import compat_HTTPError @@ -74,13 +77,16 @@ class CrackleIE(InfoExtractor): for country in countries: try: + # Authorization generation algorithm is reverse engineered from: + # https://www.sonycrackle.com/static/js/main.ea93451f.chunk.js + media_detail_url = 'https://web-api-us.crackle.com/Service.svc/details/media/%s/%s?disableProtocols=true' % (video_id, country) + timestamp = time.strftime('%Y%m%d%H%M', time.gmtime()) + h = hmac.new(b'IGSLUQCBDFHEOIFM', '|'.join([media_detail_url, timestamp]).encode(), hashlib.sha1).hexdigest().upper() media = self._download_json( - 'https://web-api-us.crackle.com/Service.svc/details/media/%s/%s' - % (video_id, country), video_id, - 'Downloading media JSON as %s' % country, - 'Unable to download media JSON', query={ - 'disableProtocols': 'true', - 'format': 'json' + media_detail_url, video_id, 'Downloading media JSON as %s' % country, + 'Unable to download media JSON', headers={ + 'Accept': 'application/json', + 'Authorization': '|'.join([h, timestamp, '117', '1']), }) except ExtractorError as e: # 401 means geo restriction, trying next country diff --git a/youtube_dl/extractor/criterion.py b/youtube_dl/extractor/criterion.py deleted file mode 100644 index f7815b9..0000000 --- a/youtube_dl/extractor/criterion.py +++ /dev/null @@ -1,39 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -from .common import InfoExtractor - - -class CriterionIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?criterion\.com/films/(?P<id>[0-9]+)-.+' - _TEST = { - 'url': 'http://www.criterion.com/films/184-le-samourai', - 'md5': 'bc51beba55685509883a9a7830919ec3', - 'info_dict': { - 'id': '184', - 'ext': 'mp4', - 'title': 'Le Samouraï', - 'description': 'md5:a2b4b116326558149bef81f76dcbb93f', - 'thumbnail': r're:^https?://.*\.jpg$', - } - } - - def _real_extract(self, url): - video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) - - final_url = self._search_regex( - r'so\.addVariable\("videoURL", "(.+?)"\)\;', webpage, 'video url') - title = self._og_search_title(webpage) - description = self._html_search_meta('description', webpage) - thumbnail = self._search_regex( - r'so\.addVariable\("thumbnailURL", "(.+?)"\)\;', - webpage, 'thumbnail url') - - return { - 'id': video_id, - 'url': final_url, - 'title': title, - 'description': description, - 'thumbnail': thumbnail, - } diff --git a/youtube_dl/extractor/crunchyroll.py b/youtube_dl/extractor/crunchyroll.py index 4a68d09..588c3c7 100644 --- a/youtube_dl/extractor/crunchyroll.py +++ b/youtube_dl/extractor/crunchyroll.py @@ -3,7 +3,6 @@ from __future__ import unicode_literals import re import json -import xml.etree.ElementTree as etree import zlib from hashlib import sha1 @@ -12,6 +11,7 @@ from .common import InfoExtractor from .vrv import VRVIE from ..compat import ( compat_b64decode, + compat_etree_Element, compat_etree_fromstring, compat_urllib_parse_urlencode, compat_urllib_request, @@ -56,22 +56,11 @@ class CrunchyrollBaseIE(InfoExtractor): if username is None: return - self._download_webpage( - 'https://www.crunchyroll.com/?a=formhandler', - None, 'Logging in', 'Wrong login info', - data=urlencode_postdata({ - 'formname': 'RpcApiUser_Login', - 'next_url': 'https://www.crunchyroll.com/acct/membership', - 'name': username, - 'password': password, - })) - - ''' login_page = self._download_webpage( self._LOGIN_URL, None, 'Downloading login page') def is_logged(webpage): - return '<title>Redirecting' in webpage + return 'href="/logout"' in webpage # Already logged in if is_logged(login_page): @@ -110,7 +99,6 @@ class CrunchyrollBaseIE(InfoExtractor): raise ExtractorError('Unable to login: %s' % error, expected=True) raise ExtractorError('Unable to log in') - ''' def _real_initialize(self): self._login() @@ -119,7 +107,7 @@ class CrunchyrollBaseIE(InfoExtractor): request = (url_or_request if isinstance(url_or_request, compat_urllib_request.Request) else sanitized_Request(url_or_request)) # Accept-Language must be set explicitly to accept any language to avoid issues - # similar to https://github.com/rg3/youtube-dl/issues/6797. + # similar to https://github.com/ytdl-org/youtube-dl/issues/6797. # Along with IP address Crunchyroll uses Accept-Language to guess whether georestriction # should be imposed or not (from what I can see it just takes the first language # ignoring the priority and requires it to correspond the IP). By the way this causes @@ -136,7 +124,7 @@ class CrunchyrollBaseIE(InfoExtractor): # > This content may be inappropriate for some people. # > Are you sure you want to continue? # since it's not disabled by default in crunchyroll account's settings. - # See https://github.com/rg3/youtube-dl/issues/7202. + # See https://github.com/ytdl-org/youtube-dl/issues/7202. qs['skip_wall'] = ['1'] return compat_urlparse.urlunparse( parsed_url._replace(query=compat_urllib_parse_urlencode(qs, True))) @@ -144,7 +132,7 @@ class CrunchyrollBaseIE(InfoExtractor): class CrunchyrollIE(CrunchyrollBaseIE, VRVIE): IE_NAME = 'crunchyroll' - _VALID_URL = r'https?://(?:(?P<prefix>www|m)\.)?(?P<url>crunchyroll\.(?:com|fr)/(?:media(?:-|/\?id=)|[^/]*/[^/?&]*?)(?P<video_id>[0-9]+))(?:[/?&]|$)' + _VALID_URL = r'https?://(?:(?P<prefix>www|m)\.)?(?P<url>crunchyroll\.(?:com|fr)/(?:media(?:-|/\?id=)|(?:[^/]*/){1,2}[^/?&]*?)(?P<video_id>[0-9]+))(?:[/?&]|$)' _TESTS = [{ 'url': 'http://www.crunchyroll.com/wanna-be-the-strongest-in-the-world/episode-1-an-idol-wrestler-is-born-645513', 'info_dict': { @@ -269,6 +257,9 @@ class CrunchyrollIE(CrunchyrollBaseIE, VRVIE): }, { 'url': 'http://www.crunchyroll.com/media-723735', 'only_matching': True, + }, { + 'url': 'https://www.crunchyroll.com/en-gb/mob-psycho-100/episode-2-urban-legends-encountering-rumors-780921', + 'only_matching': True, }] _FORMAT_IDS = { @@ -399,7 +390,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'Downloading subtitles for ' + sub_name, data={ 'subtitle_script_id': sub_id, }) - if not isinstance(sub_doc, etree.Element): + if not isinstance(sub_doc, compat_etree_Element): continue sid = sub_doc.get('id') iv = xpath_text(sub_doc, 'iv', 'subtitle iv') @@ -516,7 +507,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'video_quality': stream_quality, 'current_page': url, }) - if isinstance(streamdata, etree.Element): + if isinstance(streamdata, compat_etree_Element): stream_info = streamdata.find('./{default}preload/stream_info') if stream_info is not None: stream_infos.append(stream_info) @@ -527,7 +518,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'video_format': stream_format, 'video_encode_quality': stream_quality, }) - if isinstance(stream_info, etree.Element): + if isinstance(stream_info, compat_etree_Element): stream_infos.append(stream_info) for stream_info in stream_infos: video_encode_id = xpath_text(stream_info, './video_encode_id') @@ -602,7 +593,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text season = episode = episode_number = duration = thumbnail = None - if isinstance(metadata, etree.Element): + if isinstance(metadata, compat_etree_Element): season = xpath_text(metadata, 'series_title') episode = xpath_text(metadata, 'episode_title') episode_number = int_or_none(xpath_text(metadata, 'episode_number')) diff --git a/youtube_dl/extractor/cwtv.py b/youtube_dl/extractor/cwtv.py index f9bd535..7338243 100644 --- a/youtube_dl/extractor/cwtv.py +++ b/youtube_dl/extractor/cwtv.py @@ -79,7 +79,7 @@ class CWTVIE(InfoExtractor): season = str_or_none(video_data.get('season')) episode = str_or_none(video_data.get('episode')) if episode and season: - episode = episode.lstrip(season) + episode = episode[len(season):] return { '_type': 'url_transparent', diff --git a/youtube_dl/extractor/dailymail.py b/youtube_dl/extractor/dailymail.py index 4f75a2a..67b88fd 100644 --- a/youtube_dl/extractor/dailymail.py +++ b/youtube_dl/extractor/dailymail.py @@ -45,8 +45,8 @@ class DailyMailIE(InfoExtractor): sources_url = (try_get( video_data, (lambda x: x['plugins']['sources']['url'], - lambda x: x['sources']['url']), compat_str) or - 'http://www.dailymail.co.uk/api/player/%s/video-sources.json' % video_id) + lambda x: x['sources']['url']), compat_str) + or 'http://www.dailymail.co.uk/api/player/%s/video-sources.json' % video_id) video_sources = self._download_json(sources_url, video_id) body = video_sources.get('body') diff --git a/youtube_dl/extractor/dailymotion.py b/youtube_dl/extractor/dailymotion.py index 1816c55..1a2c130 100644 --- a/youtube_dl/extractor/dailymotion.py +++ b/youtube_dl/extractor/dailymotion.py @@ -166,11 +166,11 @@ class DailymotionIE(DailymotionBaseInfoExtractor): webpage, 'comment count', default=None)) player_v5 = self._search_regex( - [r'buildPlayer\(({.+?})\);\n', # See https://github.com/rg3/youtube-dl/issues/7826 + [r'buildPlayer\(({.+?})\);\n', # See https://github.com/ytdl-org/youtube-dl/issues/7826 r'playerV5\s*=\s*dmp\.create\([^,]+?,\s*({.+?})\);', r'buildPlayer\(({.+?})\);', r'var\s+config\s*=\s*({.+?});', - # New layout regex (see https://github.com/rg3/youtube-dl/issues/13580) + # New layout regex (see https://github.com/ytdl-org/youtube-dl/issues/13580) r'__PLAYER_CONFIG__\s*=\s*({.+?});'], webpage, 'player v5', default=None) if player_v5: diff --git a/youtube_dl/extractor/dctp.py b/youtube_dl/extractor/dctp.py index 769a219..04ff214 100644 --- a/youtube_dl/extractor/dctp.py +++ b/youtube_dl/extractor/dctp.py @@ -70,8 +70,8 @@ class DctpTvIE(InfoExtractor): endpoint = next( server['endpoint'] for server in servers - if url_or_none(server.get('endpoint')) and - 'cloudfront' in server['endpoint']) + if url_or_none(server.get('endpoint')) + and 'cloudfront' in server['endpoint']) else: endpoint = 'rtmpe://s2pqqn4u96e4j8.cloudfront.net/cfx/st/' diff --git a/youtube_dl/extractor/dispeak.py b/youtube_dl/extractor/dispeak.py index c05f601..c345e02 100644 --- a/youtube_dl/extractor/dispeak.py +++ b/youtube_dl/extractor/dispeak.py @@ -58,10 +58,17 @@ class DigitallySpeakingIE(InfoExtractor): stream_name = xpath_text(a_format, 'streamName', fatal=True) video_path = re.match(r'mp4\:(?P<path>.*)', stream_name).group('path') url = video_root + video_path - vbr = xpath_text(a_format, 'bitrate') + bitrate = xpath_text(a_format, 'bitrate') + tbr = int_or_none(bitrate) + vbr = int_or_none(self._search_regex( + r'-(\d+)\.mp4', video_path, 'vbr', default=None)) + abr = tbr - vbr if tbr and vbr else None video_formats.append({ + 'format_id': bitrate, 'url': url, - 'vbr': int_or_none(vbr), + 'tbr': tbr, + 'vbr': vbr, + 'abr': abr, }) return video_formats diff --git a/youtube_dl/extractor/dramafever.py b/youtube_dl/extractor/dramafever.py deleted file mode 100644 index db1de69..0000000 --- a/youtube_dl/extractor/dramafever.py +++ /dev/null @@ -1,266 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -import itertools -import json - -from .common import InfoExtractor -from ..compat import ( - compat_HTTPError, - compat_urlparse, -) -from ..utils import ( - clean_html, - ExtractorError, - int_or_none, - parse_age_limit, - parse_duration, - unified_timestamp, - url_or_none, -) - - -class DramaFeverBaseIE(InfoExtractor): - _NETRC_MACHINE = 'dramafever' - - _CONSUMER_SECRET = 'DA59dtVXYLxajktV' - - _consumer_secret = None - - def _get_consumer_secret(self): - mainjs = self._download_webpage( - 'http://www.dramafever.com/static/51afe95/df2014/scripts/main.js', - None, 'Downloading main.js', fatal=False) - if not mainjs: - return self._CONSUMER_SECRET - return self._search_regex( - r"var\s+cs\s*=\s*'([^']+)'", mainjs, - 'consumer secret', default=self._CONSUMER_SECRET) - - def _real_initialize(self): - self._consumer_secret = self._get_consumer_secret() - self._login() - - def _login(self): - username, password = self._get_login_info() - if username is None: - return - - login_form = { - 'username': username, - 'password': password, - } - - try: - response = self._download_json( - 'https://www.dramafever.com/api/users/login', None, 'Logging in', - data=json.dumps(login_form).encode('utf-8'), headers={ - 'x-consumer-key': self._consumer_secret, - }) - except ExtractorError as e: - if isinstance(e.cause, compat_HTTPError) and e.cause.code in (403, 404): - response = self._parse_json( - e.cause.read().decode('utf-8'), None) - else: - raise - - # Successful login - if response.get('result') or response.get('guid') or response.get('user_guid'): - return - - errors = response.get('errors') - if errors and isinstance(errors, list): - error = errors[0] - message = error.get('message') or error['reason'] - raise ExtractorError('Unable to login: %s' % message, expected=True) - raise ExtractorError('Unable to log in') - - -class DramaFeverIE(DramaFeverBaseIE): - IE_NAME = 'dramafever' - _VALID_URL = r'https?://(?:www\.)?dramafever\.com/(?:[^/]+/)?drama/(?P<id>[0-9]+/[0-9]+)(?:/|$)' - _TESTS = [{ - 'url': 'https://www.dramafever.com/drama/4274/1/Heirs/', - 'info_dict': { - 'id': '4274.1', - 'ext': 'wvm', - 'title': 'Heirs - Episode 1', - 'description': 'md5:362a24ba18209f6276e032a651c50bc2', - 'thumbnail': r're:^https?://.*\.jpg', - 'duration': 3783, - 'timestamp': 1381354993, - 'upload_date': '20131009', - 'series': 'Heirs', - 'season_number': 1, - 'episode': 'Episode 1', - 'episode_number': 1, - }, - 'params': { - # m3u8 download - 'skip_download': True, - }, - }, { - 'url': 'http://www.dramafever.com/drama/4826/4/Mnet_Asian_Music_Awards_2015/?ap=1', - 'info_dict': { - 'id': '4826.4', - 'ext': 'flv', - 'title': 'Mnet Asian Music Awards 2015', - 'description': 'md5:3ff2ee8fedaef86e076791c909cf2e91', - 'episode': 'Mnet Asian Music Awards 2015 - Part 3', - 'episode_number': 4, - 'thumbnail': r're:^https?://.*\.jpg', - 'timestamp': 1450213200, - 'upload_date': '20151215', - 'duration': 5359, - }, - 'params': { - # m3u8 download - 'skip_download': True, - }, - }, { - 'url': 'https://www.dramafever.com/zh-cn/drama/4972/15/Doctor_Romantic/', - 'only_matching': True, - }] - - def _call_api(self, path, video_id, note, fatal=False): - return self._download_json( - 'https://www.dramafever.com/api/5/' + path, - video_id, note=note, headers={ - 'x-consumer-key': self._consumer_secret, - }, fatal=fatal) - - def _get_subtitles(self, video_id): - subtitles = {} - subs = self._call_api( - 'video/%s/subtitles/webvtt/' % video_id, video_id, - 'Downloading subtitles JSON', fatal=False) - if not subs or not isinstance(subs, list): - return subtitles - for sub in subs: - if not isinstance(sub, dict): - continue - sub_url = url_or_none(sub.get('url')) - if not sub_url: - continue - subtitles.setdefault( - sub.get('code') or sub.get('language') or 'en', []).append({ - 'url': sub_url - }) - return subtitles - - def _real_extract(self, url): - video_id = self._match_id(url).replace('/', '.') - - series_id, episode_number = video_id.split('.') - - video = self._call_api( - 'series/%s/episodes/%s/' % (series_id, episode_number), video_id, - 'Downloading video JSON') - - formats = [] - download_assets = video.get('download_assets') - if download_assets and isinstance(download_assets, dict): - for format_id, format_dict in download_assets.items(): - if not isinstance(format_dict, dict): - continue - format_url = url_or_none(format_dict.get('url')) - if not format_url: - continue - formats.append({ - 'url': format_url, - 'format_id': format_id, - 'filesize': int_or_none(video.get('filesize')), - }) - - stream = self._call_api( - 'video/%s/stream/' % video_id, video_id, 'Downloading stream JSON', - fatal=False) - if stream: - stream_url = stream.get('stream_url') - if stream_url: - formats.extend(self._extract_m3u8_formats( - stream_url, video_id, 'mp4', entry_protocol='m3u8_native', - m3u8_id='hls', fatal=False)) - self._sort_formats(formats) - - title = video.get('title') or 'Episode %s' % episode_number - description = video.get('description') - thumbnail = video.get('thumbnail') - timestamp = unified_timestamp(video.get('release_date')) - duration = parse_duration(video.get('duration')) - age_limit = parse_age_limit(video.get('tv_rating')) - series = video.get('series_title') - season_number = int_or_none(video.get('season')) - - if series: - title = '%s - %s' % (series, title) - - subtitles = self.extract_subtitles(video_id) - - return { - 'id': video_id, - 'title': title, - 'description': description, - 'thumbnail': thumbnail, - 'duration': duration, - 'timestamp': timestamp, - 'age_limit': age_limit, - 'series': series, - 'season_number': season_number, - 'episode_number': int_or_none(episode_number), - 'formats': formats, - 'subtitles': subtitles, - } - - -class DramaFeverSeriesIE(DramaFeverBaseIE): - IE_NAME = 'dramafever:series' - _VALID_URL = r'https?://(?:www\.)?dramafever\.com/(?:[^/]+/)?drama/(?P<id>[0-9]+)(?:/(?:(?!\d+(?:/|$)).+)?)?$' - _TESTS = [{ - 'url': 'http://www.dramafever.com/drama/4512/Cooking_with_Shin/', - 'info_dict': { - 'id': '4512', - 'title': 'Cooking with Shin', - 'description': 'md5:84a3f26e3cdc3fb7f500211b3593b5c1', - }, - 'playlist_count': 4, - }, { - 'url': 'http://www.dramafever.com/drama/124/IRIS/', - 'info_dict': { - 'id': '124', - 'title': 'IRIS', - 'description': 'md5:b3a30e587cf20c59bd1c01ec0ee1b862', - }, - 'playlist_count': 20, - }] - - _PAGE_SIZE = 60 # max is 60 (see http://api.drama9.com/#get--api-4-episode-series-) - - def _real_extract(self, url): - series_id = self._match_id(url) - - series = self._download_json( - 'http://www.dramafever.com/api/4/series/query/?cs=%s&series_id=%s' - % (self._consumer_secret, series_id), - series_id, 'Downloading series JSON')['series'][series_id] - - title = clean_html(series['name']) - description = clean_html(series.get('description') or series.get('description_short')) - - entries = [] - for page_num in itertools.count(1): - episodes = self._download_json( - 'http://www.dramafever.com/api/4/episode/series/?cs=%s&series_id=%s&page_size=%d&page_number=%d' - % (self._consumer_secret, series_id, self._PAGE_SIZE, page_num), - series_id, 'Downloading episodes JSON page #%d' % page_num) - for episode in episodes.get('value', []): - episode_url = episode.get('episode_url') - if not episode_url: - continue - entries.append(self.url_result( - compat_urlparse.urljoin(url, episode_url), - 'DramaFever', episode.get('guid'))) - if page_num == episodes['num_pages']: - break - - return self.playlist_result(entries, series_id, title, description) diff --git a/youtube_dl/extractor/dreisat.py b/youtube_dl/extractor/dreisat.py index 8d31258..848d387 100644 --- a/youtube_dl/extractor/dreisat.py +++ b/youtube_dl/extractor/dreisat.py @@ -114,7 +114,7 @@ class DreiSatIE(InfoExtractor): video_url, video_id, fatal=False)) elif ext == 'm3u8': # the certificates are misconfigured (see - # https://github.com/rg3/youtube-dl/issues/8665) + # https://github.com/ytdl-org/youtube-dl/issues/8665) if video_url.startswith('https://'): continue formats.extend(self._extract_m3u8_formats( diff --git a/youtube_dl/extractor/drtuber.py b/youtube_dl/extractor/drtuber.py index 5c41c80..2baea58 100644 --- a/youtube_dl/extractor/drtuber.py +++ b/youtube_dl/extractor/drtuber.py @@ -4,7 +4,9 @@ import re from .common import InfoExtractor from ..utils import ( + int_or_none, NO_DEFAULT, + parse_duration, str_to_int, ) @@ -65,6 +67,9 @@ class DrTuberIE(InfoExtractor): }) self._sort_formats(formats) + duration = int_or_none(video_data.get('duration')) or parse_duration( + video_data.get('duration_format')) + title = self._html_search_regex( (r'<h1[^>]+class=["\']title[^>]+>([^<]+)', r'<title>([^<]+)\s*@\s+DrTuber', @@ -103,4 +108,5 @@ class DrTuberIE(InfoExtractor): 'comment_count': comment_count, 'categories': categories, 'age_limit': self._rta_search(webpage), + 'duration': duration, } diff --git a/youtube_dl/extractor/drtv.py b/youtube_dl/extractor/drtv.py index f757745..0c7e350 100644 --- a/youtube_dl/extractor/drtv.py +++ b/youtube_dl/extractor/drtv.py @@ -1,15 +1,25 @@ # coding: utf-8 from __future__ import unicode_literals +import binascii +import hashlib +import re + + from .common import InfoExtractor +from ..aes import aes_cbc_decrypt +from ..compat import compat_urllib_parse_unquote from ..utils import ( + bytes_to_intlist, ExtractorError, int_or_none, + intlist_to_bytes, float_or_none, mimetype2ext, - parse_iso8601, - remove_end, + str_or_none, + unified_timestamp, update_url_query, + url_or_none, ) @@ -20,23 +30,31 @@ class DRTVIE(InfoExtractor): IE_NAME = 'drtv' _TESTS = [{ 'url': 'https://www.dr.dk/tv/se/boern/ultra/klassen-ultra/klassen-darlig-taber-10', - 'md5': '7ae17b4e18eb5d29212f424a7511c184', + 'md5': '25e659cccc9a2ed956110a299fdf5983', 'info_dict': { 'id': 'klassen-darlig-taber-10', 'ext': 'mp4', 'title': 'Klassen - DÃ¥rlig taber (10)', 'description': 'md5:815fe1b7fa656ed80580f31e8b3c79aa', - 'timestamp': 1471991907, - 'upload_date': '20160823', + 'timestamp': 1539085800, + 'upload_date': '20181009', 'duration': 606.84, + 'series': 'Klassen', + 'season': 'Klassen I', + 'season_number': 1, + 'season_id': 'urn:dr:mu:bundle:57d7e8216187a4031cfd6f6b', + 'episode': 'Episode 10', + 'episode_number': 10, + 'release_year': 2016, }, + 'expected_warnings': ['Unable to download f4m manifest'], }, { # embed 'url': 'https://www.dr.dk/nyheder/indland/live-christianias-rydning-af-pusher-street-er-i-gang', 'info_dict': { - 'id': 'christiania-pusher-street-ryddes-drdkrjpo', + 'id': 'urn:dr:mu:programcard:57c926176187a50a9c6e83c6', 'ext': 'mp4', - 'title': 'LIVE Christianias rydning af Pusher Street er i gang', + 'title': 'christiania pusher street ryddes drdkrjpo', 'description': 'md5:2a71898b15057e9b97334f61d04e6eb5', 'timestamp': 1472800279, 'upload_date': '20160902', @@ -45,17 +63,18 @@ class DRTVIE(InfoExtractor): 'params': { 'skip_download': True, }, + 'expected_warnings': ['Unable to download f4m manifest'], }, { # with SignLanguage formats 'url': 'https://www.dr.dk/tv/se/historien-om-danmark/-/historien-om-danmark-stenalder', 'info_dict': { 'id': 'historien-om-danmark-stenalder', 'ext': 'mp4', - 'title': 'Historien om Danmark: Stenalder (1)', + 'title': 'Historien om Danmark: Stenalder', 'description': 'md5:8c66dcbc1669bbc6f873879880f37f2a', - 'timestamp': 1490401996, - 'upload_date': '20170325', - 'duration': 3502.04, + 'timestamp': 1546628400, + 'upload_date': '20190104', + 'duration': 3502.56, 'formats': 'mincount:20', }, 'params': { @@ -74,20 +93,26 @@ class DRTVIE(InfoExtractor): video_id = self._search_regex( (r'data-(?:material-identifier|episode-slug)="([^"]+)"', - r'data-resource="[^>"]+mu/programcard/expanded/([^"]+)"'), - webpage, 'video id') + r'data-resource="[^>"]+mu/programcard/expanded/([^"]+)"'), + webpage, 'video id', default=None) - programcard = self._download_json( - 'http://www.dr.dk/mu/programcard/expanded/%s' % video_id, - video_id, 'Downloading video JSON') - data = programcard['Data'][0] + if not video_id: + video_id = compat_urllib_parse_unquote(self._search_regex( + r'(urn(?:%3A|:)dr(?:%3A|:)mu(?:%3A|:)programcard(?:%3A|:)[\da-f]+)', + webpage, 'urn')) - title = remove_end(self._og_search_title( - webpage, default=None), ' | TV | DR') or data['Title'] + data = self._download_json( + 'https://www.dr.dk/mu-online/api/1.4/programcard/%s' % video_id, + video_id, 'Downloading video JSON', query={'expanded': 'true'}) + + title = str_or_none(data.get('Title')) or re.sub( + r'\s*\|\s*(?:TV\s*\|\s*DR|DRTV)$', '', + self._og_search_title(webpage)) description = self._og_search_description( webpage, default=None) or data.get('Description') - timestamp = parse_iso8601(data.get('CreatedTime')) + timestamp = unified_timestamp( + data.get('PrimaryBroadcastStartTime') or data.get('SortDateTime')) thumbnail = None duration = None @@ -97,24 +122,62 @@ class DRTVIE(InfoExtractor): formats = [] subtitles = {} - for asset in data['Assets']: + assets = [] + primary_asset = data.get('PrimaryAsset') + if isinstance(primary_asset, dict): + assets.append(primary_asset) + secondary_assets = data.get('SecondaryAssets') + if isinstance(secondary_assets, list): + for secondary_asset in secondary_assets: + if isinstance(secondary_asset, dict): + assets.append(secondary_asset) + + def hex_to_bytes(hex): + return binascii.a2b_hex(hex.encode('ascii')) + + def decrypt_uri(e): + n = int(e[2:10], 16) + a = e[10 + n:] + data = bytes_to_intlist(hex_to_bytes(e[10:10 + n])) + key = bytes_to_intlist(hashlib.sha256( + ('%s:sRBzYNXBzkKgnjj8pGtkACch' % a).encode('utf-8')).digest()) + iv = bytes_to_intlist(hex_to_bytes(a)) + decrypted = aes_cbc_decrypt(data, key, iv) + return intlist_to_bytes( + decrypted[:-decrypted[-1]]).decode('utf-8').split('?')[0] + + for asset in assets: kind = asset.get('Kind') if kind == 'Image': - thumbnail = asset.get('Uri') + thumbnail = url_or_none(asset.get('Uri')) elif kind in ('VideoResource', 'AudioResource'): duration = float_or_none(asset.get('DurationInMilliseconds'), 1000) restricted_to_denmark = asset.get('RestrictedToDenmark') asset_target = asset.get('Target') for link in asset.get('Links', []): uri = link.get('Uri') + if not uri: + encrypted_uri = link.get('EncryptedUri') + if not encrypted_uri: + continue + try: + uri = decrypt_uri(encrypted_uri) + except Exception: + self.report_warning( + 'Unable to decrypt EncryptedUri', video_id) + continue + uri = url_or_none(uri) if not uri: continue target = link.get('Target') format_id = target or '' - preference = None - if asset_target in ('SpokenSubtitles', 'SignLanguage'): + if asset_target in ('SpokenSubtitles', 'SignLanguage', 'VisuallyInterpreted'): preference = -1 format_id += '-%s' % asset_target + elif asset_target == 'Default': + preference = 1 + else: + preference = None if target == 'HDS': f4m_formats = self._extract_f4m_formats( uri + '?hdcore=3.3.0&plugin=aasp-3.3.0.99.43', @@ -140,19 +203,22 @@ class DRTVIE(InfoExtractor): 'vcodec': 'none' if kind == 'AudioResource' else None, 'preference': preference, }) - subtitles_list = asset.get('SubtitlesList') - if isinstance(subtitles_list, list): - LANGS = { - 'Danish': 'da', - } - for subs in subtitles_list: - if not subs.get('Uri'): - continue - lang = subs.get('Language') or 'da' - subtitles.setdefault(LANGS.get(lang, lang), []).append({ - 'url': subs['Uri'], - 'ext': mimetype2ext(subs.get('MimeType')) or 'vtt' - }) + subtitles_list = asset.get('SubtitlesList') or asset.get('Subtitleslist') + if isinstance(subtitles_list, list): + LANGS = { + 'Danish': 'da', + } + for subs in subtitles_list: + if not isinstance(subs, dict): + continue + sub_uri = url_or_none(subs.get('Uri')) + if not sub_uri: + continue + lang = subs.get('Language') or 'da' + subtitles.setdefault(LANGS.get(lang, lang), []).append({ + 'url': sub_uri, + 'ext': mimetype2ext(subs.get('MimeType')) or 'vtt' + }) if not formats and restricted_to_denmark: self.raise_geo_restricted( @@ -170,6 +236,13 @@ class DRTVIE(InfoExtractor): 'duration': duration, 'formats': formats, 'subtitles': subtitles, + 'series': str_or_none(data.get('SeriesTitle')), + 'season': str_or_none(data.get('SeasonTitle')), + 'season_number': int_or_none(data.get('SeasonNumber')), + 'season_id': str_or_none(data.get('SeasonUrn')), + 'episode': str_or_none(data.get('EpisodeTitle')), + 'episode_number': int_or_none(data.get('EpisodeNumber')), + 'release_year': int_or_none(data.get('ProductionYear')), } diff --git a/youtube_dl/extractor/dvtv.py b/youtube_dl/extractor/dvtv.py index 2099696..de7f6d6 100644 --- a/youtube_dl/extractor/dvtv.py +++ b/youtube_dl/extractor/dvtv.py @@ -10,16 +10,16 @@ from ..utils import ( int_or_none, js_to_json, mimetype2ext, + try_get, unescapeHTML, + parse_iso8601, ) class DVTVIE(InfoExtractor): IE_NAME = 'dvtv' IE_DESC = 'http://video.aktualne.cz/' - _VALID_URL = r'https?://video\.aktualne\.cz/(?:[^/]+/)+r~(?P<id>[0-9a-f]{32})' - _TESTS = [{ 'url': 'http://video.aktualne.cz/dvtv/vondra-o-ceskem-stoleti-pri-pohledu-na-havla-mi-bylo-trapne/r~e5efe9ca855511e4833a0025900fea04/', 'md5': '67cb83e4a955d36e1b5d31993134a0c2', @@ -28,11 +28,13 @@ class DVTVIE(InfoExtractor): 'ext': 'mp4', 'title': 'Vondra o Äeském stoletÃ: PÅi pohledu na Havla mi bylo trapnÄ', 'duration': 1484, + 'upload_date': '20141217', + 'timestamp': 1418792400, } }, { 'url': 'http://video.aktualne.cz/dvtv/dvtv-16-12-2014-utok-talibanu-boj-o-kliniku-uprchlici/r~973eb3bc854e11e498be002590604f2e/', 'info_dict': { - 'title': r're:^DVTV 16\. 12\. 2014: útok Talibanu, boj o kliniku, uprchlÃci', + 'title': r'DVTV 16. 12. 2014: útok Talibanu, boj o kliniku, uprchlÃci', 'id': '973eb3bc854e11e498be002590604f2e', }, 'playlist': [{ @@ -84,6 +86,8 @@ class DVTVIE(InfoExtractor): 'ext': 'mp4', 'title': 'Zeman si jen léÄà mindráky, Sobotku nenávidà a BabiÅ¡ se mu teÄ hodÃ, tvrdà Kmenta', 'duration': 1103, + 'upload_date': '20170511', + 'timestamp': 1494514200, }, 'params': { 'skip_download': True, @@ -91,43 +95,59 @@ class DVTVIE(InfoExtractor): }, { 'url': 'http://video.aktualne.cz/v-cechach-poprve-zazni-zelenkova-zrestaurovana-mse/r~45b4b00483ec11e4883b002590604f2e/', 'only_matching': True, + }, { + # Test live stream video (liveStarter) parsing + 'url': 'https://video.aktualne.cz/dvtv/zive-mistryne-sveta-eva-samkova-po-navratu-ze-sampionatu/r~182654c2288811e990fd0cc47ab5f122/', + 'md5': '2e552e483f2414851ca50467054f9d5d', + 'info_dict': { + 'id': '8d116360288011e98c840cc47ab5f122', + 'ext': 'mp4', + 'title': 'ŽivÄ: MistrynÄ svÄta Eva Samková po návratu ze Å¡ampionátu', + 'upload_date': '20190204', + 'timestamp': 1549289591, + }, + 'params': { + # Video content is no longer available + 'skip_download': True, + }, }] - def _parse_video_metadata(self, js, video_id, live_js=None): + def _parse_video_metadata(self, js, video_id, timestamp): data = self._parse_json(js, video_id, transform_source=js_to_json) - if live_js: - data.update(self._parse_json( - live_js, video_id, transform_source=js_to_json)) - title = unescapeHTML(data['title']) + live_starter = try_get(data, lambda x: x['plugins']['liveStarter'], dict) + if live_starter: + data.update(live_starter) + formats = [] - for video in data['sources']: - video_url = video.get('file') - if not video_url: - continue - video_type = video.get('type') - ext = determine_ext(video_url, mimetype2ext(video_type)) - if video_type == 'application/vnd.apple.mpegurl' or ext == 'm3u8': - formats.extend(self._extract_m3u8_formats( - video_url, video_id, 'mp4', entry_protocol='m3u8_native', - m3u8_id='hls', fatal=False)) - elif video_type == 'application/dash+xml' or ext == 'mpd': - formats.extend(self._extract_mpd_formats( - video_url, video_id, mpd_id='dash', fatal=False)) - else: - label = video.get('label') - height = self._search_regex( - r'^(\d+)[pP]', label or '', 'height', default=None) - format_id = ['http'] - for f in (ext, label): - if f: - format_id.append(f) - formats.append({ - 'url': video_url, - 'format_id': '-'.join(format_id), - 'height': int_or_none(height), - }) + for tracks in data.get('tracks', {}).values(): + for video in tracks: + video_url = video.get('src') + if not video_url: + continue + video_type = video.get('type') + ext = determine_ext(video_url, mimetype2ext(video_type)) + if video_type == 'application/vnd.apple.mpegurl' or ext == 'm3u8': + formats.extend(self._extract_m3u8_formats( + video_url, video_id, 'mp4', entry_protocol='m3u8_native', + m3u8_id='hls', fatal=False)) + elif video_type == 'application/dash+xml' or ext == 'mpd': + formats.extend(self._extract_mpd_formats( + video_url, video_id, mpd_id='dash', fatal=False)) + else: + label = video.get('label') + height = self._search_regex( + r'^(\d+)[pP]', label or '', 'height', default=None) + format_id = ['http'] + for f in (ext, label): + if f: + format_id.append(f) + formats.append({ + 'url': video_url, + 'format_id': '-'.join(format_id), + 'height': int_or_none(height), + }) self._sort_formats(formats) return { @@ -136,41 +156,29 @@ class DVTVIE(InfoExtractor): 'description': data.get('description'), 'thumbnail': data.get('image'), 'duration': int_or_none(data.get('duration')), - 'timestamp': int_or_none(data.get('pubtime')), + 'timestamp': int_or_none(timestamp), 'formats': formats } def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) + timestamp = parse_iso8601(self._html_search_meta( + 'article:published_time', webpage, 'published time', default=None)) - # live content - live_item = self._search_regex( - r'(?s)embedData[0-9a-f]{32}\.asset\.liveStarter\s*=\s*(\{.+?\});', - webpage, 'video', default=None) + items = re.findall(r'(?s)playlist\.push\(({.+?})\);', webpage) + if items: + return self.playlist_result( + [self._parse_video_metadata(i, video_id, timestamp) for i in items], + video_id, self._html_search_meta('twitter:title', webpage)) - # single video item = self._search_regex( - r'(?s)embedData[0-9a-f]{32}\[["\']asset["\']\]\s*=\s*(\{.+?\});', + r'(?s)BBXPlayer\.setup\((.+?)\);', webpage, 'video', default=None) - if item: - return self._parse_video_metadata(item, video_id, live_item) - - # playlist - items = re.findall( - r"(?s)BBX\.context\.assets\['[0-9a-f]{32}'\]\.push\(({.+?})\);", - webpage) - if not items: - items = re.findall(r'(?s)var\s+asset\s*=\s*({.+?});\n', webpage) - - if items: - return { - '_type': 'playlist', - 'id': video_id, - 'title': self._og_search_title(webpage), - 'entries': [self._parse_video_metadata(i, video_id) for i in items] - } + # remove function calls (ex. htmldeentitize) + # TODO this should be fixed in a general way in the js_to_json + item = re.sub(r'\w+?\((.+)\)', r'\1', item) + return self._parse_video_metadata(item, video_id, timestamp) raise ExtractorError('Could not find neither video nor playlist') diff --git a/youtube_dl/extractor/escapist.py b/youtube_dl/extractor/escapist.py index 4d8a3c1..4cd815e 100644 --- a/youtube_dl/extractor/escapist.py +++ b/youtube_dl/extractor/escapist.py @@ -1,14 +1,11 @@ from __future__ import unicode_literals -import json - from .common import InfoExtractor from ..utils import ( determine_ext, clean_html, int_or_none, float_or_none, - sanitized_Request, ) @@ -36,7 +33,7 @@ def _decrypt_config(key, string): class EscapistIE(InfoExtractor): - _VALID_URL = r'https?://?(?:www\.)?escapistmagazine\.com/videos/view/[^/?#]+/(?P<id>[0-9]+)-[^/?#]*(?:$|[?#])' + _VALID_URL = r'https?://?(?:(?:www|v1)\.)?escapistmagazine\.com/videos/view/[^/]+/(?P<id>[0-9]+)' _TESTS = [{ 'url': 'http://www.escapistmagazine.com/videos/view/the-escapist-presents/6618-Breaking-Down-Baldurs-Gate', 'md5': 'ab3a706c681efca53f0a35f1415cf0d1', @@ -61,6 +58,12 @@ class EscapistIE(InfoExtractor): 'duration': 304, 'uploader': 'The Escapist', } + }, { + 'url': 'http://escapistmagazine.com/videos/view/the-escapist-presents/6618', + 'only_matching': True, + }, { + 'url': 'https://v1.escapistmagazine.com/videos/view/the-escapist-presents/6618-Breaking-Down-Baldurs-Gate', + 'only_matching': True, }] def _real_extract(self, url): @@ -74,19 +77,20 @@ class EscapistIE(InfoExtractor): video_id = ims_video['videoID'] key = ims_video['hash'] - config_req = sanitized_Request( - 'http://www.escapistmagazine.com/videos/' - 'vidconfig.php?videoID=%s&hash=%s' % (video_id, key)) - config_req.add_header('Referer', url) - config = self._download_webpage(config_req, video_id, 'Downloading video config') + config = self._download_webpage( + 'http://www.escapistmagazine.com/videos/vidconfig.php', + video_id, 'Downloading video config', headers={ + 'Referer': url, + }, query={ + 'videoID': video_id, + 'hash': key, + }) - data = json.loads(_decrypt_config(key, config)) + data = self._parse_json(_decrypt_config(key, config), video_id) video_data = data['videoData'] title = clean_html(video_data['title']) - duration = float_or_none(video_data.get('duration'), 1000) - uploader = video_data.get('publisher') formats = [{ 'url': video['src'], @@ -99,8 +103,9 @@ class EscapistIE(InfoExtractor): 'id': video_id, 'formats': formats, 'title': title, - 'thumbnail': self._og_search_thumbnail(webpage), + 'thumbnail': self._og_search_thumbnail(webpage) or data.get('poster'), 'description': self._og_search_description(webpage), - 'duration': duration, - 'uploader': uploader, + 'duration': float_or_none(video_data.get('duration'), 1000), + 'uploader': video_data.get('publisher'), + 'series': video_data.get('show'), } diff --git a/youtube_dl/extractor/espn.py b/youtube_dl/extractor/espn.py index 127c69b..8cc9bd1 100644 --- a/youtube_dl/extractor/espn.py +++ b/youtube_dl/extractor/espn.py @@ -29,7 +29,8 @@ class ESPNIE(OnceIE): (?: .*?\?.*?\bid=| /_/id/ - ) + )| + [^/]+/video/ ) )| (?:www\.)espnfc\.(?:com|us)/(?:video/)?[^/]+/\d+/video/ @@ -94,6 +95,9 @@ class ESPNIE(OnceIE): }, { 'url': 'http://www.espnfc.com/english-premier-league/23/video/3324163/premier-league-in-90-seconds-golden-tweets', 'only_matching': True, + }, { + 'url': 'http://www.espn.com/espnw/video/26066627/arkansas-gibson-completes-hr-cycle-four-innings', + 'only_matching': True, }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/expressen.py b/youtube_dl/extractor/expressen.py index 9345714..f793650 100644 --- a/youtube_dl/extractor/expressen.py +++ b/youtube_dl/extractor/expressen.py @@ -82,8 +82,8 @@ class ExpressenIE(InfoExtractor): title = info.get('titleRaw') or data['title'] description = info.get('descriptionRaw') thumbnail = info.get('socialMediaImage') or data.get('image') - duration = int_or_none(info.get('videoTotalSecondsDuration') or - data.get('totalSecondsDuration')) + duration = int_or_none(info.get('videoTotalSecondsDuration') + or data.get('totalSecondsDuration')) timestamp = unified_timestamp(info.get('publishDate')) return { diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index de38c66..b1ed8a4 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -20,6 +20,7 @@ from .acast import ( ) from .addanime import AddAnimeIE from .adn import ADNIE +from .adobeconnect import AdobeConnectIE from .adobetv import ( AdobeTVIE, AdobeTVShowIE, @@ -38,9 +39,7 @@ from .alphaporno import AlphaPornoIE from .amcnetworks import AMCNetworksIE from .americastestkitchen import AmericasTestKitchenIE from .animeondemand import AnimeOnDemandIE -from .anitube import AnitubeIE from .anvato import AnvatoIE -from .anysex import AnySexIE from .aol import AolIE from .allocine import AllocineIE from .aliexpress import AliExpressLiveIE @@ -108,6 +107,7 @@ from .behindkink import BehindKinkIE from .bellmedia import BellMediaIE from .beatport import BeatportIE from .bet import BetIE +from .bfi import BFIPlayerIE from .bigflix import BigflixIE from .bild import BildIE from .bilibili import ( @@ -173,11 +173,15 @@ from .cbs import CBSIE from .cbslocal import CBSLocalIE from .cbsinteractive import CBSInteractiveIE from .cbsnews import ( + CBSNewsEmbedIE, CBSNewsIE, CBSNewsLiveVideoIE, ) from .cbssports import CBSSportsIE -from .ccc import CCCIE +from .ccc import ( + CCCIE, + CCCPlaylistIE, +) from .ccma import CCMAIE from .cctv import CCTVIE from .cda import CDAIE @@ -194,6 +198,7 @@ from .chirbit import ( ChirbitProfileIE, ) from .cinchcast import CinchcastIE +from .cinemax import CinemaxIE from .ciscolive import ( CiscoLiveSessionIE, CiscoLiveSearchIE, @@ -236,7 +241,6 @@ from .condenast import CondeNastIE from .corus import CorusIE from .cracked import CrackedIE from .crackle import CrackleIE -from .criterion import CriterionIE from .crooksandliars import CrooksAndLiarsIE from .crunchyroll import ( CrunchyrollIE, @@ -283,10 +287,6 @@ from .dplay import ( DPlayIE, DPlayItIE, ) -from .dramafever import ( - DramaFeverIE, - DramaFeverSeriesIE, -) from .dreisat import DreiSatIE from .drbonanza import DRBonanzaIE from .drtuber import DrTuberIE @@ -442,16 +442,14 @@ from .goshgay import GoshgayIE from .gputechconf import GPUTechConfIE from .groupon import GrouponIE from .hark import HarkIE -from .hbo import ( - HBOIE, - HBOEpisodeIE, -) +from .hbo import HBOIE from .hearthisat import HearThisAtIE from .heise import HeiseIE from .hellporno import HellPornoIE from .helsinki import HelsinkiIE from .hentaistigma import HentaiStigmaIE from .hgtv import HGTVComShowIE +from .hketv import HKETVIE from .hidive import HiDiveIE from .historicfilms import HistoricFilmsIE from .hitbox import HitboxIE, HitboxLiveIE @@ -494,7 +492,11 @@ from .ina import InaIE from .inc import IncIE from .indavideo import IndavideoEmbedIE from .infoq import InfoQIE -from .instagram import InstagramIE, InstagramUserIE +from .instagram import ( + InstagramIE, + InstagramUserIE, + InstagramTagIE, +) from .internazionale import InternazionaleIE from .internetvideoarchive import InternetVideoArchiveIE from .iprima import IPrimaIE @@ -588,6 +590,7 @@ from .linkedin import ( LinkedInLearningIE, LinkedInLearningCourseIE, ) +from .linuxacademy import LinuxAcademyIE from .litv import LiTVIE from .liveleak import ( LiveLeakIE, @@ -614,6 +617,7 @@ from .mailru import ( MailRuMusicSearchIE, ) from .makertv import MakerTVIE +from .malltv import MallTVIE from .mangomolo import ( MangomoloVideoIE, MangomoloLiveIE, @@ -627,7 +631,11 @@ from .massengeschmacktv import MassengeschmackTVIE from .matchtv import MatchTVIE from .mdr import MDRIE from .mediaset import MediasetIE -from .mediasite import MediasiteIE +from .mediasite import ( + MediasiteIE, + MediasiteCatalogIE, + MediasiteNamedCatalogIE, +) from .medici import MediciIE from .megaphone import MegaphoneIE from .meipai import MeipaiIE @@ -687,7 +695,10 @@ from .myvi import ( MyviEmbedIE, ) from .myvidster import MyVidsterIE -from .nationalgeographic import NationalGeographicVideoIE +from .nationalgeographic import ( + NationalGeographicVideoIE, + NationalGeographicTVIE, +) from .naver import NaverIE from .nba import NBAIE from .nbc import ( @@ -761,13 +772,6 @@ from .nova import ( NovaEmbedIE, NovaIE, ) -from .novamov import ( - AuroraVidIE, - CloudTimeIE, - NowVideoIE, - VideoWeedIE, - WholeCloudIE, -) from .nowness import ( NownessIE, NownessPlaylistIE, @@ -797,6 +801,8 @@ from .nrk import ( NRKTVSeasonIE, NRKTVSeriesIE, ) +from .nrl import NRLTVIE +from .ntvcojp import NTVCoJpCUIE from .ntvde import NTVDeIE from .ntvru import NTVRuIE from .nytimes import ( @@ -820,7 +826,10 @@ from .ooyala import ( OoyalaIE, OoyalaExternalIE, ) -from .openload import OpenloadIE +from .openload import ( + OpenloadIE, + VerystreamIE, +) from .ora import OraTVIE from .orf import ( ORFTVthekIE, @@ -857,6 +866,10 @@ from .picarto import ( from .piksel import PikselIE from .pinkbike import PinkbikeIE from .pladform import PladformIE +from .platzi import ( + PlatziIE, + PlatziCourseIE, +) from .playfm import PlayFMIE from .playplustv import PlayPlusTVIE from .plays import PlaysTVIE @@ -876,7 +889,6 @@ from .polskieradio import ( from .popcorntv import PopcornTVIE from .porn91 import Porn91IE from .porncom import PornComIE -from .pornflip import PornFlipIE from .pornhd import PornHdIE from .pornhub import ( PornHubIE, @@ -891,7 +903,6 @@ from .puhutv import ( PuhuTVSerieIE, ) from .presstv import PressTVIE -from .primesharetv import PrimeShareTVIE from .promptfile import PromptFileIE from .prosiebensat1 import ProSiebenSat1IE from .puls4 import Puls4IE @@ -927,7 +938,10 @@ from .raywenderlich import ( ) from .rbmaradio import RBMARadioIE from .rds import RDSIE -from .redbulltv import RedBullTVIE +from .redbulltv import ( + RedBullTVIE, + RedBullTVRrnContentIE, +) from .reddit import ( RedditIE, RedditRIE, @@ -968,7 +982,6 @@ from .rtvnh import RTVNHIE from .rtvs import RTVSIE from .rudo import RudoIE from .ruhd import RUHDIE -from .ruleporn import RulePornIE from .rutube import ( RutubeIE, RutubeChannelIE, @@ -1018,7 +1031,10 @@ from .skynewsarabia import ( SkyNewsArabiaIE, SkyNewsArabiaArticleIE, ) -from .skysports import SkySportsIE +from .sky import ( + SkyNewsIE, + SkySportsIE, +) from .slideshare import SlideshareIE from .slideslive import SlidesLiveIE from .slutload import SlutloadIE @@ -1050,7 +1066,10 @@ from .southpark import ( SouthParkEsIE, SouthParkNlIE ) -from .spankbang import SpankBangIE +from .spankbang import ( + SpankBangIE, + SpankBangPlaylistIE, +) from .spankwire import SpankwireIE from .spiegel import SpiegelIE, SpiegelArticleIE from .spiegeltv import SpiegeltvIE @@ -1077,7 +1096,12 @@ from .streamcloud import StreamcloudIE from .streamcz import StreamCZIE from .streetvoice import StreetVoiceIE from .stretchinternet import StretchInternetIE +from .stv import STVPlayerIE from .sunporno import SunPornoIE +from .sverigesradio import ( + SverigesRadioEpisodeIE, + SverigesRadioPublicationIE, +) from .svt import ( SVTIE, SVTPageIE, @@ -1105,6 +1129,7 @@ from .teachertube import ( ) from .teachingchannel import TeachingChannelIE from .teamcoco import TeamcocoIE +from .teamtreehouse import TeamTreeHouseIE from .techtalks import TechTalksIE from .ted import TEDIE from .tele5 import Tele5IE @@ -1159,6 +1184,7 @@ from .toutv import TouTvIE from .toypics import ToypicsUserIE, ToypicsIE from .traileraddict import TrailerAddictIE from .trilulilu import TriluliluIE +from .trunews import TruNewsIE from .trutv import TruTVIE from .tube8 import Tube8IE from .tubitv import TubiTvIE @@ -1204,7 +1230,7 @@ from .tvnow import ( from .tvp import ( TVPEmbedIE, TVPIE, - TVPSeriesIE, + TVPWebsiteIE, ) from .tvplay import ( TVPlayIE, @@ -1285,7 +1311,6 @@ from .viddler import ViddlerIE from .videa import VideaIE from .videodetective import VideoDetectiveIE from .videofyme import VideofyMeIE -from .videomega import VideoMegaIE from .videomore import ( VideomoreIE, VideomoreVideoIE, @@ -1354,7 +1379,6 @@ from .voxmedia import ( VoxMediaVolumeIE, VoxMediaIE, ) -from .vporn import VpornIE from .vrt import VRTIE from .vrak import VrakIE from .vrv import ( @@ -1368,6 +1392,7 @@ from .vuclip import VuClipIE from .vvvvid import VVVVIDIE from .vyborymos import VyboryMosIE from .vzaar import VzaarIE +from .wakanim import WakanimIE from .walla import WallaIE from .washingtonpost import ( WashingtonPostIE, @@ -1391,17 +1416,13 @@ from .webofstories import ( WebOfStoriesPlaylistIE, ) from .weibo import ( - WeiboIE, + WeiboIE, WeiboMobileIE ) from .weiqitv import WeiqiTVIE from .wimp import WimpIE from .wistia import WistiaIE from .worldstarhiphop import WorldStarHipHopIE -from .wrzuta import ( - WrzutaIE, - WrzutaPlaylistIE, -) from .wsj import ( WSJIE, WSJArticleIE, @@ -1434,13 +1455,16 @@ from .xxxymovies import XXXYMoviesIE from .yahoo import ( YahooIE, YahooSearchIE, + YahooGyaOPlayerIE, + YahooGyaOIE, ) +from .yandexdisk import YandexDiskIE from .yandexmusic import ( YandexMusicTrackIE, YandexMusicAlbumIE, YandexMusicPlaylistIE, ) -from .yandexdisk import YandexDiskIE +from .yandexvideo import YandexVideoIE from .yapfiles import YapFilesIE from .yesjapan import YesJapanIE from .yinyuetai import YinYueTaiIE @@ -1491,6 +1515,7 @@ from .zattoo import ( QuantumTVIE, QuicklineIE, QuicklineLiveIE, + SaltTVIE, SAKTVIE, VTXTVIE, WalyTVIE, diff --git a/youtube_dl/extractor/facebook.py b/youtube_dl/extractor/facebook.py index 7495404..789dd79 100644 --- a/youtube_dl/extractor/facebook.py +++ b/youtube_dl/extractor/facebook.py @@ -424,7 +424,7 @@ class FacebookIE(InfoExtractor): uploader = clean_html(get_element_by_id( 'fbPhotoPageAuthorName', webpage)) or self._search_regex( r'ownerName\s*:\s*"([^"]+)"', webpage, 'uploader', - fatal=False) or self._og_search_title(webpage, fatal=False) + default=None) or self._og_search_title(webpage, fatal=False) timestamp = int_or_none(self._search_regex( r'<abbr[^>]+data-utime=["\'](\d+)', webpage, 'timestamp', default=None)) diff --git a/youtube_dl/extractor/fourtube.py b/youtube_dl/extractor/fourtube.py index a9a1f91..be4e813 100644 --- a/youtube_dl/extractor/fourtube.py +++ b/youtube_dl/extractor/fourtube.py @@ -22,8 +22,6 @@ from ..utils import ( class FourTubeBaseIE(InfoExtractor): - _TKN_HOST = 'tkn.kodicdn.com' - def _extract_formats(self, url, video_id, media_id, sources): token_url = 'https://%s/%s/desktop/%s' % ( self._TKN_HOST, media_id, '+'.join(sources)) @@ -120,6 +118,7 @@ class FourTubeIE(FourTubeBaseIE): IE_NAME = '4tube' _VALID_URL = r'https?://(?:(?P<kind>www|m)\.)?4tube\.com/(?:videos|embed)/(?P<id>\d+)(?:/(?P<display_id>[^/?#&]+))?' _URL_TEMPLATE = 'https://www.4tube.com/videos/%s/video' + _TKN_HOST = 'token.4tube.com' _TESTS = [{ 'url': 'http://www.4tube.com/videos/209733/hot-babe-holly-michaels-gets-her-ass-stuffed-by-black', 'md5': '6516c8ac63b03de06bc8eac14362db4f', @@ -149,6 +148,7 @@ class FourTubeIE(FourTubeBaseIE): class FuxIE(FourTubeBaseIE): _VALID_URL = r'https?://(?:(?P<kind>www|m)\.)?fux\.com/(?:video|embed)/(?P<id>\d+)(?:/(?P<display_id>[^/?#&]+))?' _URL_TEMPLATE = 'https://www.fux.com/video/%s/video' + _TKN_HOST = 'token.fux.com' _TESTS = [{ 'url': 'https://www.fux.com/video/195359/awesome-fucking-kitchen-ends-cum-swallow', 'info_dict': { @@ -280,6 +280,7 @@ class PornTubeIE(FourTubeBaseIE): class PornerBrosIE(FourTubeBaseIE): _VALID_URL = r'https?://(?:(?P<kind>www|m)\.)?pornerbros\.com/(?:videos/(?P<display_id>[^/]+)_|embed/)(?P<id>\d+)' _URL_TEMPLATE = 'https://www.pornerbros.com/videos/video_%s' + _TKN_HOST = 'token.pornerbros.com' _TESTS = [{ 'url': 'https://www.pornerbros.com/videos/skinny-brunette-takes-big-cock-down-her-anal-hole_181369', 'md5': '6516c8ac63b03de06bc8eac14362db4f', diff --git a/youtube_dl/extractor/fox.py b/youtube_dl/extractor/fox.py index b1c91f0..04f4bdb 100644 --- a/youtube_dl/extractor/fox.py +++ b/youtube_dl/extractor/fox.py @@ -1,22 +1,27 @@ # coding: utf-8 from __future__ import unicode_literals -# import json -# import uuid +import json +import uuid from .adobepass import AdobePassIE +from ..compat import ( + compat_HTTPError, + compat_str, + compat_urllib_parse_unquote, +) from ..utils import ( + ExtractorError, int_or_none, parse_age_limit, parse_duration, try_get, unified_timestamp, - update_url_query, ) class FOXIE(AdobePassIE): - _VALID_URL = r'https?://(?:www\.)?(?:fox\.com|nationalgeographic\.com/tv)/watch/(?P<id>[\da-fA-F]+)' + _VALID_URL = r'https?://(?:www\.)?fox\.com/watch/(?P<id>[\da-fA-F]+)' _TESTS = [{ # clip 'url': 'https://www.fox.com/watch/4b765a60490325103ea69888fb2bd4e8/', @@ -31,6 +36,7 @@ class FOXIE(AdobePassIE): 'upload_date': '20170901', 'creator': 'FOX', 'series': 'Gotham', + 'age_limit': 14, }, 'params': { 'skip_download': True, @@ -43,61 +49,71 @@ class FOXIE(AdobePassIE): # episode, geo-restricted, tv provided required 'url': 'https://www.fox.com/watch/30056b295fb57f7452aeeb4920bc3024/', 'only_matching': True, - }, { - 'url': 'https://www.nationalgeographic.com/tv/watch/f690e05ebbe23ab79747becd0cc223d1/', - 'only_matching': True, }] - # _access_token = None + _GEO_BYPASS = False + _HOME_PAGE_URL = 'https://www.fox.com/' + _API_KEY = 'abdcbed02c124d393b39e818a4312055' + _access_token = None - # def _call_api(self, path, video_id, data=None): - # headers = { - # 'X-Api-Key': '238bb0a0c2aba67922c48709ce0c06fd', - # } - # if self._access_token: - # headers['Authorization'] = 'Bearer ' + self._access_token - # return self._download_json( - # 'https://api2.fox.com/v2.0/' + path, video_id, data=data, headers=headers) + def _call_api(self, path, video_id, data=None): + headers = { + 'X-Api-Key': self._API_KEY, + } + if self._access_token: + headers['Authorization'] = 'Bearer ' + self._access_token + try: + return self._download_json( + 'https://api2.fox.com/v2.0/' + path, + video_id, data=data, headers=headers) + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403: + entitlement_issues = self._parse_json( + e.cause.read().decode(), video_id)['entitlementIssues'] + for e in entitlement_issues: + if e.get('errorCode') == 1005: + raise ExtractorError( + 'This video is only available via cable service provider ' + 'subscription. You may want to use --cookies.', expected=True) + messages = ', '.join([e['message'] for e in entitlement_issues]) + raise ExtractorError(messages, expected=True) + raise - # def _real_initialize(self): - # self._access_token = self._call_api( - # 'login', None, json.dumps({ - # 'deviceId': compat_str(uuid.uuid4()), - # }).encode())['accessToken'] + def _real_initialize(self): + if not self._access_token: + mvpd_auth = self._get_cookies(self._HOME_PAGE_URL).get('mvpd-auth') + if mvpd_auth: + self._access_token = (self._parse_json(compat_urllib_parse_unquote( + mvpd_auth.value), None, fatal=False) or {}).get('accessToken') + if not self._access_token: + self._access_token = self._call_api( + 'login', None, json.dumps({ + 'deviceId': compat_str(uuid.uuid4()), + }).encode())['accessToken'] def _real_extract(self, url): video_id = self._match_id(url) - video = self._download_json( - 'https://api.fox.com/fbc-content/v1_5/video/%s' % video_id, - video_id, headers={ - 'apikey': 'abdcbed02c124d393b39e818a4312055', - 'Content-Type': 'application/json', - 'Referer': url, - }) - # video = self._call_api('vodplayer/' + video_id, video_id) + video = self._call_api('vodplayer/' + video_id, video_id) title = video['name'] - release_url = video['videoRelease']['url'] - # release_url = video['url'] - - data = try_get( - video, lambda x: x['trackingData']['properties'], dict) or {} - - rating = video.get('contentRating') - if data.get('authRequired'): - resource = self._get_mvpd_resource( - 'fbc-fox', title, video.get('guid'), rating) - release_url = update_url_query( - release_url, { - 'auth': self._extract_mvpd_auth( - url, video_id, 'fbc-fox', resource) - }) - m3u8_url = self._download_json(release_url, video_id)['playURL'] + release_url = video['url'] + try: + m3u8_url = self._download_json(release_url, video_id)['playURL'] + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403: + error = self._parse_json(e.cause.read().decode(), video_id) + if error.get('exception') == 'GeoLocationBlocked': + self.raise_geo_restricted(countries=['US']) + raise ExtractorError(error['description'], expected=True) + raise formats = self._extract_m3u8_formats( m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native', m3u8_id='hls') self._sort_formats(formats) + data = try_get( + video, lambda x: x['trackingData']['properties'], dict) or {} + duration = int_or_none(video.get('durationInSeconds')) or int_or_none( video.get('duration')) or parse_duration(video.get('duration')) timestamp = unified_timestamp(video.get('datePublished')) @@ -123,7 +139,7 @@ class FOXIE(AdobePassIE): 'description': video.get('description'), 'duration': duration, 'timestamp': timestamp, - 'age_limit': parse_age_limit(rating), + 'age_limit': parse_age_limit(video.get('contentRating')), 'creator': creator, 'series': series, 'season_number': int_or_none(video.get('seasonNumber')), diff --git a/youtube_dl/extractor/francetv.py b/youtube_dl/extractor/francetv.py index 2ffe83a..81b468c 100644 --- a/youtube_dl/extractor/francetv.py +++ b/youtube_dl/extractor/francetv.py @@ -143,7 +143,7 @@ class FranceTVIE(InfoExtractor): ext = determine_ext(video_url) if ext == 'f4m': if georestricted: - # See https://github.com/rg3/youtube-dl/issues/3963 + # See https://github.com/ytdl-org/youtube-dl/issues/3963 # m3u8 urls work fine continue formats.extend(self._extract_f4m_formats( @@ -215,7 +215,7 @@ class FranceTVSiteIE(FranceTVBaseInfoExtractor): _TESTS = [{ 'url': 'https://www.france.tv/france-2/13h15-le-dimanche/140921-les-mysteres-de-jesus.html', 'info_dict': { - 'id': '162311093', + 'id': 'ec217ecc-0733-48cf-ac06-af1347b849d1', 'ext': 'mp4', 'title': '13h15, le dimanche... - Les mystères de Jésus', 'description': 'md5:75efe8d4c0a8205e5904498ffe1e1a42', @@ -271,7 +271,7 @@ class FranceTVSiteIE(FranceTVBaseInfoExtractor): catalogue = None video_id = self._search_regex( - r'data-main-video=(["\'])(?P<id>(?:(?!\1).)+)\1', + r'(?:data-main-video\s*=|videoId["\']?\s*[:=])\s*(["\'])(?P<id>(?:(?!\1).)+)\1', webpage, 'video id', default=None, group='id') if not video_id: @@ -371,12 +371,13 @@ class FranceTVInfoIE(FranceTVBaseInfoExtractor): self.url_result(dailymotion_url, DailymotionIE.ie_key()) for dailymotion_url in dailymotion_urls]) - video_id, catalogue = self._search_regex( - (r'id-video=([^@]+@[^"]+)', + video_id = self._search_regex( + (r'player\.load[^;]+src:\s*["\']([^"\']+)', + r'id-video=([^@]+@[^"]+)', r'<a[^>]+href="(?:https?:)?//videos\.francetv\.fr/video/([^@]+@[^"]+)"'), - webpage, 'video id').split('@') + webpage, 'video id') - return self._make_url_result(video_id, catalogue) + return self._make_url_result(video_id) class FranceTVInfoSportIE(FranceTVBaseInfoExtractor): diff --git a/youtube_dl/extractor/frontendmasters.py b/youtube_dl/extractor/frontendmasters.py index cb57ba0..f1db33f 100644 --- a/youtube_dl/extractor/frontendmasters.py +++ b/youtube_dl/extractor/frontendmasters.py @@ -94,8 +94,8 @@ class FrontendMastersPageBaseIE(FrontendMastersBaseIE): chapter_number = None index = lesson.get('index') element_index = lesson.get('elementIndex') - if (isinstance(index, int) and isinstance(element_index, int) and - index < element_index): + if (isinstance(index, int) and isinstance(element_index, int) + and index < element_index): chapter_number = element_index - index chapter = (chapters[chapter_number - 1] if chapter_number - 1 < len(chapters) else None) diff --git a/youtube_dl/extractor/gaia.py b/youtube_dl/extractor/gaia.py index f2eef3f..e952775 100644 --- a/youtube_dl/extractor/gaia.py +++ b/youtube_dl/extractor/gaia.py @@ -4,12 +4,17 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..compat import compat_str +from ..compat import ( + compat_str, + compat_urllib_parse_unquote, +) from ..utils import ( + ExtractorError, int_or_none, str_or_none, strip_or_none, try_get, + urlencode_postdata, ) @@ -46,6 +51,29 @@ class GaiaIE(InfoExtractor): 'skip_download': True, }, }] + _NETRC_MACHINE = 'gaia' + _jwt = None + + def _real_initialize(self): + auth = self._get_cookies('https://www.gaia.com/').get('auth') + if auth: + auth = self._parse_json( + compat_urllib_parse_unquote(auth.value), + None, fatal=False) + if not auth: + username, password = self._get_login_info() + if username is None: + return + auth = self._download_json( + 'https://auth.gaia.com/v1/login', + None, data=urlencode_postdata({ + 'username': username, + 'password': password + })) + if auth.get('success') is False: + raise ExtractorError(', '.join(auth['messages']), expected=True) + if auth: + self._jwt = auth.get('jwt') def _real_extract(self, url): display_id, vtype = re.search(self._VALID_URL, url).groups() @@ -59,8 +87,12 @@ class GaiaIE(InfoExtractor): media_id = compat_str(vdata['nid']) title = node['title'] + headers = None + if self._jwt: + headers = {'Authorization': 'Bearer ' + self._jwt} media = self._download_json( - 'https://brooklyn.gaia.com/media/' + media_id, media_id) + 'https://brooklyn.gaia.com/media/' + media_id, + media_id, headers=headers) formats = self._extract_m3u8_formats( media['mediaUrls']['bcHLS'], media_id, 'mp4') self._sort_formats(formats) diff --git a/youtube_dl/extractor/gdcvault.py b/youtube_dl/extractor/gdcvault.py index 8806dc4..2f555c1 100644 --- a/youtube_dl/extractor/gdcvault.py +++ b/youtube_dl/extractor/gdcvault.py @@ -3,22 +3,24 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from .kaltura import KalturaIE from ..utils import ( HEADRequest, sanitized_Request, + smuggle_url, urlencode_postdata, ) class GDCVaultIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?gdcvault\.com/play/(?P<id>\d+)/(?P<name>(\w|-)+)?' + _VALID_URL = r'https?://(?:www\.)?gdcvault\.com/play/(?P<id>\d+)(?:/(?P<name>[\w-]+))?' _NETRC_MACHINE = 'gdcvault' _TESTS = [ { 'url': 'http://www.gdcvault.com/play/1019721/Doki-Doki-Universe-Sweet-Simple', 'md5': '7ce8388f544c88b7ac11c7ab1b593704', 'info_dict': { - 'id': '1019721', + 'id': '201311826596_AWNY', 'display_id': 'Doki-Doki-Universe-Sweet-Simple', 'ext': 'mp4', 'title': 'Doki-Doki Universe: Sweet, Simple and Genuine (GDC Next 10)' @@ -27,7 +29,7 @@ class GDCVaultIE(InfoExtractor): { 'url': 'http://www.gdcvault.com/play/1015683/Embracing-the-Dark-Art-of', 'info_dict': { - 'id': '1015683', + 'id': '201203272_1330951438328RSXR', 'display_id': 'Embracing-the-Dark-Art-of', 'ext': 'flv', 'title': 'Embracing the Dark Art of Mathematical Modeling in AI' @@ -56,7 +58,7 @@ class GDCVaultIE(InfoExtractor): 'url': 'http://gdcvault.com/play/1023460/Tenacious-Design-and-The-Interface', 'md5': 'a8efb6c31ed06ca8739294960b2dbabd', 'info_dict': { - 'id': '1023460', + 'id': '840376_BQRC', 'ext': 'mp4', 'display_id': 'Tenacious-Design-and-The-Interface', 'title': 'Tenacious Design and The Interface of \'Destiny\'', @@ -66,26 +68,38 @@ class GDCVaultIE(InfoExtractor): # Multiple audios 'url': 'http://www.gdcvault.com/play/1014631/Classic-Game-Postmortem-PAC', 'info_dict': { - 'id': '1014631', - 'ext': 'flv', + 'id': '12396_1299111843500GMPX', + 'ext': 'mp4', 'title': 'How to Create a Good Game - From My Experience of Designing Pac-Man', }, - 'params': { - 'skip_download': True, # Requires rtmpdump - 'format': 'jp', # The japanese audio - } + # 'params': { + # 'skip_download': True, # Requires rtmpdump + # 'format': 'jp', # The japanese audio + # } }, { # gdc-player.html 'url': 'http://www.gdcvault.com/play/1435/An-American-engine-in-Tokyo', 'info_dict': { - 'id': '1435', + 'id': '9350_1238021887562UHXB', 'display_id': 'An-American-engine-in-Tokyo', - 'ext': 'flv', + 'ext': 'mp4', 'title': 'An American Engine in Tokyo:/nThe collaboration of Epic Games and Square Enix/nFor THE LAST REMINANT', }, + }, + { + # Kaltura Embed + 'url': 'https://www.gdcvault.com/play/1026180/Mastering-the-Apex-of-Scaling', + 'info_dict': { + 'id': '0_h1fg8j3p', + 'ext': 'mp4', + 'title': 'Mastering the Apex of Scaling Game Servers (Presented by Multiplay)', + 'timestamp': 1554401811, + 'upload_date': '20190404', + 'uploader_id': 'joe@blazestreaming.com', + }, 'params': { - 'skip_download': True, # Requires rtmpdump + 'format': 'mp4-408', }, }, ] @@ -114,10 +128,8 @@ class GDCVaultIE(InfoExtractor): return start_page def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - - video_id = mobj.group('id') - display_id = mobj.group('name') or video_id + video_id, name = re.match(self._VALID_URL, url).groups() + display_id = name or video_id webpage_url = 'http://www.gdcvault.com/play/' + video_id start_page = self._download_webpage(webpage_url, display_id) @@ -127,12 +139,12 @@ class GDCVaultIE(InfoExtractor): start_page, 'url', default=None) if direct_url: title = self._html_search_regex( - r'<td><strong>Session Name</strong></td>\s*<td>(.*?)</td>', + r'<td><strong>Session Name:?</strong></td>\s*<td>(.*?)</td>', start_page, 'title') video_url = 'http://www.gdcvault.com' + direct_url # resolve the url so that we can detect the correct extension - head = self._request_webpage(HEADRequest(video_url), video_id) - video_url = head.geturl() + video_url = self._request_webpage( + HEADRequest(video_url), video_id).geturl() return { 'id': video_id, @@ -141,34 +153,36 @@ class GDCVaultIE(InfoExtractor): 'title': title, } - PLAYER_REGEX = r'<iframe src="(?P<xml_root>.+?)/(?:gdc-)?player.*?\.html.*?".*?</iframe>' - - xml_root = self._html_search_regex( - PLAYER_REGEX, start_page, 'xml root', default=None) - if xml_root is None: - # Probably need to authenticate - login_res = self._login(webpage_url, display_id) - if login_res is None: - self.report_warning('Could not login.') - else: - start_page = login_res - # Grab the url from the authenticated page - xml_root = self._html_search_regex( - PLAYER_REGEX, start_page, 'xml root') - - xml_name = self._html_search_regex( - r'<iframe src=".*?\?xml=(.+?\.xml).*?".*?</iframe>', - start_page, 'xml filename', default=None) - if xml_name is None: - # Fallback to the older format + embed_url = KalturaIE._extract_url(start_page) + if embed_url: + embed_url = smuggle_url(embed_url, {'source_url': url}) + ie_key = 'Kaltura' + else: + PLAYER_REGEX = r'<iframe src="(?P<xml_root>.+?)/(?:gdc-)?player.*?\.html.*?".*?</iframe>' + + xml_root = self._html_search_regex( + PLAYER_REGEX, start_page, 'xml root', default=None) + if xml_root is None: + # Probably need to authenticate + login_res = self._login(webpage_url, display_id) + if login_res is None: + self.report_warning('Could not login.') + else: + start_page = login_res + # Grab the url from the authenticated page + xml_root = self._html_search_regex( + PLAYER_REGEX, start_page, 'xml root') + xml_name = self._html_search_regex( - r'<iframe src=".*?\?xmlURL=xml/(?P<xml_file>.+?\.xml).*?".*?</iframe>', + r'<iframe src=".*?\?xml(?:=|URL=xml/)(.+?\.xml).*?".*?</iframe>', start_page, 'xml filename') + embed_url = '%s/xml/%s' % (xml_root, xml_name) + ie_key = 'DigitallySpeaking' return { '_type': 'url_transparent', 'id': video_id, 'display_id': display_id, - 'url': '%s/xml/%s' % (xml_root, xml_name), - 'ie_key': 'DigitallySpeaking', + 'url': embed_url, + 'ie_key': ie_key, } diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 067de28..eeb0d25 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -89,7 +89,10 @@ from .piksel import PikselIE from .videa import VideaIE from .twentymin import TwentyMinutenIE from .ustream import UstreamIE -from .openload import OpenloadIE +from .openload import ( + OpenloadIE, + VerystreamIE, +) from .videopress import VideoPressIE from .rutube import RutubeIE from .limelight import LimelightBaseIE @@ -430,7 +433,7 @@ class GenericIE(InfoExtractor): }, }, { - # https://github.com/rg3/youtube-dl/issues/2253 + # https://github.com/ytdl-org/youtube-dl/issues/2253 'url': 'http://bcove.me/i6nfkrc3', 'md5': '0ba9446db037002366bab3b3eb30c88c', 'info_dict': { @@ -455,7 +458,7 @@ class GenericIE(InfoExtractor): }, }, { - # https://github.com/rg3/youtube-dl/issues/3541 + # https://github.com/ytdl-org/youtube-dl/issues/3541 'add_ie': ['BrightcoveLegacy'], 'url': 'http://www.kijk.nl/sbs6/leermijvrouwenkennen/videos/jqMiXKAYan2S/aflevering-1', 'info_dict': { @@ -919,7 +922,7 @@ class GenericIE(InfoExtractor): } }, # Multiple brightcove videos - # https://github.com/rg3/youtube-dl/issues/2283 + # https://github.com/ytdl-org/youtube-dl/issues/2283 { 'url': 'http://www.newyorker.com/online/blogs/newsdesk/2014/01/always-never-nuclear-command-and-control.html', 'info_dict': { @@ -2371,7 +2374,7 @@ class GenericIE(InfoExtractor): return camtasia_res # Sometimes embedded video player is hidden behind percent encoding - # (e.g. https://github.com/rg3/youtube-dl/issues/2448) + # (e.g. https://github.com/ytdl-org/youtube-dl/issues/2448) # Unescaping the whole page allows to handle those cases in a generic way webpage = compat_urllib_parse_unquote(webpage) @@ -2546,11 +2549,11 @@ class GenericIE(InfoExtractor): return self.url_result(mobj.group('url')) # Look for Ooyala videos - mobj = (re.search(r'player\.ooyala\.com/[^"?]+[?#][^"]*?(?:embedCode|ec)=(?P<ec>[^"&]+)', webpage) or - re.search(r'OO\.Player\.create\([\'"].*?[\'"],\s*[\'"](?P<ec>.{32})[\'"]', webpage) or - re.search(r'OO\.Player\.create\.apply\(\s*OO\.Player\s*,\s*op\(\s*\[\s*[\'"][^\'"]*[\'"]\s*,\s*[\'"](?P<ec>.{32})[\'"]', webpage) or - re.search(r'SBN\.VideoLinkset\.ooyala\([\'"](?P<ec>.{32})[\'"]\)', webpage) or - re.search(r'data-ooyala-video-id\s*=\s*[\'"](?P<ec>.{32})[\'"]', webpage)) + mobj = (re.search(r'player\.ooyala\.com/[^"?]+[?#][^"]*?(?:embedCode|ec)=(?P<ec>[^"&]+)', webpage) + or re.search(r'OO\.Player\.create\([\'"].*?[\'"],\s*[\'"](?P<ec>.{32})[\'"]', webpage) + or re.search(r'OO\.Player\.create\.apply\(\s*OO\.Player\s*,\s*op\(\s*\[\s*[\'"][^\'"]*[\'"]\s*,\s*[\'"](?P<ec>.{32})[\'"]', webpage) + or re.search(r'SBN\.VideoLinkset\.ooyala\([\'"](?P<ec>.{32})[\'"]\)', webpage) + or re.search(r'data-ooyala-video-id\s*=\s*[\'"](?P<ec>.{32})[\'"]', webpage)) if mobj is not None: embed_token = self._search_regex( r'embedToken[\'"]?\s*:\s*[\'"]([^\'"]+)', @@ -2580,19 +2583,6 @@ class GenericIE(InfoExtractor): if mobj is not None: return self.url_result(mobj.group(1), 'Mpora') - # Look for embedded NovaMov-based player - mobj = re.search( - r'''(?x)<(?:pagespeed_)?iframe[^>]+?src=(["\']) - (?P<url>http://(?:(?:embed|www)\.)? - (?:novamov\.com| - nowvideo\.(?:ch|sx|eu|at|ag|co)| - videoweed\.(?:es|com)| - movshare\.(?:net|sx|ag)| - divxstage\.(?:eu|net|ch|co|at|ag)) - /embed\.php.+?)\1''', webpage) - if mobj is not None: - return self.url_result(mobj.group('url')) - # Look for embedded Facebook player facebook_urls = FacebookIE._extract_urls(webpage) if facebook_urls: @@ -3017,6 +3007,12 @@ class GenericIE(InfoExtractor): return self.playlist_from_matches( openload_urls, video_id, video_title, ie=OpenloadIE.ie_key()) + # Look for Verystream embeds + verystream_urls = VerystreamIE._extract_urls(webpage) + if verystream_urls: + return self.playlist_from_matches( + verystream_urls, video_id, video_title, ie=VerystreamIE.ie_key()) + # Look for VideoPress embeds videopress_urls = VideoPressIE._extract_urls(webpage) if videopress_urls: @@ -3177,7 +3173,7 @@ class GenericIE(InfoExtractor): jwplayer_data, video_id, require_title=False, base_url=url) return merge_dicts(info, info_dict) except ExtractorError: - # See https://github.com/rg3/youtube-dl/pull/16735 + # See https://github.com/ytdl-org/youtube-dl/pull/16735 pass # Video.js embed @@ -3212,8 +3208,8 @@ class GenericIE(InfoExtractor): else: formats.append({ 'url': src, - 'ext': (mimetype2ext(src_type) or - ext if ext in KNOWN_EXTENSIONS else 'mp4'), + 'ext': (mimetype2ext(src_type) + or ext if ext in KNOWN_EXTENSIONS else 'mp4'), }) if formats: self._sort_formats(formats) diff --git a/youtube_dl/extractor/gfycat.py b/youtube_dl/extractor/gfycat.py index c1b36a5..eb6f858 100644 --- a/youtube_dl/extractor/gfycat.py +++ b/youtube_dl/extractor/gfycat.py @@ -11,7 +11,7 @@ from ..utils import ( class GfycatIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?gfycat\.com/(?:ifr/|gifs/detail/)?(?P<id>[^/?#]+)' + _VALID_URL = r'https?://(?:www\.)?gfycat\.com/(?:ifr/|gifs/detail/)?(?P<id>[^-/?#]+)' _TESTS = [{ 'url': 'http://gfycat.com/DeadlyDecisiveGermanpinscher', 'info_dict': { @@ -47,6 +47,9 @@ class GfycatIE(InfoExtractor): }, { 'url': 'https://gfycat.com/gifs/detail/UnconsciousLankyIvorygull', 'only_matching': True + }, { + 'url': 'https://gfycat.com/acceptablehappygoluckyharborporpoise-baseball', + 'only_matching': True }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/go.py b/youtube_dl/extractor/go.py index ec9dd6e..206d89e 100644 --- a/youtube_dl/extractor/go.py +++ b/youtube_dl/extractor/go.py @@ -25,15 +25,15 @@ class GoIE(AdobePassIE): }, 'watchdisneychannel': { 'brand': '004', - 'requestor_id': 'Disney', + 'resource_id': 'Disney', }, 'watchdisneyjunior': { 'brand': '008', - 'requestor_id': 'DisneyJunior', + 'resource_id': 'DisneyJunior', }, 'watchdisneyxd': { 'brand': '009', - 'requestor_id': 'DisneyXD', + 'resource_id': 'DisneyXD', } } _VALID_URL = r'https?://(?:(?P<sub_domain>%s)\.)?go\.com/(?:(?:[^/]+/)*(?P<id>vdka\w+)|(?:[^/]+/)*(?P<display_id>[^/?#]+))'\ @@ -130,8 +130,8 @@ class GoIE(AdobePassIE): 'device': '001', } if video_data.get('accesslevel') == '1': - requestor_id = site_info['requestor_id'] - resource = self._get_mvpd_resource( + requestor_id = site_info.get('requestor_id', 'DisneyChannels') + resource = site_info.get('resource_id') or self._get_mvpd_resource( requestor_id, title, video_id, None) auth = self._extract_mvpd_auth( url, video_id, requestor_id, resource) diff --git a/youtube_dl/extractor/googledrive.py b/youtube_dl/extractor/googledrive.py index 3bf462d..589e4d5 100644 --- a/youtube_dl/extractor/googledrive.py +++ b/youtube_dl/extractor/googledrive.py @@ -36,7 +36,7 @@ class GoogleDriveIE(InfoExtractor): } }, { # video can't be watched anonymously due to view count limit reached, - # but can be downloaded (see https://github.com/rg3/youtube-dl/issues/14046) + # but can be downloaded (see https://github.com/ytdl-org/youtube-dl/issues/14046) 'url': 'https://drive.google.com/file/d/0B-vUyvmDLdWDcEt4WjBqcmI2XzQ/view', 'md5': 'bfbd670d03a470bb1e6d4a257adec12e', 'info_dict': { diff --git a/youtube_dl/extractor/hbo.py b/youtube_dl/extractor/hbo.py index 859ad54..68df748 100644 --- a/youtube_dl/extractor/hbo.py +++ b/youtube_dl/extractor/hbo.py @@ -4,12 +4,12 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..compat import compat_str from ..utils import ( xpath_text, xpath_element, int_or_none, parse_duration, + urljoin, ) @@ -53,10 +53,13 @@ class HBOBaseIE(InfoExtractor): }, } - def _extract_from_id(self, video_id): - video_data = self._download_xml( - 'http://render.lv3.hbo.com/data/content/global/videos/data/%s.xml' % video_id, video_id) - title = xpath_text(video_data, 'title', 'title', True) + def _extract_info(self, url, display_id): + video_data = self._download_xml(url, display_id) + video_id = xpath_text(video_data, 'id', fatal=True) + episode_title = title = xpath_text(video_data, 'title', fatal=True) + series = xpath_text(video_data, 'program') + if series: + title = '%s - %s' % (series, title) formats = [] for source in xpath_element(video_data, 'videos', 'sources', True): @@ -128,68 +131,45 @@ class HBOBaseIE(InfoExtractor): 'width': width, }) + subtitles = None + caption_url = xpath_text(video_data, 'captionUrl') + if caption_url: + subtitles = { + 'en': [{ + 'url': caption_url, + 'ext': 'ttml' + }], + } + return { 'id': video_id, 'title': title, 'duration': parse_duration(xpath_text(video_data, 'duration/tv14')), + 'series': series, + 'episode': episode_title, 'formats': formats, 'thumbnails': thumbnails, + 'subtitles': subtitles, } class HBOIE(HBOBaseIE): IE_NAME = 'hbo' - _VALID_URL = r'https?://(?:www\.)?hbo\.com/video/video\.html\?.*vid=(?P<id>[0-9]+)' + _VALID_URL = r'https?://(?:www\.)?hbo\.com/(?:video|embed)(?:/[^/]+)*/(?P<id>[^/?#]+)' _TEST = { - 'url': 'http://www.hbo.com/video/video.html?autoplay=true&g=u&vid=1437839', - 'md5': '2c6a6bc1222c7e91cb3334dad1746e5a', + 'url': 'https://www.hbo.com/video/game-of-thrones/seasons/season-8/videos/trailer', + 'md5': '8126210656f433c452a21367f9ad85b3', 'info_dict': { - 'id': '1437839', + 'id': '22113301', 'ext': 'mp4', - 'title': 'Ep. 64 Clip: Encryption', - 'thumbnail': r're:https?://.*\.jpg$', - 'duration': 1072, - } - } - - def _real_extract(self, url): - video_id = self._match_id(url) - return self._extract_from_id(video_id) - - -class HBOEpisodeIE(HBOBaseIE): - IE_NAME = 'hbo:episode' - _VALID_URL = r'https?://(?:www\.)?hbo\.com/(?P<path>(?!video)(?:(?:[^/]+/)+video|watch-free-episodes)/(?P<id>[0-9a-z-]+))(?:\.html)?' - - _TESTS = [{ - 'url': 'http://www.hbo.com/girls/episodes/5/52-i-love-you-baby/video/ep-52-inside-the-episode.html?autoplay=true', - 'md5': '61ead79b9c0dfa8d3d4b07ef4ac556fb', - 'info_dict': { - 'id': '1439518', - 'display_id': 'ep-52-inside-the-episode', - 'ext': 'mp4', - 'title': 'Ep. 52: Inside the Episode', - 'thumbnail': r're:https?://.*\.jpg$', - 'duration': 240, + 'title': 'Game of Thrones - Trailer', }, - }, { - 'url': 'http://www.hbo.com/game-of-thrones/about/video/season-5-invitation-to-the-set.html?autoplay=true', - 'only_matching': True, - }, { - 'url': 'http://www.hbo.com/watch-free-episodes/last-week-tonight-with-john-oliver', - 'only_matching': True, - }] + 'expected_warnings': ['Unknown MIME type application/mp4 in DASH manifest'], + } def _real_extract(self, url): - path, display_id = re.match(self._VALID_URL, url).groups() - - content = self._download_json( - 'http://www.hbo.com/api/content/' + path, display_id)['content'] - - video_id = compat_str((content.get('parsed', {}).get( - 'common:FullBleedVideo', {}) or content['selectedEpisode'])['videoId']) - - info_dict = self._extract_from_id(video_id) - info_dict['display_id'] = display_id - - return info_dict + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + location_path = self._parse_json(self._html_search_regex( + r'data-state="({.+?})"', webpage, 'state'), display_id)['video']['locationUrl'] + return self._extract_info(urljoin(url, location_path), display_id) diff --git a/youtube_dl/extractor/heise.py b/youtube_dl/extractor/heise.py index 5c03780..d8a2f9d 100644 --- a/youtube_dl/extractor/heise.py +++ b/youtube_dl/extractor/heise.py @@ -155,8 +155,8 @@ class HeiseIE(InfoExtractor): 'id': video_id, 'title': title, 'description': description, - 'thumbnail': (xpath_text(doc, './/{http://rss.jwpcdn.com/}image') or - self._og_search_thumbnail(webpage)), + 'thumbnail': (xpath_text(doc, './/{http://rss.jwpcdn.com/}image') + or self._og_search_thumbnail(webpage)), 'timestamp': parse_iso8601( self._html_search_meta('date', webpage)), 'formats': formats, diff --git a/youtube_dl/extractor/hitbox.py b/youtube_dl/extractor/hitbox.py index 1d905dc..3e5ff26 100644 --- a/youtube_dl/extractor/hitbox.py +++ b/youtube_dl/extractor/hitbox.py @@ -58,8 +58,8 @@ class HitboxIE(InfoExtractor): title = video_meta.get('media_status') alt_title = video_meta.get('media_title') description = clean_html( - video_meta.get('media_description') or - video_meta.get('media_description_md')) + video_meta.get('media_description') + or video_meta.get('media_description_md')) duration = float_or_none(video_meta.get('media_duration')) uploader = video_meta.get('media_user_name') views = int_or_none(video_meta.get('media_views')) diff --git a/youtube_dl/extractor/hitrecord.py b/youtube_dl/extractor/hitrecord.py index 01a6946..fd5dc29 100644 --- a/youtube_dl/extractor/hitrecord.py +++ b/youtube_dl/extractor/hitrecord.py @@ -47,8 +47,8 @@ class HitRecordIE(InfoExtractor): tags = [ t['text'] for t in tags_list - if isinstance(t, dict) and t.get('text') and - isinstance(t['text'], compat_str)] + if isinstance(t, dict) and t.get('text') + and isinstance(t['text'], compat_str)] return { 'id': video_id, diff --git a/youtube_dl/extractor/hketv.py b/youtube_dl/extractor/hketv.py new file mode 100644 index 0000000..1f3502b --- /dev/null +++ b/youtube_dl/extractor/hketv.py @@ -0,0 +1,191 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..compat import compat_str +from ..utils import ( + clean_html, + ExtractorError, + int_or_none, + merge_dicts, + parse_count, + str_or_none, + try_get, + unified_strdate, + urlencode_postdata, + urljoin, +) + + +class HKETVIE(InfoExtractor): + IE_NAME = 'hketv' + IE_DESC = 'é¦æ¸¯æè²å±æè²é»è¦ (HKETV) Educational Television, Hong Kong Educational Bureau' + _GEO_BYPASS = False + _GEO_COUNTRIES = ['HK'] + _VALID_URL = r'https?://(?:www\.)?hkedcity\.net/etv/resource/(?P<id>[0-9]+)' + _TESTS = [{ + 'url': 'https://www.hkedcity.net/etv/resource/2932360618', + 'md5': 'f193712f5f7abb208ddef3c5ea6ed0b7', + 'info_dict': { + 'id': '2932360618', + 'ext': 'mp4', + 'title': 'åé±ä¸ç(å ±äº«é±è®æ¨) (ä¸ãè±æåå¹å¯ä¾é¸æ)', + 'description': 'md5:d5286d05219ef50e0613311cbe96e560', + 'upload_date': '20181024', + 'duration': 900, + 'subtitles': 'count:2', + }, + 'skip': 'Geo restricted to HK', + }, { + 'url': 'https://www.hkedcity.net/etv/resource/972641418', + 'md5': '1ed494c1c6cf7866a8290edad9b07dc9', + 'info_dict': { + 'id': '972641418', + 'ext': 'mp4', + 'title': 'è¡£å æ¥æ¥ (天使系åä¹ä¸)', + 'description': 'md5:10bb3d659421e74f58e5db5691627b0f', + 'upload_date': '20070109', + 'duration': 907, + 'subtitles': {}, + }, + 'params': { + 'geo_verification_proxy': '<HK proxy here>', + }, + 'skip': 'Geo restricted to HK', + }] + + _CC_LANGS = { + 'ä¸æï¼ç¹é«ä¸æï¼': 'zh-Hant', + 'ä¸æï¼ç®ä½ä¸æï¼': 'zh-Hans', + 'English': 'en', + 'Bahasa Indonesia': 'id', + '\u0939\u093f\u0928\u094d\u0926\u0940': 'hi', + '\u0928\u0947\u092a\u093e\u0932\u0940': 'ne', + 'Tagalog': 'tl', + '\u0e44\u0e17\u0e22': 'th', + '\u0627\u0631\u062f\u0648': 'ur', + } + _FORMAT_HEIGHTS = { + 'SD': 360, + 'HD': 720, + } + _APPS_BASE_URL = 'https://apps.hkedcity.net' + + def _real_extract(self, url): + video_id = self._match_id(url) + webpage = self._download_webpage(url, video_id) + + title = ( + self._html_search_meta( + ('ed_title', 'search.ed_title'), webpage, default=None) + or self._search_regex( + r'data-favorite_title_(?:eng|chi)=(["\'])(?P<id>(?:(?!\1).)+)\1', + webpage, 'title', default=None, group='url') + or self._html_search_regex( + r'<h1>([^<]+)</h1>', webpage, 'title', default=None) + or self._og_search_title(webpage) + ) + + file_id = self._search_regex( + r'post_var\[["\']file_id["\']\s*\]\s*=\s*(.+?);', + webpage, 'file ID') + curr_url = self._search_regex( + r'post_var\[["\']curr_url["\']\s*\]\s*=\s*"(.+?)";', + webpage, 'curr URL') + data = { + 'action': 'get_info', + 'curr_url': curr_url, + 'file_id': file_id, + 'video_url': file_id, + } + + response = self._download_json( + self._APPS_BASE_URL + '/media/play/handler.php', video_id, + data=urlencode_postdata(data), + headers=merge_dicts({ + 'Content-Type': 'application/x-www-form-urlencoded'}, + self.geo_verification_headers())) + + result = response['result'] + + if not response.get('success') or not response.get('access'): + error = clean_html(response.get('access_err_msg')) + if 'Video streaming is not available in your country' in error: + self.raise_geo_restricted( + msg=error, countries=self._GEO_COUNTRIES) + else: + raise ExtractorError(error, expected=True) + + formats = [] + + width = int_or_none(result.get('width')) + height = int_or_none(result.get('height')) + + playlist0 = result['playlist'][0] + for fmt in playlist0['sources']: + file_url = urljoin(self._APPS_BASE_URL, fmt.get('file')) + if not file_url: + continue + # If we ever wanted to provide the final resolved URL that + # does not require cookies, albeit with a shorter lifespan: + # urlh = self._downloader.urlopen(file_url) + # resolved_url = urlh.geturl() + label = fmt.get('label') + h = self._FORMAT_HEIGHTS.get(label) + w = h * width // height if h and width and height else None + formats.append({ + 'format_id': label, + 'ext': fmt.get('type'), + 'url': file_url, + 'width': w, + 'height': h, + }) + self._sort_formats(formats) + + subtitles = {} + tracks = try_get(playlist0, lambda x: x['tracks'], list) or [] + for track in tracks: + if not isinstance(track, dict): + continue + track_kind = str_or_none(track.get('kind')) + if not track_kind or not isinstance(track_kind, compat_str): + continue + if track_kind.lower() not in ('captions', 'subtitles'): + continue + track_url = urljoin(self._APPS_BASE_URL, track.get('file')) + if not track_url: + continue + track_label = track.get('label') + subtitles.setdefault(self._CC_LANGS.get( + track_label, track_label), []).append({ + 'url': self._proto_relative_url(track_url), + 'ext': 'srt', + }) + + # Likes + emotion = self._download_json( + 'https://emocounter.hkedcity.net/handler.php', video_id, + data=urlencode_postdata({ + 'action': 'get_emotion', + 'data[bucket_id]': 'etv', + 'data[identifier]': video_id, + }), + headers={'Content-Type': 'application/x-www-form-urlencoded'}, + fatal=False) or {} + like_count = int_or_none(try_get( + emotion, lambda x: x['data']['emotion_data'][0]['count'])) + + return { + 'id': video_id, + 'title': title, + 'description': self._html_search_meta( + 'description', webpage, fatal=False), + 'upload_date': unified_strdate(self._html_search_meta( + 'ed_date', webpage, fatal=False), day_first=False), + 'duration': int_or_none(result.get('length')), + 'formats': formats, + 'subtitles': subtitles, + 'thumbnail': urljoin(self._APPS_BASE_URL, result.get('image')), + 'view_count': parse_count(result.get('view_count')), + 'like_count': like_count, + } diff --git a/youtube_dl/extractor/hotstar.py b/youtube_dl/extractor/hotstar.py index 8de9c4f..79d5bbb 100644 --- a/youtube_dl/extractor/hotstar.py +++ b/youtube_dl/extractor/hotstar.py @@ -4,40 +4,59 @@ from __future__ import unicode_literals import hashlib import hmac import time +import uuid from .common import InfoExtractor -from ..compat import compat_HTTPError +from ..compat import ( + compat_HTTPError, + compat_str, +) from ..utils import ( determine_ext, ExtractorError, int_or_none, + str_or_none, try_get, + url_or_none, ) class HotStarBaseIE(InfoExtractor): _AKAMAI_ENCRYPTION_KEY = b'\x05\xfc\x1a\x01\xca\xc9\x4b\xc4\x12\xfc\x53\x12\x07\x75\xf9\xee' - def _call_api(self, path, video_id, query_name='contentId'): + def _call_api_impl(self, path, video_id, query): st = int(time.time()) exp = st + 6000 auth = 'st=%d~exp=%d~acl=/*' % (st, exp) auth += '~hmac=' + hmac.new(self._AKAMAI_ENCRYPTION_KEY, auth.encode(), hashlib.sha256).hexdigest() response = self._download_json( - 'https://api.hotstar.com/' + path, - video_id, headers={ + 'https://api.hotstar.com/' + path, video_id, headers={ 'hotstarauth': auth, 'x-country-code': 'IN', 'x-platform-code': 'JIO', - }, query={ - query_name: video_id, - 'tas': 10000, - }) + }, query=query) if response['statusCode'] != 'OK': raise ExtractorError( response['body']['message'], expected=True) return response['body']['results'] + def _call_api(self, path, video_id, query_name='contentId'): + return self._call_api_impl(path, video_id, { + query_name: video_id, + 'tas': 10000, + }) + + def _call_api_v2(self, path, video_id): + return self._call_api_impl( + '%s/in/contents/%s' % (path, video_id), video_id, { + 'desiredConfig': 'encryption:plain;ladder:phone,tv;package:hls,dash', + 'client': 'mweb', + 'clientVersion': '6.18.0', + 'deviceId': compat_str(uuid.uuid4()), + 'osName': 'Windows', + 'osVersion': '10', + }) + class HotStarIE(HotStarBaseIE): IE_NAME = 'hotstar' @@ -68,6 +87,10 @@ class HotStarIE(HotStarBaseIE): }, { 'url': 'http://www.hotstar.com/1000000515', 'only_matching': True, + }, { + # only available via api v2 + 'url': 'https://www.hotstar.com/tv/ek-bhram-sarvagun-sampanna/s-2116/janhvi-targets-suman/1000234847', + 'only_matching': True, }] _GEO_BYPASS = False @@ -95,26 +118,40 @@ class HotStarIE(HotStarBaseIE): raise ExtractorError('This video is DRM protected.', expected=True) formats = [] - format_data = self._call_api('h/v1/play', video_id)['item'] - format_url = format_data['playbackUrl'] - ext = determine_ext(format_url) - if ext == 'm3u8': + geo_restricted = False + playback_sets = self._call_api_v2('h/v2/play', video_id)['playBackSets'] + for playback_set in playback_sets: + if not isinstance(playback_set, dict): + continue + format_url = url_or_none(playback_set.get('playbackUrl')) + if not format_url: + continue + tags = str_or_none(playback_set.get('tagsCombination')) or '' + if tags and 'encryption:plain' not in tags: + continue + ext = determine_ext(format_url) try: - formats.extend(self._extract_m3u8_formats( - format_url, video_id, 'mp4', m3u8_id='hls')) + if 'package:hls' in tags or ext == 'm3u8': + formats.extend(self._extract_m3u8_formats( + format_url, video_id, 'mp4', m3u8_id='hls')) + elif 'package:dash' in tags or ext == 'mpd': + formats.extend(self._extract_mpd_formats( + format_url, video_id, mpd_id='dash')) + elif ext == 'f4m': + # produce broken files + pass + else: + formats.append({ + 'url': format_url, + 'width': int_or_none(playback_set.get('width')), + 'height': int_or_none(playback_set.get('height')), + }) except ExtractorError as e: if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403: - self.raise_geo_restricted(countries=['IN']) - raise - elif ext == 'f4m': - # produce broken files - pass - else: - formats.append({ - 'url': format_url, - 'width': int_or_none(format_data.get('width')), - 'height': int_or_none(format_data.get('height')), - }) + geo_restricted = True + continue + if not formats and geo_restricted: + self.raise_geo_restricted(countries=['IN']) self._sort_formats(formats) return { diff --git a/youtube_dl/extractor/hrti.py b/youtube_dl/extractor/hrti.py index 9ba1aa7..23f7b1f 100644 --- a/youtube_dl/extractor/hrti.py +++ b/youtube_dl/extractor/hrti.py @@ -60,8 +60,8 @@ class HRTiBaseIE(InfoExtractor): language=self._APP_LANGUAGE, application_id=self._APP_PUBLICATION_ID) - self._login_url = (modules['user']['resources']['login']['uri'] + - '/format/json').format(session_id=self._session_id) + self._login_url = (modules['user']['resources']['login']['uri'] + + '/format/json').format(session_id=self._session_id) self._logout_url = modules['user']['resources']['logout']['uri'] diff --git a/youtube_dl/extractor/hypem.py b/youtube_dl/extractor/hypem.py index f7c9130..9ca28d6 100644 --- a/youtube_dl/extractor/hypem.py +++ b/youtube_dl/extractor/hypem.py @@ -1,18 +1,11 @@ from __future__ import unicode_literals -import json -import time - from .common import InfoExtractor -from ..compat import compat_urllib_parse_urlencode -from ..utils import ( - ExtractorError, - sanitized_Request, -) +from ..utils import int_or_none class HypemIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?hypem\.com/track/(?P<id>[^/]+)/' + _VALID_URL = r'https?://(?:www\.)?hypem\.com/track/(?P<id>[0-9a-z]{5})' _TEST = { 'url': 'http://hypem.com/track/1v6ga/BODYWORK+-+TAME', 'md5': 'b9cc91b5af8995e9f0c1cee04c575828', @@ -21,41 +14,36 @@ class HypemIE(InfoExtractor): 'ext': 'mp3', 'title': 'Tame', 'uploader': 'BODYWORK', + 'timestamp': 1371810457, + 'upload_date': '20130621', } } def _real_extract(self, url): track_id = self._match_id(url) - data = {'ax': 1, 'ts': time.time()} - request = sanitized_Request(url + '?' + compat_urllib_parse_urlencode(data)) - response, urlh = self._download_webpage_handle( - request, track_id, 'Downloading webpage with the url') - - html_tracks = self._html_search_regex( - r'(?ms)<script type="application/json" id="displayList-data">(.+?)</script>', - response, 'tracks') - try: - track_list = json.loads(html_tracks) - track = track_list['tracks'][0] - except ValueError: - raise ExtractorError('Hypemachine contained invalid JSON.') - - key = track['key'] + response = self._download_webpage(url, track_id) + + track = self._parse_json(self._html_search_regex( + r'(?s)<script\s+type="application/json"\s+id="displayList-data">(.+?)</script>', + response, 'tracks'), track_id)['tracks'][0] + track_id = track['id'] title = track['song'] - request = sanitized_Request( - 'http://hypem.com/serve/source/%s/%s' % (track_id, key), - '', {'Content-Type': 'application/json'}) - song_data = self._download_json(request, track_id, 'Downloading metadata') - final_url = song_data['url'] - artist = track.get('artist') + final_url = self._download_json( + 'http://hypem.com/serve/source/%s/%s' % (track_id, track['key']), + track_id, 'Downloading metadata', headers={ + 'Content-Type': 'application/json' + })['url'] return { 'id': track_id, 'url': final_url, 'ext': 'mp3', 'title': title, - 'uploader': artist, + 'uploader': track.get('artist'), + 'duration': int_or_none(track.get('time')), + 'timestamp': int_or_none(track.get('ts')), + 'track': title, } diff --git a/youtube_dl/extractor/imgur.py b/youtube_dl/extractor/imgur.py index 0eb54db..a5ba03e 100644 --- a/youtube_dl/extractor/imgur.py +++ b/youtube_dl/extractor/imgur.py @@ -27,6 +27,10 @@ class ImgurIE(InfoExtractor): }, { 'url': 'https://i.imgur.com/crGpqCV.mp4', 'only_matching': True, + }, { + # no title + 'url': 'https://i.imgur.com/jxBXAMC.gifv', + 'only_matching': True, }] def _real_extract(self, url): @@ -87,7 +91,7 @@ class ImgurIE(InfoExtractor): return { 'id': video_id, 'formats': formats, - 'title': self._og_search_title(webpage), + 'title': self._og_search_title(webpage, default=video_id), } diff --git a/youtube_dl/extractor/ina.py b/youtube_dl/extractor/ina.py index 9544ff9..12695af 100644 --- a/youtube_dl/extractor/ina.py +++ b/youtube_dl/extractor/ina.py @@ -1,36 +1,83 @@ # coding: utf-8 from __future__ import unicode_literals -import re - from .common import InfoExtractor +from ..utils import ( + determine_ext, + int_or_none, + strip_or_none, + xpath_attr, + xpath_text, +) class InaIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?ina\.fr/video/(?P<id>I?[A-Z0-9]+)' - _TEST = { + _VALID_URL = r'https?://(?:www\.)?ina\.fr/(?:video|audio)/(?P<id>[A-Z0-9_]+)' + _TESTS = [{ 'url': 'http://www.ina.fr/video/I12055569/francois-hollande-je-crois-que-c-est-clair-video.html', 'md5': 'a667021bf2b41f8dc6049479d9bb38a3', 'info_dict': { 'id': 'I12055569', 'ext': 'mp4', 'title': 'François Hollande "Je crois que c\'est clair"', + 'description': 'md5:3f09eb072a06cb286b8f7e4f77109663', } - } + }, { + 'url': 'https://www.ina.fr/video/S806544_001/don-d-organes-des-avancees-mais-d-importants-besoins-video.html', + 'only_matching': True, + }, { + 'url': 'https://www.ina.fr/audio/P16173408', + 'only_matching': True, + }, { + 'url': 'https://www.ina.fr/video/P16173408-video.html', + 'only_matching': True, + }] def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - - video_id = mobj.group('id') - mrss_url = 'http://player.ina.fr/notices/%s.mrss' % video_id - info_doc = self._download_xml(mrss_url, video_id) + video_id = self._match_id(url) + info_doc = self._download_xml( + 'http://player.ina.fr/notices/%s.mrss' % video_id, video_id) + item = info_doc.find('channel/item') + title = xpath_text(item, 'title', fatal=True) + media_ns_xpath = lambda x: self._xpath_ns(x, 'http://search.yahoo.com/mrss/') + content = item.find(media_ns_xpath('content')) - self.report_extraction(video_id) + get_furl = lambda x: xpath_attr(content, media_ns_xpath(x), 'url') + formats = [] + for q, w, h in (('bq', 400, 300), ('mq', 512, 384), ('hq', 768, 576)): + q_url = get_furl(q) + if not q_url: + continue + formats.append({ + 'format_id': q, + 'url': q_url, + 'width': w, + 'height': h, + }) + if not formats: + furl = get_furl('player') or content.attrib['url'] + ext = determine_ext(furl) + formats = [{ + 'url': furl, + 'vcodec': 'none' if ext == 'mp3' else None, + 'ext': ext, + }] - video_url = info_doc.find('.//{http://search.yahoo.com/mrss/}player').attrib['url'] + thumbnails = [] + for thumbnail in content.findall(media_ns_xpath('thumbnail')): + thumbnail_url = thumbnail.get('url') + if not thumbnail_url: + continue + thumbnails.append({ + 'url': thumbnail_url, + 'height': int_or_none(thumbnail.get('height')), + 'width': int_or_none(thumbnail.get('width')), + }) return { 'id': video_id, - 'url': video_url, - 'title': info_doc.find('.//title').text, + 'formats': formats, + 'title': title, + 'description': strip_or_none(xpath_text(item, 'description')), + 'thumbnails': thumbnails, } diff --git a/youtube_dl/extractor/infoq.py b/youtube_dl/extractor/infoq.py index 391c2f5..18249cf 100644 --- a/youtube_dl/extractor/infoq.py +++ b/youtube_dl/extractor/infoq.py @@ -122,9 +122,9 @@ class InfoQIE(BokeCCBaseIE): formats = self._extract_bokecc_formats(webpage, video_id) else: formats = ( - self._extract_rtmp_video(webpage) + - self._extract_http_video(webpage) + - self._extract_http_audio(webpage, video_id)) + self._extract_rtmp_video(webpage) + + self._extract_http_video(webpage) + + self._extract_http_audio(webpage, video_id)) self._sort_formats(formats) diff --git a/youtube_dl/extractor/instagram.py b/youtube_dl/extractor/instagram.py index 7e0e838..ffd87b5 100644 --- a/youtube_dl/extractor/instagram.py +++ b/youtube_dl/extractor/instagram.py @@ -227,44 +227,37 @@ class InstagramIE(InfoExtractor): } -class InstagramUserIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?instagram\.com/(?P<id>[^/]{2,})/?(?:$|[?#])' - IE_DESC = 'Instagram user profile' - IE_NAME = 'instagram:user' - _TEST = { - 'url': 'https://instagram.com/porsche', - 'info_dict': { - 'id': 'porsche', - 'title': 'porsche', - }, - 'playlist_count': 5, - 'params': { - 'extract_flat': True, - 'skip_download': True, - 'playlistend': 5, - } - } +class InstagramPlaylistIE(InfoExtractor): + # A superclass for handling any kind of query based on GraphQL which + # results in a playlist. + + _gis_tmpl = None # used to cache GIS request type - _gis_tmpl = None + def _parse_graphql(self, webpage, item_id): + # Reads a webpage and returns its GraphQL data. + return self._parse_json( + self._search_regex( + r'sharedData\s*=\s*({.+?})\s*;\s*[<\n]', webpage, 'data'), + item_id) - def _entries(self, data): + def _extract_graphql(self, data, url): + # Parses GraphQL queries containing videos and generates a playlist. def get_count(suffix): return int_or_none(try_get( node, lambda x: x['edge_media_' + suffix]['count'])) - uploader_id = data['entry_data']['ProfilePage'][0]['graphql']['user']['id'] + uploader_id = self._match_id(url) csrf_token = data['config']['csrf_token'] rhx_gis = data.get('rhx_gis') or '3c7ca9dcefcf966d11dacf1f151335e8' - self._set_cookie('instagram.com', 'ig_pr', '1') - cursor = '' for page_num in itertools.count(1): - variables = json.dumps({ - 'id': uploader_id, + variables = { 'first': 12, 'after': cursor, - }) + } + variables.update(self._query_vars_for(data)) + variables = json.dumps(variables) if self._gis_tmpl: gis_tmpls = [self._gis_tmpl] @@ -276,21 +269,26 @@ class InstagramUserIE(InfoExtractor): '%s:%s:%s' % (rhx_gis, csrf_token, std_headers['User-Agent']), ] + # try all of the ways to generate a GIS query, and not only use the + # first one that works, but cache it for future requests for gis_tmpl in gis_tmpls: try: - media = self._download_json( + json_data = self._download_json( 'https://www.instagram.com/graphql/query/', uploader_id, 'Downloading JSON page %d' % page_num, headers={ 'X-Requested-With': 'XMLHttpRequest', 'X-Instagram-GIS': hashlib.md5( ('%s:%s' % (gis_tmpl, variables)).encode('utf-8')).hexdigest(), }, query={ - 'query_hash': '42323d64886122307be10013ad2dcc44', + 'query_hash': self._QUERY_HASH, 'variables': variables, - })['data']['user']['edge_owner_to_timeline_media'] + }) + media = self._parse_timeline_from(json_data) self._gis_tmpl = gis_tmpl break except ExtractorError as e: + # if it's an error caused by a bad query, and there are + # more GIS templates to try, ignore it and keep trying if isinstance(e.cause, compat_HTTPError) and e.cause.code == 403: if gis_tmpl != gis_tmpls[-1]: continue @@ -348,14 +346,80 @@ class InstagramUserIE(InfoExtractor): break def _real_extract(self, url): - username = self._match_id(url) - - webpage = self._download_webpage(url, username) + user_or_tag = self._match_id(url) + webpage = self._download_webpage(url, user_or_tag) + data = self._parse_graphql(webpage, user_or_tag) - data = self._parse_json( - self._search_regex( - r'sharedData\s*=\s*({.+?})\s*;\s*[<\n]', webpage, 'data'), - username) + self._set_cookie('instagram.com', 'ig_pr', '1') return self.playlist_result( - self._entries(data), username, username) + self._extract_graphql(data, url), user_or_tag, user_or_tag) + + +class InstagramUserIE(InstagramPlaylistIE): + _VALID_URL = r'https?://(?:www\.)?instagram\.com/(?P<id>[^/]{2,})/?(?:$|[?#])' + IE_DESC = 'Instagram user profile' + IE_NAME = 'instagram:user' + _TEST = { + 'url': 'https://instagram.com/porsche', + 'info_dict': { + 'id': 'porsche', + 'title': 'porsche', + }, + 'playlist_count': 5, + 'params': { + 'extract_flat': True, + 'skip_download': True, + 'playlistend': 5, + } + } + + _QUERY_HASH = '42323d64886122307be10013ad2dcc44', + + @staticmethod + def _parse_timeline_from(data): + # extracts the media timeline data from a GraphQL result + return data['data']['user']['edge_owner_to_timeline_media'] + + @staticmethod + def _query_vars_for(data): + # returns a dictionary of variables to add to the timeline query based + # on the GraphQL of the original page + return { + 'id': data['entry_data']['ProfilePage'][0]['graphql']['user']['id'] + } + + +class InstagramTagIE(InstagramPlaylistIE): + _VALID_URL = r'https?://(?:www\.)?instagram\.com/explore/tags/(?P<id>[^/]+)' + IE_DESC = 'Instagram hashtag search' + IE_NAME = 'instagram:tag' + _TEST = { + 'url': 'https://instagram.com/explore/tags/lolcats', + 'info_dict': { + 'id': 'lolcats', + 'title': 'lolcats', + }, + 'playlist_count': 50, + 'params': { + 'extract_flat': True, + 'skip_download': True, + 'playlistend': 50, + } + } + + _QUERY_HASH = 'f92f56d47dc7a55b606908374b43a314', + + @staticmethod + def _parse_timeline_from(data): + # extracts the media timeline data from a GraphQL result + return data['data']['hashtag']['edge_hashtag_to_media'] + + @staticmethod + def _query_vars_for(data): + # returns a dictionary of variables to add to the timeline query based + # on the GraphQL of the original page + return { + 'tag_name': + data['entry_data']['TagPage'][0]['graphql']['hashtag']['name'] + } diff --git a/youtube_dl/extractor/iqiyi.py b/youtube_dl/extractor/iqiyi.py index 4b081bd..cd11aa7 100644 --- a/youtube_dl/extractor/iqiyi.py +++ b/youtube_dl/extractor/iqiyi.py @@ -383,9 +383,9 @@ class IqiyiIE(InfoExtractor): self._sleep(5, video_id) self._sort_formats(formats) - title = (get_element_by_id('widget-videotitle', webpage) or - clean_html(get_element_by_attribute('class', 'mod-play-tit', webpage)) or - self._html_search_regex(r'<span[^>]+data-videochanged-title="word"[^>]*>([^<]+)</span>', webpage, 'title')) + title = (get_element_by_id('widget-videotitle', webpage) + or clean_html(get_element_by_attribute('class', 'mod-play-tit', webpage)) + or self._html_search_regex(r'<span[^>]+data-videochanged-title="word"[^>]*>([^<]+)</span>', webpage, 'title')) return { 'id': video_id, diff --git a/youtube_dl/extractor/itv.py b/youtube_dl/extractor/itv.py index de65b6b..ad2f4ec 100644 --- a/youtube_dl/extractor/itv.py +++ b/youtube_dl/extractor/itv.py @@ -77,10 +77,10 @@ class ITVIE(InfoExtractor): return etree.SubElement(element, _add_ns(name)) production_id = ( - params.get('data-video-autoplay-id') or - '%s#001' % ( - params.get('data-video-episode-id') or - video_id.replace('a', '/'))) + params.get('data-video-autoplay-id') + or '%s#001' % ( + params.get('data-video-episode-id') + or video_id.replace('a', '/'))) req_env = etree.Element(_add_ns('soapenv:Envelope')) _add_sub_element(req_env, 'soapenv:Header') diff --git a/youtube_dl/extractor/jwplatform.py b/youtube_dl/extractor/jwplatform.py index d19a6a7..647b905 100644 --- a/youtube_dl/extractor/jwplatform.py +++ b/youtube_dl/extractor/jwplatform.py @@ -7,7 +7,7 @@ from .common import InfoExtractor class JWPlatformIE(InfoExtractor): - _VALID_URL = r'(?:https?://(?:content\.jwplatform|cdn\.jwplayer)\.com/(?:(?:feed|player|thumb|preview|video|manifest)s|jw6|v2/media)/|jwplatform:)(?P<id>[a-zA-Z0-9]{8})' + _VALID_URL = r'(?:https?://(?:content\.jwplatform|cdn\.jwplayer)\.com/(?:(?:feed|player|thumb|preview|video)s|jw6|v2/media)/|jwplatform:)(?P<id>[a-zA-Z0-9]{8})' _TESTS = [{ 'url': 'http://content.jwplatform.com/players/nPripu9l-ALJ3XQCI.js', 'md5': 'fa8899fa601eb7c83a64e9d568bdf325', diff --git a/youtube_dl/extractor/kaltura.py b/youtube_dl/extractor/kaltura.py index fdf7f5b..639d738 100644 --- a/youtube_dl/extractor/kaltura.py +++ b/youtube_dl/extractor/kaltura.py @@ -118,8 +118,8 @@ class KalturaIE(InfoExtractor): (?P<q2>['"])_?(?P<partner_id>(?:(?!(?P=q2)).)+)(?P=q2),.*? (?P<q3>['"])entry_?[Ii]d(?P=q3)\s*:\s* (?P<q4>['"])(?P<id>(?:(?!(?P=q4)).)+)(?P=q4)(?:,|\s*\}) - """, webpage) or - re.search( + """, webpage) + or re.search( r'''(?xs) (?P<q1>["']) (?:https?:)?//cdnapi(?:sec)?\.kaltura\.com(?::\d+)?/(?:(?!(?P=q1)).)*\b(?:p|partner_id)/(?P<partner_id>\d+)(?:(?!(?P=q1)).)* @@ -132,8 +132,8 @@ class KalturaIE(InfoExtractor): \[\s*(?P<q2_1>["'])entry_?[Ii]d(?P=q2_1)\s*\]\s*=\s* ) (?P<q3>["'])(?P<id>(?:(?!(?P=q3)).)+)(?P=q3) - ''', webpage) or - re.search( + ''', webpage) + or re.search( r'''(?xs) <(?:iframe[^>]+src|meta[^>]+\bcontent)=(?P<q1>["']) (?:https?:)?//(?:(?:www|cdnapi(?:sec)?)\.)?kaltura\.com/(?:(?!(?P=q1)).)*\b(?:p|partner_id)/(?P<partner_id>\d+) @@ -145,6 +145,8 @@ class KalturaIE(InfoExtractor): ) if mobj: embed_info = mobj.groupdict() + for k, v in embed_info.items(): + embed_info[k] = v.strip() url = 'kaltura:%(partner_id)s:%(id)s' % embed_info escaped_pid = re.escape(embed_info['partner_id']) service_url = re.search( diff --git a/youtube_dl/extractor/karrierevideos.py b/youtube_dl/extractor/karrierevideos.py index f236a2f..7b291e0 100644 --- a/youtube_dl/extractor/karrierevideos.py +++ b/youtube_dl/extractor/karrierevideos.py @@ -47,8 +47,8 @@ class KarriereVideosIE(InfoExtractor): webpage = self._download_webpage(url, video_id) - title = (self._html_search_meta('title', webpage, default=None) or - self._search_regex(r'<h1 class="title">([^<]+)</h1>', webpage, 'video title')) + title = (self._html_search_meta('title', webpage, default=None) + or self._search_regex(r'<h1 class="title">([^<]+)</h1>', webpage, 'video title')) video_id = self._search_regex( r'/config/video/(.+?)\.xml', webpage, 'video id') diff --git a/youtube_dl/extractor/kuwo.py b/youtube_dl/extractor/kuwo.py index 63e1012..cc5b2a1 100644 --- a/youtube_dl/extractor/kuwo.py +++ b/youtube_dl/extractor/kuwo.py @@ -215,7 +215,7 @@ class KuwoSingerIE(InfoExtractor): 'title': 'Ali', }, 'playlist_mincount': 95, - 'skip': 'Regularly stalls travis build', # See https://travis-ci.org/rg3/youtube-dl/jobs/78878540 + 'skip': 'Regularly stalls travis build', # See https://travis-ci.org/ytdl-org/youtube-dl/jobs/78878540 }] PAGE_SIZE = 15 diff --git a/youtube_dl/extractor/libsyn.py b/youtube_dl/extractor/libsyn.py index f7311f4..2cf4442 100644 --- a/youtube_dl/extractor/libsyn.py +++ b/youtube_dl/extractor/libsyn.py @@ -1,12 +1,14 @@ # coding: utf-8 from __future__ import unicode_literals -import json import re from .common import InfoExtractor from ..utils import ( + clean_html, + get_element_by_class, parse_duration, + strip_or_none, unified_strdate, ) @@ -21,7 +23,9 @@ class LibsynIE(InfoExtractor): 'id': '6385796', 'ext': 'mp3', 'title': "Champion Minded - Developing a Growth Mindset", - 'description': 'In this episode, Allistair talks about the importance of developing a growth mindset, not only in sports, but in life too.', + # description fetched using another request: + # http://html5-player.libsyn.com/embed/getitemdetails?item_id=6385796 + # 'description': 'In this episode, Allistair talks about the importance of developing a growth mindset, not only in sports, but in life too.', 'upload_date': '20180320', 'thumbnail': 're:^https?://.*', }, @@ -38,22 +42,36 @@ class LibsynIE(InfoExtractor): }] def _real_extract(self, url): - m = re.match(self._VALID_URL, url) - video_id = m.group('id') - url = m.group('mainurl') + url, video_id = re.match(self._VALID_URL, url).groups() webpage = self._download_webpage(url, video_id) - podcast_title = self._search_regex( - r'<h3>([^<]+)</h3>', webpage, 'podcast title', default=None) - if podcast_title: - podcast_title = podcast_title.strip() - episode_title = self._search_regex( - r'(?:<div class="episode-title">|<h4>)([^<]+)</', webpage, 'episode title') - if episode_title: - episode_title = episode_title.strip() + data = self._parse_json(self._search_regex( + r'var\s+playlistItem\s*=\s*({.+?});', + webpage, 'JSON data block'), video_id) + + episode_title = data.get('item_title') or get_element_by_class('episode-title', webpage) + if not episode_title: + self._search_regex( + [r'data-title="([^"]+)"', r'<title>(.+?)</title>'], + webpage, 'episode title') + episode_title = episode_title.strip() + + podcast_title = strip_or_none(clean_html(self._search_regex( + r'<h3>([^<]+)</h3>', webpage, 'podcast title', + default=None) or get_element_by_class('podcast-title', webpage))) title = '%s - %s' % (podcast_title, episode_title) if podcast_title else episode_title + formats = [] + for k, format_id in (('media_url_libsyn', 'libsyn'), ('media_url', 'main'), ('download_link', 'download')): + f_url = data.get(k) + if not f_url: + continue + formats.append({ + 'url': f_url, + 'format_id': format_id, + }) + description = self._html_search_regex( r'<p\s+id="info_text_body">(.+?)</p>', webpage, 'description', default=None) @@ -61,27 +79,15 @@ class LibsynIE(InfoExtractor): # Strip non-breaking and normal spaces description = description.replace('\u00A0', ' ').strip() release_date = unified_strdate(self._search_regex( - r'<div class="release_date">Released: ([^<]+)<', webpage, 'release date', fatal=False)) - - data_json = self._search_regex(r'var\s+playlistItem\s*=\s*(\{.*?\});\n', webpage, 'JSON data block') - data = json.loads(data_json) - - formats = [{ - 'url': data['media_url'], - 'format_id': 'main', - }, { - 'url': data['media_url_libsyn'], - 'format_id': 'libsyn', - }] - thumbnail = data.get('thumbnail_url') - duration = parse_duration(data.get('duration')) + r'<div class="release_date">Released: ([^<]+)<', + webpage, 'release date', default=None) or data.get('release_date')) return { 'id': video_id, 'title': title, 'description': description, - 'thumbnail': thumbnail, + 'thumbnail': data.get('thumbnail_url'), 'upload_date': release_date, - 'duration': duration, + 'duration': parse_duration(data.get('duration')), 'formats': formats, } diff --git a/youtube_dl/extractor/linkedin.py b/youtube_dl/extractor/linkedin.py index 259fc4c..26fc703 100644 --- a/youtube_dl/extractor/linkedin.py +++ b/youtube_dl/extractor/linkedin.py @@ -9,11 +9,13 @@ from ..utils import ( float_or_none, int_or_none, urlencode_postdata, + urljoin, ) class LinkedInLearningBaseIE(InfoExtractor): _NETRC_MACHINE = 'linkedin' + _LOGIN_URL = 'https://www.linkedin.com/uas/login?trk=learning' def _call_api(self, course_slug, fields, video_slug=None, resolution=None): query = { @@ -34,12 +36,15 @@ class LinkedInLearningBaseIE(InfoExtractor): 'Csrf-Token': self._get_cookies(api_url)['JSESSIONID'].value, }, query=query)['elements'][0] - def _get_video_id(self, urn, course_slug, video_slug): + def _get_urn_id(self, video_data): + urn = video_data.get('urn') if urn: mobj = re.search(r'urn:li:lyndaCourse:\d+,(\d+)', urn) if mobj: return mobj.group(1) - return '%s/%s' % (course_slug, video_slug) + + def _get_video_id(self, video_data, course_slug, video_slug): + return self._get_urn_id(video_data) or '%s/%s' % (course_slug, video_slug) def _real_initialize(self): email, password = self._get_login_info() @@ -47,11 +52,10 @@ class LinkedInLearningBaseIE(InfoExtractor): return login_page = self._download_webpage( - 'https://www.linkedin.com/uas/login?trk=learning', - None, 'Downloading login page') - action_url = self._search_regex( + self._LOGIN_URL, None, 'Downloading login page') + action_url = urljoin(self._LOGIN_URL, self._search_regex( r'<form[^>]+action=(["\'])(?P<url>.+?)\1', login_page, 'post url', - default='https://www.linkedin.com/uas/login-submit', group='url') + default='https://www.linkedin.com/uas/login-submit', group='url')) data = self._hidden_inputs(login_page) data.update({ 'session_key': email, @@ -123,7 +127,7 @@ class LinkedInLearningIE(LinkedInLearningBaseIE): self._sort_formats(formats, ('width', 'height', 'source_preference', 'tbr', 'abr')) return { - 'id': self._get_video_id(video_data.get('urn'), course_slug, video_slug), + 'id': self._get_video_id(video_data, course_slug, video_slug), 'title': title, 'formats': formats, 'thumbnail': video_data.get('defaultThumbnail'), @@ -154,18 +158,21 @@ class LinkedInLearningCourseIE(LinkedInLearningBaseIE): course_data = self._call_api(course_slug, 'chapters,description,title') entries = [] - for chapter in course_data.get('chapters', []): + for chapter_number, chapter in enumerate(course_data.get('chapters', []), 1): chapter_title = chapter.get('title') + chapter_id = self._get_urn_id(chapter) for video in chapter.get('videos', []): video_slug = video.get('slug') if not video_slug: continue entries.append({ '_type': 'url_transparent', - 'id': self._get_video_id(video.get('urn'), course_slug, video_slug), + 'id': self._get_video_id(video, course_slug, video_slug), 'title': video.get('title'), 'url': 'https://www.linkedin.com/learning/%s/%s' % (course_slug, video_slug), 'chapter': chapter_title, + 'chapter_number': chapter_number, + 'chapter_id': chapter_id, 'ie_key': LinkedInLearningIE.ie_key(), }) diff --git a/youtube_dl/extractor/linuxacademy.py b/youtube_dl/extractor/linuxacademy.py new file mode 100644 index 0000000..a78c655 --- /dev/null +++ b/youtube_dl/extractor/linuxacademy.py @@ -0,0 +1,174 @@ +from __future__ import unicode_literals + +import json +import random +import re + +from .common import InfoExtractor +from ..compat import ( + compat_b64decode, + compat_HTTPError, + compat_str, +) +from ..utils import ( + ExtractorError, + orderedSet, + unescapeHTML, + urlencode_postdata, + urljoin, +) + + +class LinuxAcademyIE(InfoExtractor): + _VALID_URL = r'''(?x) + https?:// + (?:www\.)?linuxacademy\.com/cp/ + (?: + courses/lesson/course/(?P<chapter_id>\d+)/lesson/(?P<lesson_id>\d+)| + modules/view/id/(?P<course_id>\d+) + ) + ''' + _TESTS = [{ + 'url': 'https://linuxacademy.com/cp/courses/lesson/course/1498/lesson/2/module/154', + 'info_dict': { + 'id': '1498-2', + 'ext': 'mp4', + 'title': "Introduction to the Practitioner's Brief", + }, + 'params': { + 'skip_download': True, + }, + 'skip': 'Requires Linux Academy account credentials', + }, { + 'url': 'https://linuxacademy.com/cp/courses/lesson/course/1498/lesson/2', + 'only_matching': True, + }, { + 'url': 'https://linuxacademy.com/cp/modules/view/id/154', + 'info_dict': { + 'id': '154', + 'title': 'AWS Certified Cloud Practitioner', + 'description': 'md5:039db7e60e4aac9cf43630e0a75fa834', + }, + 'playlist_count': 41, + 'skip': 'Requires Linux Academy account credentials', + }] + + _AUTHORIZE_URL = 'https://login.linuxacademy.com/authorize' + _ORIGIN_URL = 'https://linuxacademy.com' + _CLIENT_ID = 'KaWxNn1C2Gc7n83W9OFeXltd8Utb5vvx' + _NETRC_MACHINE = 'linuxacademy' + + def _real_initialize(self): + self._login() + + def _login(self): + username, password = self._get_login_info() + if username is None: + return + + def random_string(): + return ''.join([ + random.choice('0123456789ABCDEFGHIJKLMNOPQRSTUVXYZabcdefghijklmnopqrstuvwxyz-._~') + for _ in range(32)]) + + webpage, urlh = self._download_webpage_handle( + self._AUTHORIZE_URL, None, 'Downloading authorize page', query={ + 'client_id': self._CLIENT_ID, + 'response_type': 'token id_token', + 'redirect_uri': self._ORIGIN_URL, + 'scope': 'openid email user_impersonation profile', + 'audience': self._ORIGIN_URL, + 'state': random_string(), + 'nonce': random_string(), + }) + + login_data = self._parse_json( + self._search_regex( + r'atob\(\s*(["\'])(?P<value>(?:(?!\1).)+)\1', webpage, + 'login info', group='value'), None, + transform_source=lambda x: compat_b64decode(x).decode('utf-8') + )['extraParams'] + + login_data.update({ + 'client_id': self._CLIENT_ID, + 'redirect_uri': self._ORIGIN_URL, + 'tenant': 'lacausers', + 'connection': 'Username-Password-Authentication', + 'username': username, + 'password': password, + 'sso': 'true', + }) + + login_state_url = compat_str(urlh.geturl()) + + try: + login_page = self._download_webpage( + 'https://login.linuxacademy.com/usernamepassword/login', None, + 'Downloading login page', data=json.dumps(login_data).encode(), + headers={ + 'Content-Type': 'application/json', + 'Origin': 'https://login.linuxacademy.com', + 'Referer': login_state_url, + }) + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code == 401: + error = self._parse_json(e.cause.read(), None) + message = error.get('description') or error['code'] + raise ExtractorError( + '%s said: %s' % (self.IE_NAME, message), expected=True) + raise + + callback_page, urlh = self._download_webpage_handle( + 'https://login.linuxacademy.com/login/callback', None, + 'Downloading callback page', + data=urlencode_postdata(self._hidden_inputs(login_page)), + headers={ + 'Content-Type': 'application/x-www-form-urlencoded', + 'Origin': 'https://login.linuxacademy.com', + 'Referer': login_state_url, + }) + + access_token = self._search_regex( + r'access_token=([^=&]+)', compat_str(urlh.geturl()), + 'access token') + + self._download_webpage( + 'https://linuxacademy.com/cp/login/tokenValidateLogin/token/%s' + % access_token, None, 'Downloading token validation page') + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + chapter_id, lecture_id, course_id = mobj.group('chapter_id', 'lesson_id', 'course_id') + item_id = course_id if course_id else '%s-%s' % (chapter_id, lecture_id) + + webpage = self._download_webpage(url, item_id) + + # course path + if course_id: + entries = [ + self.url_result( + urljoin(url, lesson_url), ie=LinuxAcademyIE.ie_key()) + for lesson_url in orderedSet(re.findall( + r'<a[^>]+\bhref=["\'](/cp/courses/lesson/course/\d+/lesson/\d+/module/\d+)', + webpage))] + title = unescapeHTML(self._html_search_regex( + (r'class=["\']course-title["\'][^>]*>(?P<value>[^<]+)', + r'var\s+title\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1'), + webpage, 'title', default=None, group='value')) + description = unescapeHTML(self._html_search_regex( + r'var\s+description\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1', + webpage, 'description', default=None, group='value')) + return self.playlist_result(entries, course_id, title, description) + + # single video path + info = self._extract_jwplayer_data( + webpage, item_id, require_title=False, m3u8_id='hls',) + title = self._search_regex( + (r'>Lecture\s*:\s*(?P<value>[^<]+)', + r'lessonName\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1'), webpage, + 'title', group='value') + info.update({ + 'id': item_id, + 'title': title, + }) + return info diff --git a/youtube_dl/extractor/liveleak.py b/youtube_dl/extractor/liveleak.py index 22a067e..4ac437c 100644 --- a/youtube_dl/extractor/liveleak.py +++ b/youtube_dl/extractor/liveleak.py @@ -44,7 +44,7 @@ class LiveLeakIE(InfoExtractor): }, 'skip': 'Video is dead', }, { - # Covers https://github.com/rg3/youtube-dl/pull/5983 + # Covers https://github.com/ytdl-org/youtube-dl/pull/5983 # Multiple resolutions 'url': 'http://www.liveleak.com/view?i=801_1409392012', 'md5': 'c3a449dbaca5c0d1825caecd52a57d7b', @@ -57,7 +57,7 @@ class LiveLeakIE(InfoExtractor): 'thumbnail': r're:^https?://.*\.jpg$' } }, { - # Covers https://github.com/rg3/youtube-dl/pull/10664#issuecomment-247439521 + # Covers https://github.com/ytdl-org/youtube-dl/pull/10664#issuecomment-247439521 'url': 'http://m.liveleak.com/view?i=763_1473349649', 'add_ie': ['Youtube'], 'info_dict': { @@ -82,6 +82,10 @@ class LiveLeakIE(InfoExtractor): }, { 'url': 'https://www.liveleak.com/view?t=HvHi_1523016227', 'only_matching': True, + }, { + # No original video + 'url': 'https://www.liveleak.com/view?t=C26ZZ_1558612804', + 'only_matching': True, }] @staticmethod @@ -130,15 +134,17 @@ class LiveLeakIE(InfoExtractor): # Removing '.*.mp4' gives the raw video, which is essentially # the same video without the LiveLeak logo at the top (see - # https://github.com/rg3/youtube-dl/pull/4768) + # https://github.com/ytdl-org/youtube-dl/pull/4768) orig_url = re.sub(r'\.mp4\.[^.]+', '', a_format['url']) if a_format['url'] != orig_url: format_id = a_format.get('format_id') - formats.append({ - 'format_id': 'original' + ('-' + format_id if format_id else ''), - 'url': orig_url, - 'preference': 1, - }) + format_id = 'original' + ('-' + format_id if format_id else '') + if self._is_valid_url(orig_url, video_id, format_id): + formats.append({ + 'format_id': format_id, + 'url': orig_url, + 'preference': 1, + }) self._sort_formats(formats) info_dict['formats'] = formats diff --git a/youtube_dl/extractor/malltv.py b/youtube_dl/extractor/malltv.py new file mode 100644 index 0000000..e13c2e1 --- /dev/null +++ b/youtube_dl/extractor/malltv.py @@ -0,0 +1,53 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import merge_dicts + + +class MallTVIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?mall\.tv/(?:[^/]+/)*(?P<id>[^/?#&]+)' + _TESTS = [{ + 'url': 'https://www.mall.tv/18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice', + 'md5': '1c4a37f080e1f3023103a7b43458e518', + 'info_dict': { + 'id': 't0zzt0', + 'display_id': '18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice', + 'ext': 'mp4', + 'title': '18 miliard pro neziskovky. Opravdu jsou sportovci nebo ÄlovÄk v tÃsni pijavice?', + 'description': 'md5:25fc0ec42a72ba602b602c683fa29deb', + 'duration': 216, + 'timestamp': 1538870400, + 'upload_date': '20181007', + 'view_count': int, + } + }, { + 'url': 'https://www.mall.tv/kdo-to-plati/18-miliard-pro-neziskovky-opravdu-jsou-sportovci-nebo-clovek-v-tisni-pijavice', + 'only_matching': True, + }] + + def _real_extract(self, url): + display_id = self._match_id(url) + + webpage = self._download_webpage( + url, display_id, headers=self.geo_verification_headers()) + + SOURCE_RE = r'(<source[^>]+\bsrc=(?:(["\'])(?:(?!\2).)+|[^\s]+)/(?P<id>[\da-z]+)/index)\b' + video_id = self._search_regex( + SOURCE_RE, webpage, 'video id', group='id') + + media = self._parse_html5_media_entries( + url, re.sub(SOURCE_RE, r'\1.m3u8', webpage), video_id, + m3u8_id='hls', m3u8_entry_protocol='m3u8_native')[0] + + info = self._search_json_ld(webpage, video_id, default={}) + + return merge_dicts(media, info, { + 'id': video_id, + 'display_id': display_id, + 'title': self._og_search_title(webpage, default=None) or display_id, + 'description': self._og_search_description(webpage, default=None), + 'thumbnail': self._og_search_thumbnail(webpage, default=None), + }) diff --git a/youtube_dl/extractor/mediasite.py b/youtube_dl/extractor/mediasite.py index ef9628e..694a264 100644 --- a/youtube_dl/extractor/mediasite.py +++ b/youtube_dl/extractor/mediasite.py @@ -13,6 +13,8 @@ from ..utils import ( ExtractorError, float_or_none, mimetype2ext, + str_or_none, + try_get, unescapeHTML, unsmuggle_url, url_or_none, @@ -20,8 +22,11 @@ from ..utils import ( ) +_ID_RE = r'(?:[0-9a-f]{32,34}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12,14})' + + class MediasiteIE(InfoExtractor): - _VALID_URL = r'(?xi)https?://[^/]+/Mediasite/(?:Play|Showcase/(?:default|livebroadcast)/Presentation)/(?P<id>[0-9a-f]{32,34})(?P<query>\?[^#]+|)' + _VALID_URL = r'(?xi)https?://[^/]+/Mediasite/(?:Play|Showcase/(?:default|livebroadcast)/Presentation)/(?P<id>%s)(?P<query>\?[^#]+|)' % _ID_RE _TESTS = [ { 'url': 'https://hitsmediaweb.h-its.org/mediasite/Play/2db6c271681e4f199af3c60d1f82869b1d', @@ -93,6 +98,11 @@ class MediasiteIE(InfoExtractor): 'url': 'https://mediasite.ntnu.no/Mediasite/Showcase/default/Presentation/7d8b913259334b688986e970fae6fcb31d', 'only_matching': True, }, + { + # dashed id + 'url': 'https://hitsmediaweb.h-its.org/mediasite/Play/2db6c271-681e-4f19-9af3-c60d1f82869b1d', + 'only_matching': True, + } ] # look in Mediasite.Core.js (Mediasite.ContentStreamType[*]) @@ -109,7 +119,7 @@ class MediasiteIE(InfoExtractor): return [ unescapeHTML(mobj.group('url')) for mobj in re.finditer( - r'(?xi)<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:(?:https?:)?//[^/]+)?/Mediasite/Play/[0-9a-f]{32,34}(?:\?.*?)?)\1', + r'(?xi)<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:(?:https?:)?//[^/]+)?/Mediasite/Play/%s(?:\?.*?)?)\1' % _ID_RE, webpage)] def _real_extract(self, url): @@ -221,3 +231,136 @@ class MediasiteIE(InfoExtractor): 'formats': formats, 'thumbnails': thumbnails, } + + +class MediasiteCatalogIE(InfoExtractor): + _VALID_URL = r'''(?xi) + (?P<url>https?://[^/]+/Mediasite) + /Catalog/Full/ + (?P<catalog_id>{0}) + (?: + /(?P<current_folder_id>{0}) + /(?P<root_dynamic_folder_id>{0}) + )? + '''.format(_ID_RE) + _TESTS = [{ + 'url': 'http://events7.mediasite.com/Mediasite/Catalog/Full/631f9e48530d454381549f955d08c75e21', + 'info_dict': { + 'id': '631f9e48530d454381549f955d08c75e21', + 'title': 'WCET Summit: Adaptive Learning in Higher Ed: Improving Outcomes Dynamically', + }, + 'playlist_count': 6, + 'expected_warnings': ['is not a supported codec'], + }, { + # with CurrentFolderId and RootDynamicFolderId + 'url': 'https://medaudio.medicine.iu.edu/Mediasite/Catalog/Full/9518c4a6c5cf4993b21cbd53e828a92521/97a9db45f7ab47428c77cd2ed74bb98f14/9518c4a6c5cf4993b21cbd53e828a92521', + 'info_dict': { + 'id': '9518c4a6c5cf4993b21cbd53e828a92521', + 'title': 'IUSM Family and Friends Sessions', + }, + 'playlist_count': 2, + }, { + 'url': 'http://uipsyc.mediasite.com/mediasite/Catalog/Full/d5d79287c75243c58c50fef50174ec1b21', + 'only_matching': True, + }, { + # no AntiForgeryToken + 'url': 'https://live.libraries.psu.edu/Mediasite/Catalog/Full/8376d4b24dd1457ea3bfe4cf9163feda21', + 'only_matching': True, + }, { + 'url': 'https://medaudio.medicine.iu.edu/Mediasite/Catalog/Full/9518c4a6c5cf4993b21cbd53e828a92521/97a9db45f7ab47428c77cd2ed74bb98f14/9518c4a6c5cf4993b21cbd53e828a92521', + 'only_matching': True, + }, { + # dashed id + 'url': 'http://events7.mediasite.com/Mediasite/Catalog/Full/631f9e48-530d-4543-8154-9f955d08c75e', + 'only_matching': True, + }] + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + mediasite_url = mobj.group('url') + catalog_id = mobj.group('catalog_id') + current_folder_id = mobj.group('current_folder_id') or catalog_id + root_dynamic_folder_id = mobj.group('root_dynamic_folder_id') + + webpage = self._download_webpage(url, catalog_id) + + # AntiForgeryToken is optional (e.g. [1]) + # 1. https://live.libraries.psu.edu/Mediasite/Catalog/Full/8376d4b24dd1457ea3bfe4cf9163feda21 + anti_forgery_token = self._search_regex( + r'AntiForgeryToken\s*:\s*(["\'])(?P<value>(?:(?!\1).)+)\1', + webpage, 'anti forgery token', default=None, group='value') + if anti_forgery_token: + anti_forgery_header = self._search_regex( + r'AntiForgeryHeaderName\s*:\s*(["\'])(?P<value>(?:(?!\1).)+)\1', + webpage, 'anti forgery header name', + default='X-SOFO-AntiForgeryHeader', group='value') + + data = { + 'IsViewPage': True, + 'IsNewFolder': True, + 'AuthTicket': None, + 'CatalogId': catalog_id, + 'CurrentFolderId': current_folder_id, + 'RootDynamicFolderId': root_dynamic_folder_id, + 'ItemsPerPage': 1000, + 'PageIndex': 0, + 'PermissionMask': 'Execute', + 'CatalogSearchType': 'SearchInFolder', + 'SortBy': 'Date', + 'SortDirection': 'Descending', + 'StartDate': None, + 'EndDate': None, + 'StatusFilterList': None, + 'PreviewKey': None, + 'Tags': [], + } + + headers = { + 'Content-Type': 'application/json; charset=UTF-8', + 'Referer': url, + 'X-Requested-With': 'XMLHttpRequest', + } + if anti_forgery_token: + headers[anti_forgery_header] = anti_forgery_token + + catalog = self._download_json( + '%s/Catalog/Data/GetPresentationsForFolder' % mediasite_url, + catalog_id, data=json.dumps(data).encode(), headers=headers) + + entries = [] + for video in catalog['PresentationDetailsList']: + if not isinstance(video, dict): + continue + video_id = str_or_none(video.get('Id')) + if not video_id: + continue + entries.append(self.url_result( + '%s/Play/%s' % (mediasite_url, video_id), + ie=MediasiteIE.ie_key(), video_id=video_id)) + + title = try_get( + catalog, lambda x: x['CurrentFolder']['Name'], compat_str) + + return self.playlist_result(entries, catalog_id, title,) + + +class MediasiteNamedCatalogIE(InfoExtractor): + _VALID_URL = r'(?xi)(?P<url>https?://[^/]+/Mediasite)/Catalog/catalogs/(?P<catalog_name>[^/?#&]+)' + _TESTS = [{ + 'url': 'https://msite.misis.ru/Mediasite/Catalog/catalogs/2016-industrial-management-skriabin-o-o', + 'only_matching': True, + }] + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + mediasite_url = mobj.group('url') + catalog_name = mobj.group('catalog_name') + + webpage = self._download_webpage(url, catalog_name) + + catalog_id = self._search_regex( + r'CatalogId\s*:\s*["\'](%s)' % _ID_RE, webpage, 'catalog id') + + return self.url_result( + '%s/Catalog/Full/%s' % (mediasite_url, catalog_id), + ie=MediasiteCatalogIE.ie_key(), video_id=catalog_id) diff --git a/youtube_dl/extractor/metacafe.py b/youtube_dl/extractor/metacafe.py index 28f59f6..9e92416 100644 --- a/youtube_dl/extractor/metacafe.py +++ b/youtube_dl/extractor/metacafe.py @@ -1,12 +1,13 @@ from __future__ import unicode_literals +import json import re from .common import InfoExtractor from ..compat import ( compat_parse_qs, + compat_urllib_parse, compat_urllib_parse_unquote, - compat_urllib_parse_urlencode, ) from ..utils import ( determine_ext, @@ -144,7 +145,7 @@ class MetacafeIE(InfoExtractor): headers = { # Disable family filter - 'Cookie': 'user=%s; ' % compat_urllib_parse_urlencode({'ffilter': False}) + 'Cookie': 'user=%s; ' % compat_urllib_parse.quote(json.dumps({'ffilter': False})) } # AnyClip videos require the flashversion cookie so that we get the link diff --git a/youtube_dl/extractor/mgtv.py b/youtube_dl/extractor/mgtv.py index d53d96a..84137df 100644 --- a/youtube_dl/extractor/mgtv.py +++ b/youtube_dl/extractor/mgtv.py @@ -1,22 +1,32 @@ # coding: utf-8 from __future__ import unicode_literals +import base64 +import time +import uuid + from .common import InfoExtractor -from ..compat import compat_str -from ..utils import int_or_none +from ..compat import ( + compat_HTTPError, + compat_str, +) +from ..utils import ( + ExtractorError, + int_or_none, +) class MGTVIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?mgtv\.com/(v|b)/(?:[^/]+/)*(?P<id>\d+)\.html' IE_DESC = 'èæTV' + _GEO_COUNTRIES = ['CN'] _TESTS = [{ 'url': 'http://www.mgtv.com/v/1/290525/f/3116640.html', - 'md5': 'b1ffc0fc163152acf6beaa81832c9ee7', 'info_dict': { 'id': '3116640', 'ext': 'mp4', - 'title': 'ææ¯ææ第åå£åå¹´å· å³°ä¼ï¼é©çº¢æçâåçâé¢å对æ', + 'title': 'ææ¯ææ 第åå£', 'description': 'ææ¯ææ第åå£åå¹´å· å³°ä¼', 'duration': 7461, 'thumbnail': r're:^https?://.*\.jpg$', @@ -28,16 +38,30 @@ class MGTVIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - api_data = self._download_json( - 'http://pcweb.api.mgtv.com/player/video', video_id, - query={'video_id': video_id}, - headers=self.geo_verification_headers())['data'] + try: + api_data = self._download_json( + 'https://pcweb.api.mgtv.com/player/video', video_id, query={ + 'tk2': base64.urlsafe_b64encode(b'did=%s|pno=1030|ver=0.3.0301|clit=%d' % (compat_str(uuid.uuid4()).encode(), time.time()))[::-1], + 'video_id': video_id, + }, headers=self.geo_verification_headers())['data'] + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code == 401: + error = self._parse_json(e.cause.read().decode(), None) + if error.get('code') == 40005: + self.raise_geo_restricted(countries=self._GEO_COUNTRIES) + raise ExtractorError(error['msg'], expected=True) + raise info = api_data['info'] title = info['title'].strip() - stream_domain = api_data['stream_domain'][0] + stream_data = self._download_json( + 'https://pcweb.api.mgtv.com/player/getSource', video_id, query={ + 'pm2': api_data['atc']['pm2'], + 'video_id': video_id, + }, headers=self.geo_verification_headers())['data'] + stream_domain = stream_data['stream_domain'][0] formats = [] - for idx, stream in enumerate(api_data['stream']): + for idx, stream in enumerate(stream_data['stream']): stream_path = stream.get('url') if not stream_path: continue @@ -47,7 +71,7 @@ class MGTVIE(InfoExtractor): format_url = format_data.get('info') if not format_url: continue - tbr = int_or_none(self._search_regex( + tbr = int_or_none(stream.get('filebitrate') or self._search_regex( r'_(\d+)_mp4/', format_url, 'tbr', default=None)) formats.append({ 'format_id': compat_str(tbr or idx), diff --git a/youtube_dl/extractor/moevideo.py b/youtube_dl/extractor/moevideo.py index 44bcc49..eb9b4ce 100644 --- a/youtube_dl/extractor/moevideo.py +++ b/youtube_dl/extractor/moevideo.py @@ -1,15 +1,12 @@ # coding: utf-8 from __future__ import unicode_literals -import json import re from .common import InfoExtractor from ..utils import ( - ExtractorError, + clean_html, int_or_none, - sanitized_Request, - urlencode_postdata, ) @@ -17,8 +14,8 @@ class MoeVideoIE(InfoExtractor): IE_DESC = 'LetitBit video services: moevideo.net, playreplay.net and videochart.net' _VALID_URL = r'''(?x) https?://(?P<host>(?:www\.)? - (?:(?:moevideo|playreplay|videochart)\.net))/ - (?:video|framevideo)/(?P<id>[0-9]+\.[0-9A-Za-z]+)''' + (?:(?:moevideo|playreplay|videochart)\.net|thesame\.tv))/ + (?:video|framevideo|embed)/(?P<id>[0-9a-z]+\.[0-9A-Za-z]+)''' _API_URL = 'http://api.letitbit.net/' _API_KEY = 'tVL0gjqo5' _TESTS = [ @@ -57,58 +54,26 @@ class MoeVideoIE(InfoExtractor): ] def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') + host, video_id = re.match(self._VALID_URL, url).groups() webpage = self._download_webpage( - 'http://%s/video/%s' % (mobj.group('host'), video_id), + 'http://%s/video/%s' % (host, video_id), video_id, 'Downloading webpage') title = self._og_search_title(webpage) - thumbnail = self._og_search_thumbnail(webpage) - description = self._og_search_description(webpage) - r = [ - self._API_KEY, - [ - 'preview/flv_link', - { - 'uid': video_id, - }, - ], - ] - r_json = json.dumps(r) - post = urlencode_postdata({'r': r_json}) - req = sanitized_Request(self._API_URL, post) - req.add_header('Content-type', 'application/x-www-form-urlencoded') - - response = self._download_json(req, video_id) - if response['status'] != 'OK': - raise ExtractorError( - '%s returned error: %s' % (self.IE_NAME, response['data']), - expected=True - ) - item = response['data'][0] - video_url = item['link'] - duration = int_or_none(item['length']) - width = int_or_none(item['width']) - height = int_or_none(item['height']) - filesize = int_or_none(item['convert_size']) - - formats = [{ - 'format_id': 'sd', - 'http_headers': {'Range': 'bytes=0-'}, # Required to download - 'url': video_url, - 'width': width, - 'height': height, - 'filesize': filesize, - }] + embed_webpage = self._download_webpage( + 'http://%s/embed/%s' % (host, video_id), + video_id, 'Downloading embed webpage') + video = self._parse_json(self._search_regex( + r'mvplayer\("#player"\s*,\s*({.+})', + embed_webpage, 'mvplayer'), video_id)['video'] return { 'id': video_id, 'title': title, - 'thumbnail': thumbnail, - 'description': description, - 'duration': duration, - 'formats': formats, + 'thumbnail': video.get('poster') or self._og_search_thumbnail(webpage), + 'description': clean_html(self._og_search_description(webpage)), + 'duration': int_or_none(self._og_search_property('video:duration', webpage)), + 'url': video['ourUrl'], } diff --git a/youtube_dl/extractor/motherless.py b/youtube_dl/extractor/motherless.py index d4bd273..43fd70f 100644 --- a/youtube_dl/extractor/motherless.py +++ b/youtube_dl/extractor/motherless.py @@ -80,8 +80,8 @@ class MotherlessIE(InfoExtractor): video_url = (self._html_search_regex( (r'setup\(\{\s*["\']file["\']\s*:\s*(["\'])(?P<url>(?:(?!\1).)+)\1', r'fileurl\s*=\s*(["\'])(?P<url>(?:(?!\1).)+)\1'), - webpage, 'video URL', default=None, group='url') or - 'http://cdn4.videos.motherlessmedia.com/videos/%s.mp4?fs=opencloud' % video_id) + webpage, 'video URL', default=None, group='url') + or 'http://cdn4.videos.motherlessmedia.com/videos/%s.mp4?fs=opencloud' % video_id) age_limit = self._rta_search(webpage) view_count = str_to_int(self._html_search_regex( r'<strong>Views</strong>\s+([^<]+)<', diff --git a/youtube_dl/extractor/msn.py b/youtube_dl/extractor/msn.py index 650731f..0460cf4 100644 --- a/youtube_dl/extractor/msn.py +++ b/youtube_dl/extractor/msn.py @@ -70,7 +70,7 @@ class MSNIE(InfoExtractor): continue if 'm3u8' in format_url: # m3u8_native should not be used here until - # https://github.com/rg3/youtube-dl/issues/9913 is fixed + # https://github.com/ytdl-org/youtube-dl/issues/9913 is fixed m3u8_formats = self._extract_m3u8_formats( format_url, display_id, 'mp4', m3u8_id='hls', fatal=False) diff --git a/youtube_dl/extractor/nationalgeographic.py b/youtube_dl/extractor/nationalgeographic.py index 165964c..ee12e2b 100644 --- a/youtube_dl/extractor/nationalgeographic.py +++ b/youtube_dl/extractor/nationalgeographic.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from .common import InfoExtractor +from .fox import FOXIE from ..utils import ( smuggle_url, url_basename, @@ -58,3 +59,24 @@ class NationalGeographicVideoIE(InfoExtractor): {'force_smil_url': True}), 'id': guid, } + + +class NationalGeographicTVIE(FOXIE): + _VALID_URL = r'https?://(?:www\.)?nationalgeographic\.com/tv/watch/(?P<id>[\da-fA-F]+)' + _TESTS = [{ + 'url': 'https://www.nationalgeographic.com/tv/watch/6a875e6e734b479beda26438c9f21138/', + 'info_dict': { + 'id': '6a875e6e734b479beda26438c9f21138', + 'ext': 'mp4', + 'title': 'Why Nat Geo? Valley of the Boom', + 'description': 'The lives of prominent figures in the tech world, including their friendships, rivalries, victories and failures.', + 'timestamp': 1542662458, + 'upload_date': '20181119', + 'age_limit': 14, + }, + 'params': { + 'skip_download': True, + }, + }] + _HOME_PAGE_URL = 'https://www.nationalgeographic.com/tv/' + _API_KEY = '238bb0a0c2aba67922c48709ce0c06fd' diff --git a/youtube_dl/extractor/ndtv.py b/youtube_dl/extractor/ndtv.py index ddec89f..bc3eb91 100644 --- a/youtube_dl/extractor/ndtv.py +++ b/youtube_dl/extractor/ndtv.py @@ -84,8 +84,8 @@ class NDTVIE(InfoExtractor): # '__title' does not contain extra words such as sub-site name, "Video" etc. title = compat_urllib_parse_unquote_plus( - self._search_regex(r"__title\s*=\s*'([^']+)'", webpage, 'title', default=None) or - self._og_search_title(webpage)) + self._search_regex(r"__title\s*=\s*'([^']+)'", webpage, 'title', default=None) + or self._og_search_title(webpage)) filename = self._search_regex( r"(?:__)?filename\s*[:=]\s*'([^']+)'", webpage, 'video filename') diff --git a/youtube_dl/extractor/newstube.py b/youtube_dl/extractor/newstube.py index e3f35f1..dab4aec 100644 --- a/youtube_dl/extractor/newstube.py +++ b/youtube_dl/extractor/newstube.py @@ -1,12 +1,17 @@ # coding: utf-8 from __future__ import unicode_literals -import re +import base64 +import hashlib from .common import InfoExtractor +from ..aes import aes_cbc_decrypt from ..utils import ( - ExtractorError, + bytes_to_intlist, int_or_none, + intlist_to_bytes, + parse_codecs, + parse_duration, ) @@ -14,7 +19,7 @@ class NewstubeIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?newstube\.ru/media/(?P<id>.+)' _TEST = { 'url': 'http://www.newstube.ru/media/telekanal-cnn-peremestil-gorod-slavyansk-v-krym', - 'md5': '801eef0c2a9f4089fa04e4fe3533abdc', + 'md5': '9d10320ad473444352f72f746ccb8b8c', 'info_dict': { 'id': '728e0ef2-e187-4012-bac0-5a081fdcb1f6', 'ext': 'mp4', @@ -25,84 +30,45 @@ class NewstubeIE(InfoExtractor): } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') + video_id = self._match_id(url) - page = self._download_webpage(url, video_id, 'Downloading page') + page = self._download_webpage(url, video_id) + title = self._html_search_meta(['og:title', 'twitter:title'], page, fatal=True) video_guid = self._html_search_regex( - r'<meta property="og:video:url" content="https?://(?:www\.)?newstube\.ru/freshplayer\.swf\?guid=(?P<guid>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})', + r'<meta\s+property="og:video(?::(?:(?:secure_)?url|iframe))?"\s+content="https?://(?:www\.)?newstube\.ru/embed/(?P<guid>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})', page, 'video GUID') - player = self._download_xml( - 'http://p.newstube.ru/v2/player.asmx/GetAutoPlayInfo6?state=&url=%s&sessionId=&id=%s&placement=profile&location=n2' % (url, video_guid), - video_guid, 'Downloading player XML') - - def ns(s): - return s.replace('/', '/%(ns)s') % {'ns': '{http://app1.newstube.ru/N2SiteWS/player.asmx}'} - - error_message = player.find(ns('./ErrorMessage')) - if error_message is not None: - raise ExtractorError('%s returned error: %s' % (self.IE_NAME, error_message.text), expected=True) - - session_id = player.find(ns('./SessionId')).text - media_info = player.find(ns('./Medias/MediaInfo')) - title = media_info.find(ns('./Name')).text - description = self._og_search_description(page) - thumbnail = media_info.find(ns('./KeyFrame')).text - duration = int(media_info.find(ns('./Duration')).text) / 1000.0 + enc_data = base64.b64decode(self._download_webpage( + 'https://www.newstube.ru/embed/api/player/getsources2', + video_guid, query={ + 'guid': video_guid, + 'ff': 3, + })) + key = hashlib.pbkdf2_hmac( + 'sha1', video_guid.replace('-', '').encode(), enc_data[:16], 1)[:16] + dec_data = aes_cbc_decrypt( + bytes_to_intlist(enc_data[32:]), bytes_to_intlist(key), + bytes_to_intlist(enc_data[16:32])) + sources = self._parse_json(intlist_to_bytes(dec_data[:-dec_data[-1]]), video_guid) formats = [] - - for stream_info in media_info.findall(ns('./Streams/StreamInfo')): - media_location = stream_info.find(ns('./MediaLocation')) - if media_location is None: + for source in sources: + source_url = source.get('Src') + if not source_url: continue - - server = media_location.find(ns('./Server')).text - app = media_location.find(ns('./App')).text - media_id = stream_info.find(ns('./Id')).text - name = stream_info.find(ns('./Name')).text - width = int(stream_info.find(ns('./Width')).text) - height = int(stream_info.find(ns('./Height')).text) - - formats.append({ - 'url': 'rtmp://%s/%s' % (server, app), - 'app': app, - 'play_path': '01/%s' % video_guid.upper(), - 'rtmp_conn': ['S:%s' % session_id, 'S:%s' % media_id, 'S:n2'], - 'page_url': url, - 'ext': 'flv', - 'format_id': 'rtmp' + ('-%s' % name if name else ''), - 'width': width, + height = int_or_none(source.get('Height')) + f = { + 'format_id': 'http' + ('-%dp' % height if height else ''), + 'url': source_url, + 'width': int_or_none(source.get('Width')), 'height': height, - }) - - sources_data = self._download_json( - 'http://www.newstube.ru/player2/getsources?guid=%s' % video_guid, - video_guid, fatal=False) - if sources_data: - for source in sources_data.get('Sources', []): - source_url = source.get('Src') - if not source_url: - continue - height = int_or_none(source.get('Height')) - f = { - 'format_id': 'http' + ('-%dp' % height if height else ''), - 'url': source_url, - 'width': int_or_none(source.get('Width')), - 'height': height, - } - source_type = source.get('Type') - if source_type: - mobj = re.search(r'codecs="([^,]+),\s*([^"]+)"', source_type) - if mobj: - vcodec, acodec = mobj.groups() - f.update({ - 'vcodec': vcodec, - 'acodec': acodec, - }) - formats.append(f) + } + source_type = source.get('Type') + if source_type: + f.update(parse_codecs(self._search_regex( + r'codecs="([^"]+)"', source_type, 'codecs', fatal=False))) + formats.append(f) self._check_formats(formats, video_guid) self._sort_formats(formats) @@ -110,8 +76,8 @@ class NewstubeIE(InfoExtractor): return { 'id': video_guid, 'title': title, - 'description': description, - 'thumbnail': thumbnail, - 'duration': duration, + 'description': self._html_search_meta(['description', 'og:description'], page), + 'thumbnail': self._html_search_meta(['og:image:secure_url', 'og:image', 'twitter:image'], page), + 'duration': parse_duration(self._html_search_meta('duration', page)), 'formats': formats, } diff --git a/youtube_dl/extractor/nextmedia.py b/youtube_dl/extractor/nextmedia.py index 680f03a..7bd1290 100644 --- a/youtube_dl/extractor/nextmedia.py +++ b/youtube_dl/extractor/nextmedia.py @@ -180,8 +180,8 @@ class AppleDailyIE(NextMediaIE): _URL_PATTERN = r'\{url: \'(.+)\'\}' def _fetch_title(self, page): - return (self._html_search_regex(r'<h1 id="h1">([^<>]+)</h1>', page, 'news title', default=None) or - self._html_search_meta('description', page, 'news title')) + return (self._html_search_regex(r'<h1 id="h1">([^<>]+)</h1>', page, 'news title', default=None) + or self._html_search_meta('description', page, 'news title')) def _fetch_thumbnail(self, page): return self._html_search_regex(r"setInitialImage\(\'([^']+)'\)", page, 'video thumbnail', fatal=False) diff --git a/youtube_dl/extractor/nhk.py b/youtube_dl/extractor/nhk.py index 5c8cd76..241412f 100644 --- a/youtube_dl/extractor/nhk.py +++ b/youtube_dl/extractor/nhk.py @@ -1,51 +1,81 @@ from __future__ import unicode_literals +import re + from .common import InfoExtractor -from ..utils import ExtractorError class NhkVodIE(InfoExtractor): - _VALID_URL = r'https?://www3\.nhk\.or\.jp/nhkworld/en/vod/(?P<id>[^/]+/[^/?#&]+)' - _TEST = { - # Videos available only for a limited period of time. Visit - # http://www3.nhk.or.jp/nhkworld/en/vod/ for working samples. - 'url': 'http://www3.nhk.or.jp/nhkworld/en/vod/tokyofashion/20160815', - 'info_dict': { - 'id': 'A1bnNiNTE6nY3jLllS-BIISfcC_PpvF5', - 'ext': 'flv', - 'title': 'TOKYO FASHION EXPRESS - The Kimono as Global Fashion', - 'description': 'md5:db338ee6ce8204f415b754782f819824', - 'series': 'TOKYO FASHION EXPRESS', - 'episode': 'The Kimono as Global Fashion', - }, - 'skip': 'Videos available only for a limited period of time', - } - _API_URL = 'http://api.nhk.or.jp/nhkworld/vodesdlist/v1/all/all/all.json?apikey=EJfK8jdS57GqlupFgAfAAwr573q01y6k' + _VALID_URL = r'https?://www3\.nhk\.or\.jp/nhkworld/(?P<lang>[a-z]{2})/ondemand/(?P<type>video|audio)/(?P<id>\d{7}|[a-z]+-\d{8}-\d+)' + # Content available only for a limited period of time. Visit + # https://www3.nhk.or.jp/nhkworld/en/ondemand/ for working samples. + _TESTS = [{ + 'url': 'https://www3.nhk.or.jp/nhkworld/en/ondemand/video/2015173/', + 'only_matching': True, + }, { + 'url': 'https://www3.nhk.or.jp/nhkworld/en/ondemand/audio/plugin-20190404-1/', + 'only_matching': True, + }, { + 'url': 'https://www3.nhk.or.jp/nhkworld/fr/ondemand/audio/plugin-20190404-1/', + 'only_matching': True, + }] + _API_URL_TEMPLATE = 'https://api.nhk.or.jp/nhkworld/%sodesdlist/v7/episode/%s/%s/all%s.json' def _real_extract(self, url): - video_id = self._match_id(url) + lang, m_type, episode_id = re.match(self._VALID_URL, url).groups() + if episode_id.isdigit(): + episode_id = episode_id[:4] + '-' + episode_id[4:] - data = self._download_json(self._API_URL, video_id) + is_video = m_type == 'video' + episode = self._download_json( + self._API_URL_TEMPLATE % ('v' if is_video else 'r', episode_id, lang, '/all' if is_video else ''), + episode_id, query={'apikey': 'EJfK8jdS57GqlupFgAfAAwr573q01y6k'})['data']['episodes'][0] + title = episode.get('sub_title_clean') or episode['sub_title'] - try: - episode = next( - e for e in data['data']['episodes'] - if e.get('url') and video_id in e['url']) - except StopIteration: - raise ExtractorError('Unable to find episode') + def get_clean_field(key): + return episode.get(key + '_clean') or episode.get(key) - embed_code = episode['vod_id'] + series = get_clean_field('title') - title = episode.get('sub_title_clean') or episode['sub_title'] - description = episode.get('description_clean') or episode.get('description') - series = episode.get('title_clean') or episode.get('title') + thumbnails = [] + for s, w, h in [('', 640, 360), ('_l', 1280, 720)]: + img_path = episode.get('image' + s) + if not img_path: + continue + thumbnails.append({ + 'id': '%dp' % h, + 'height': h, + 'width': w, + 'url': 'https://www3.nhk.or.jp' + img_path, + }) - return { - '_type': 'url_transparent', - 'ie_key': 'Ooyala', - 'url': 'ooyala:%s' % embed_code, + info = { + 'id': episode_id + '-' + lang, 'title': '%s - %s' % (series, title) if series and title else title, - 'description': description, + 'description': get_clean_field('description'), + 'thumbnails': thumbnails, 'series': series, 'episode': title, } + if is_video: + info.update({ + '_type': 'url_transparent', + 'ie_key': 'Ooyala', + 'url': 'ooyala:' + episode['vod_id'], + }) + else: + audio = episode['audio'] + audio_path = audio['audio'] + info['formats'] = self._extract_m3u8_formats( + 'https://nhks-vh.akamaihd.net/i%s/master.m3u8' % audio_path, + episode_id, 'm4a', m3u8_id='hls', fatal=False) + for proto in ('rtmpt', 'rtmp'): + info['formats'].append({ + 'ext': 'flv', + 'format_id': proto, + 'url': '%s://flv.nhk.or.jp/ondemand/mp4:flv%s' % (proto, audio_path), + 'vcodec': 'none', + }) + for f in info['formats']: + f['language'] = lang + return info diff --git a/youtube_dl/extractor/nhl.py b/youtube_dl/extractor/nhl.py index cf440f7..eddfe1f 100644 --- a/youtube_dl/extractor/nhl.py +++ b/youtube_dl/extractor/nhl.py @@ -108,7 +108,7 @@ class NHLIE(NHLBaseIE): 'timestamp': 1454544904, }, }, { - # Some m3u8 URLs are invalid (https://github.com/rg3/youtube-dl/issues/10713) + # Some m3u8 URLs are invalid (https://github.com/ytdl-org/youtube-dl/issues/10713) 'url': 'https://www.nhl.com/predators/video/poile-laviolette-on-subban-trade/t-277437416/c-44315003', 'md5': '50b2bb47f405121484dda3ccbea25459', 'info_dict': { diff --git a/youtube_dl/extractor/niconico.py b/youtube_dl/extractor/niconico.py index 76b412f..eb07ca7 100644 --- a/youtube_dl/extractor/niconico.py +++ b/youtube_dl/extractor/niconico.py @@ -369,14 +369,14 @@ class NiconicoIE(InfoExtractor): video_detail = watch_api_data.get('videoDetail', {}) thumbnail = ( - get_video_info(['thumbnail_url', 'thumbnailURL']) or - self._html_search_meta('image', webpage, 'thumbnail', default=None) or - video_detail.get('thumbnail')) + get_video_info(['thumbnail_url', 'thumbnailURL']) + or self._html_search_meta('image', webpage, 'thumbnail', default=None) + or video_detail.get('thumbnail')) description = get_video_info('description') - timestamp = (parse_iso8601(get_video_info('first_retrieve')) or - unified_timestamp(get_video_info('postedDateTime'))) + timestamp = (parse_iso8601(get_video_info('first_retrieve')) + or unified_timestamp(get_video_info('postedDateTime'))) if not timestamp: match = self._html_search_meta('datePublished', webpage, 'date published', default=None) if match: @@ -395,9 +395,9 @@ class NiconicoIE(InfoExtractor): view_count = int_or_none(match.replace(',', '')) view_count = view_count or video_detail.get('viewCount') - comment_count = (int_or_none(get_video_info('comment_num')) or - video_detail.get('commentCount') or - try_get(api_data, lambda x: x['thread']['commentCount'])) + comment_count = (int_or_none(get_video_info('comment_num')) + or video_detail.get('commentCount') + or try_get(api_data, lambda x: x['thread']['commentCount'])) if not comment_count: match = self._html_search_regex( r'>Comments: <strong[^>]*>([^<]+)</strong>', @@ -406,11 +406,11 @@ class NiconicoIE(InfoExtractor): comment_count = int_or_none(match.replace(',', '')) duration = (parse_duration( - get_video_info('length') or - self._html_search_meta( - 'video:duration', webpage, 'video duration', default=None)) or - video_detail.get('length') or - get_video_info('duration')) + get_video_info('length') + or self._html_search_meta( + 'video:duration', webpage, 'video duration', default=None)) + or video_detail.get('length') + or get_video_info('duration')) webpage_url = get_video_info('watch_url') or url diff --git a/youtube_dl/extractor/noco.py b/youtube_dl/extractor/noco.py index 58b371e..30df905 100644 --- a/youtube_dl/extractor/noco.py +++ b/youtube_dl/extractor/noco.py @@ -115,7 +115,7 @@ class NocoIE(InfoExtractor): # Timestamp adjustment offset between server time and local time # must be calculated in order to use timestamps closest to server's - # in all API requests (see https://github.com/rg3/youtube-dl/issues/7864) + # in all API requests (see https://github.com/ytdl-org/youtube-dl/issues/7864) webpage = self._download_webpage(url, video_id) player_url = self._search_regex( diff --git a/youtube_dl/extractor/noovo.py b/youtube_dl/extractor/noovo.py index 974de3c..b40770d 100644 --- a/youtube_dl/extractor/noovo.py +++ b/youtube_dl/extractor/noovo.py @@ -57,7 +57,8 @@ class NoovoIE(InfoExtractor): webpage = self._download_webpage(url, video_id) - bc_url = BrightcoveNewIE._extract_url(self, webpage) + brightcove_id = self._search_regex( + r'data-video-id=["\'](\d+)', webpage, 'brightcove id') data = self._parse_json( self._search_regex( @@ -89,7 +90,10 @@ class NoovoIE(InfoExtractor): return { '_type': 'url_transparent', 'ie_key': BrightcoveNewIE.ie_key(), - 'url': smuggle_url(bc_url, {'geo_countries': ['CA']}), + 'url': smuggle_url( + self.BRIGHTCOVE_URL_TEMPLATE % brightcove_id, + {'geo_countries': ['CA']}), + 'id': brightcove_id, 'title': title, 'description': description, 'series': series, diff --git a/youtube_dl/extractor/novamov.py b/youtube_dl/extractor/novamov.py deleted file mode 100644 index 829c719..0000000 --- a/youtube_dl/extractor/novamov.py +++ /dev/null @@ -1,212 +0,0 @@ -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..compat import compat_urlparse -from ..utils import ( - ExtractorError, - NO_DEFAULT, - sanitized_Request, - urlencode_postdata, -) - - -class NovaMovIE(InfoExtractor): - IE_NAME = 'novamov' - IE_DESC = 'NovaMov' - - _VALID_URL_TEMPLATE = r'''(?x) - http:// - (?: - (?:www\.)?%(host)s/(?:file|video|mobile/\#/videos)/| - (?:(?:embed|www)\.)%(host)s/embed(?:\.php|/)?\?(?:.*?&)?\bv= - ) - (?P<id>[a-z\d]{13}) - ''' - _VALID_URL = _VALID_URL_TEMPLATE % {'host': r'novamov\.com'} - - _HOST = 'www.novamov.com' - - _FILE_DELETED_REGEX = r'This file no longer exists on our servers!</h2>' - _FILEKEY_REGEX = r'flashvars\.filekey=(?P<filekey>"?[^"]+"?);' - _TITLE_REGEX = r'(?s)<div class="v_tab blockborder rounded5" id="v_tab1">\s*<h3>([^<]+)</h3>' - _DESCRIPTION_REGEX = r'(?s)<div class="v_tab blockborder rounded5" id="v_tab1">\s*<h3>[^<]+</h3><p>([^<]+)</p>' - _URL_TEMPLATE = 'http://%s/video/%s' - - _TEST = None - - def _check_existence(self, webpage, video_id): - if re.search(self._FILE_DELETED_REGEX, webpage) is not None: - raise ExtractorError('Video %s does not exist' % video_id, expected=True) - - def _real_extract(self, url): - video_id = self._match_id(url) - - url = self._URL_TEMPLATE % (self._HOST, video_id) - - webpage = self._download_webpage( - url, video_id, 'Downloading video page') - - self._check_existence(webpage, video_id) - - def extract_filekey(default=NO_DEFAULT): - filekey = self._search_regex( - self._FILEKEY_REGEX, webpage, 'filekey', default=default) - if filekey is not default and (filekey[0] != '"' or filekey[-1] != '"'): - return self._search_regex( - r'var\s+%s\s*=\s*"([^"]+)"' % re.escape(filekey), webpage, 'filekey', default=default) - else: - return filekey - - filekey = extract_filekey(default=None) - - if not filekey: - fields = self._hidden_inputs(webpage) - post_url = self._search_regex( - r'<form[^>]+action=(["\'])(?P<url>.+?)\1', webpage, - 'post url', default=url, group='url') - if not post_url.startswith('http'): - post_url = compat_urlparse.urljoin(url, post_url) - request = sanitized_Request( - post_url, urlencode_postdata(fields)) - request.add_header('Content-Type', 'application/x-www-form-urlencoded') - request.add_header('Referer', post_url) - webpage = self._download_webpage( - request, video_id, 'Downloading continue to the video page') - self._check_existence(webpage, video_id) - - filekey = extract_filekey() - - title = self._html_search_regex(self._TITLE_REGEX, webpage, 'title') - description = self._html_search_regex(self._DESCRIPTION_REGEX, webpage, 'description', default='', fatal=False) - - api_response = self._download_webpage( - 'http://%s/api/player.api.php?key=%s&file=%s' % (self._HOST, filekey, video_id), video_id, - 'Downloading video api response') - - response = compat_urlparse.parse_qs(api_response) - - if 'error_msg' in response: - raise ExtractorError('%s returned error: %s' % (self.IE_NAME, response['error_msg'][0]), expected=True) - - video_url = response['url'][0] - - return { - 'id': video_id, - 'url': video_url, - 'title': title, - 'description': description - } - - -class WholeCloudIE(NovaMovIE): - IE_NAME = 'wholecloud' - IE_DESC = 'WholeCloud' - - _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'(?:wholecloud\.net|movshare\.(?:net|sx|ag))'} - - _HOST = 'www.wholecloud.net' - - _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' - _TITLE_REGEX = r'<strong>Title:</strong> ([^<]+)</p>' - _DESCRIPTION_REGEX = r'<strong>Description:</strong> ([^<]+)</p>' - - _TEST = { - 'url': 'http://www.wholecloud.net/video/559e28be54d96', - 'md5': 'abd31a2132947262c50429e1d16c1bfd', - 'info_dict': { - 'id': '559e28be54d96', - 'ext': 'flv', - 'title': 'dissapeared image', - 'description': 'optical illusion dissapeared image magic illusion', - } - } - - -class NowVideoIE(NovaMovIE): - IE_NAME = 'nowvideo' - IE_DESC = 'NowVideo' - - _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'nowvideo\.(?:to|ch|ec|sx|eu|at|ag|co|li)'} - - _HOST = 'www.nowvideo.to' - - _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' - _TITLE_REGEX = r'<h4>([^<]+)</h4>' - _DESCRIPTION_REGEX = r'</h4>\s*<p>([^<]+)</p>' - - _TEST = { - 'url': 'http://www.nowvideo.sx/video/f1d6fce9a968b', - 'md5': '12c82cad4f2084881d8bc60ee29df092', - 'info_dict': { - 'id': 'f1d6fce9a968b', - 'ext': 'flv', - 'title': 'youtubedl test video BaWjenozKc', - 'description': 'Description', - }, - } - - -class VideoWeedIE(NovaMovIE): - IE_NAME = 'videoweed' - IE_DESC = 'VideoWeed' - - _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'videoweed\.(?:es|com)'} - - _HOST = 'www.videoweed.es' - - _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' - _TITLE_REGEX = r'<h1 class="text_shadow">([^<]+)</h1>' - _URL_TEMPLATE = 'http://%s/file/%s' - - _TEST = { - 'url': 'http://www.videoweed.es/file/b42178afbea14', - 'md5': 'abd31a2132947262c50429e1d16c1bfd', - 'info_dict': { - 'id': 'b42178afbea14', - 'ext': 'flv', - 'title': 'optical illusion dissapeared image magic illusion', - 'description': '' - }, - } - - -class CloudTimeIE(NovaMovIE): - IE_NAME = 'cloudtime' - IE_DESC = 'CloudTime' - - _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'cloudtime\.to'} - - _HOST = 'www.cloudtime.to' - - _FILE_DELETED_REGEX = r'>This file no longer exists on our servers.<' - _TITLE_REGEX = r'<div[^>]+class=["\']video_det["\'][^>]*>\s*<strong>([^<]+)</strong>' - - _TEST = None - - -class AuroraVidIE(NovaMovIE): - IE_NAME = 'auroravid' - IE_DESC = 'AuroraVid' - - _VALID_URL = NovaMovIE._VALID_URL_TEMPLATE % {'host': r'auroravid\.to'} - - _HOST = 'www.auroravid.to' - - _FILE_DELETED_REGEX = r'This file no longer exists on our servers!<' - - _TESTS = [{ - 'url': 'http://www.auroravid.to/video/4rurhn9x446jj', - 'md5': '7205f346a52bbeba427603ba10d4b935', - 'info_dict': { - 'id': '4rurhn9x446jj', - 'ext': 'flv', - 'title': 'search engine optimization', - 'description': 'search engine optimization is used to rank the web page in the google search engine' - }, - 'skip': '"Invalid token" errors abound (in web interface as well as youtube-dl, there is nothing we can do about it.)' - }, { - 'url': 'http://www.auroravid.to/embed/?v=4rurhn9x446jj', - 'only_matching': True, - }] diff --git a/youtube_dl/extractor/npo.py b/youtube_dl/extractor/npo.py index 5a427c3..e525ad9 100644 --- a/youtube_dl/extractor/npo.py +++ b/youtube_dl/extractor/npo.py @@ -12,11 +12,16 @@ from ..utils import ( ExtractorError, fix_xml_ampersands, int_or_none, + merge_dicts, orderedSet, parse_duration, qualities, + str_or_none, strip_jsonp, unified_strdate, + unified_timestamp, + url_or_none, + urlencode_postdata, ) @@ -176,9 +181,122 @@ class NPOIE(NPOBaseIE): def _real_extract(self, url): video_id = self._match_id(url) - return self._get_info(video_id) + return self._get_info(url, video_id) or self._get_old_info(video_id) + + def _get_info(self, url, video_id): + token = self._download_json( + 'https://www.npostart.nl/api/token', video_id, + 'Downloading token', headers={ + 'Referer': url, + 'X-Requested-With': 'XMLHttpRequest', + })['token'] + + player = self._download_json( + 'https://www.npostart.nl/player/%s' % video_id, video_id, + 'Downloading player JSON', data=urlencode_postdata({ + 'autoplay': 0, + 'share': 1, + 'pageUrl': url, + 'hasAdConsent': 0, + '_token': token, + })) + + player_token = player['token'] + + drm = False + format_urls = set() + formats = [] + for profile in ('hls', 'dash-widevine', 'dash-playready', 'smooth'): + streams = self._download_json( + 'https://start-player.npo.nl/video/%s/streams' % video_id, + video_id, 'Downloading %s profile JSON' % profile, fatal=False, + query={ + 'profile': profile, + 'quality': 'npo', + 'tokenId': player_token, + 'streamType': 'broadcast', + }) + if not streams: + continue + stream = streams.get('stream') + if not isinstance(stream, dict): + continue + stream_url = url_or_none(stream.get('src')) + if not stream_url or stream_url in format_urls: + continue + format_urls.add(stream_url) + if stream.get('protection') is not None or stream.get('keySystemOptions') is not None: + drm = True + continue + stream_type = stream.get('type') + stream_ext = determine_ext(stream_url) + if stream_type == 'application/dash+xml' or stream_ext == 'mpd': + formats.extend(self._extract_mpd_formats( + stream_url, video_id, mpd_id='dash', fatal=False)) + elif stream_type == 'application/vnd.apple.mpegurl' or stream_ext == 'm3u8': + formats.extend(self._extract_m3u8_formats( + stream_url, video_id, ext='mp4', + entry_protocol='m3u8_native', m3u8_id='hls', fatal=False)) + elif re.search(r'\.isml?/Manifest', stream_url): + formats.extend(self._extract_ism_formats( + stream_url, video_id, ism_id='mss', fatal=False)) + else: + formats.append({ + 'url': stream_url, + }) + + if not formats: + if drm: + raise ExtractorError('This video is DRM protected.', expected=True) + return + + self._sort_formats(formats) + + info = { + 'id': video_id, + 'title': video_id, + 'formats': formats, + } - def _get_info(self, video_id): + embed_url = url_or_none(player.get('embedUrl')) + if embed_url: + webpage = self._download_webpage( + embed_url, video_id, 'Downloading embed page', fatal=False) + if webpage: + video = self._parse_json( + self._search_regex( + r'\bvideo\s*=\s*({.+?})\s*;', webpage, 'video', + default='{}'), video_id) + if video: + title = video.get('episodeTitle') + subtitles = {} + subtitles_list = video.get('subtitles') + if isinstance(subtitles_list, list): + for cc in subtitles_list: + cc_url = url_or_none(cc.get('src')) + if not cc_url: + continue + lang = str_or_none(cc.get('language')) or 'nl' + subtitles.setdefault(lang, []).append({ + 'url': cc_url, + }) + return merge_dicts({ + 'title': title, + 'description': video.get('description'), + 'thumbnail': url_or_none( + video.get('still_image_url') or video.get('orig_image_url')), + 'duration': int_or_none(video.get('duration')), + 'timestamp': unified_timestamp(video.get('broadcastDate')), + 'creator': video.get('channel'), + 'series': video.get('title'), + 'episode': title, + 'episode_number': int_or_none(video.get('episodeNumber')), + 'subtitles': subtitles, + }, info) + + return info + + def _get_old_info(self, video_id): metadata = self._download_json( 'http://e.omroep.nl/metadata/%s' % video_id, video_id, @@ -280,7 +398,7 @@ class NPOIE(NPOBaseIE): # JSON else: video_url = stream_info.get('url') - if not video_url or video_url in urls: + if not video_url or 'vodnotavailable.' in video_url or video_url in urls: continue urls.add(video_url) if determine_ext(video_url) == 'm3u8': diff --git a/youtube_dl/extractor/npr.py b/youtube_dl/extractor/npr.py index 1777aa1..a5e8baa 100644 --- a/youtube_dl/extractor/npr.py +++ b/youtube_dl/extractor/npr.py @@ -1,7 +1,6 @@ from __future__ import unicode_literals from .common import InfoExtractor -from ..compat import compat_urllib_parse_urlencode from ..utils import ( int_or_none, qualities, @@ -9,16 +8,16 @@ from ..utils import ( class NprIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?npr\.org/player/v2/mediaPlayer\.html\?.*\bid=(?P<id>\d+)' + _VALID_URL = r'https?://(?:www\.)?npr\.org/(?:sections/[^/]+/)?\d{4}/\d{2}/\d{2}/(?P<id>\d+)' _TESTS = [{ - 'url': 'http://www.npr.org/player/v2/mediaPlayer.html?id=449974205', + 'url': 'https://www.npr.org/sections/allsongs/2015/10/21/449974205/new-music-from-beach-house-chairlift-cmj-discoveries-and-more', 'info_dict': { 'id': '449974205', 'title': 'New Music From Beach House, Chairlift, CMJ Discoveries And More' }, 'playlist_count': 7, }, { - 'url': 'http://www.npr.org/player/v2/mediaPlayer.html?action=1&t=1&islist=false&id=446928052&m=446929930&live=1', + 'url': 'https://www.npr.org/sections/deceptivecadence/2015/10/09/446928052/music-from-the-shadows-ancient-armenian-hymns-and-piano-jazz', 'info_dict': { 'id': '446928052', 'title': "Songs We Love: Tigran Hamasyan, 'Your Mercy is Boundless'" @@ -32,30 +31,46 @@ class NprIE(InfoExtractor): 'duration': 402, }, }], + }, { + # mutlimedia, not media title + 'url': 'https://www.npr.org/2017/06/19/533198237/tigers-jaw-tiny-desk-concert', + 'info_dict': { + 'id': '533198237', + 'title': 'Tigers Jaw: Tiny Desk Concert', + }, + 'playlist': [{ + 'md5': '12fa60cb2d3ed932f53609d4aeceabf1', + 'info_dict': { + 'id': '533201718', + 'ext': 'mp4', + 'title': 'Tigers Jaw: Tiny Desk Concert', + 'duration': 402, + }, + }], + 'expected_warnings': ['Failed to download m3u8 information'], }] def _real_extract(self, url): playlist_id = self._match_id(url) - config = self._download_json( - 'http://api.npr.org/query?%s' % compat_urllib_parse_urlencode({ + story = self._download_json( + 'http://api.npr.org/query', playlist_id, query={ 'id': playlist_id, - 'fields': 'titles,audio,show', + 'fields': 'audio,multimedia,title', 'format': 'json', 'apiKey': 'MDAzMzQ2MjAyMDEyMzk4MTU1MDg3ZmM3MQ010', - }), playlist_id) - - story = config['list']['story'][0] + })['list']['story'][0] + playlist_title = story.get('title', {}).get('$text') - KNOWN_FORMATS = ('threegp', 'mp4', 'mp3') + KNOWN_FORMATS = ('threegp', 'm3u8', 'smil', 'mp4', 'mp3') quality = qualities(KNOWN_FORMATS) entries = [] - for audio in story.get('audio', []): - title = audio.get('title', {}).get('$text') - duration = int_or_none(audio.get('duration', {}).get('$text')) + for media in story.get('audio', []) + story.get('multimedia', []): + media_id = media['id'] + formats = [] - for format_id, formats_entry in audio.get('format', {}).items(): + for format_id, formats_entry in media.get('format', {}).items(): if not formats_entry: continue if isinstance(formats_entry, list): @@ -64,19 +79,30 @@ class NprIE(InfoExtractor): if not format_url: continue if format_id in KNOWN_FORMATS: - formats.append({ - 'url': format_url, - 'format_id': format_id, - 'ext': formats_entry.get('type'), - 'quality': quality(format_id), - }) + if format_id == 'm3u8': + formats.extend(self._extract_m3u8_formats( + format_url, media_id, 'mp4', 'm3u8_native', + m3u8_id='hls', fatal=False)) + elif format_id == 'smil': + smil_formats = self._extract_smil_formats( + format_url, media_id, transform_source=lambda s: s.replace( + 'rtmp://flash.npr.org/ondemand/', 'https://ondemand.npr.org/')) + self._check_formats(smil_formats, media_id) + formats.extend(smil_formats) + else: + formats.append({ + 'url': format_url, + 'format_id': format_id, + 'quality': quality(format_id), + }) self._sort_formats(formats) + entries.append({ - 'id': audio['id'], - 'title': title, - 'duration': duration, + 'id': media_id, + 'title': media.get('title', {}).get('$text') or playlist_title, + 'thumbnail': media.get('altImageUrl', {}).get('$text'), + 'duration': int_or_none(media.get('duration', {}).get('$text')), 'formats': formats, }) - playlist_title = story.get('title', {}).get('$text') return self.playlist_result(entries, playlist_id, playlist_title) diff --git a/youtube_dl/extractor/nrk.py b/youtube_dl/extractor/nrk.py index 072f920..5f43e69 100644 --- a/youtube_dl/extractor/nrk.py +++ b/youtube_dl/extractor/nrk.py @@ -45,8 +45,8 @@ class NRKBaseIE(InfoExtractor): entries = [] conviva = data.get('convivaStatistics') or {} - live = (data.get('mediaElementType') == 'Live' or - data.get('isLive') is True or conviva.get('isLive')) + live = (data.get('mediaElementType') == 'Live' + or data.get('isLive') is True or conviva.get('isLive')) def make_title(t): return self._live_title(t) if live else t diff --git a/youtube_dl/extractor/nrl.py b/youtube_dl/extractor/nrl.py new file mode 100644 index 0000000..798b91e --- /dev/null +++ b/youtube_dl/extractor/nrl.py @@ -0,0 +1,30 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor + + +class NRLTVIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?nrl\.com/tv(/[^/]+)*/(?P<id>[^/?&#]+)' + _TEST = { + 'url': 'https://www.nrl.com/tv/news/match-highlights-titans-v-knights-862805/', + 'info_dict': { + 'id': 'YyNnFuaDE6kPJqlDhG4CGQ_w89mKTau4', + 'ext': 'mp4', + 'title': 'Match Highlights: Titans v Knights', + }, + 'params': { + # m3u8 download + 'skip_download': True, + 'format': 'bestvideo', + }, + } + + def _real_extract(self, url): + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + q_data = self._parse_json(self._search_regex( + r"(?s)q-data='({.+?})'", webpage, 'player data'), display_id) + ooyala_id = q_data['videoId'] + return self.url_result( + 'ooyala:' + ooyala_id, 'Ooyala', ooyala_id, q_data.get('title')) diff --git a/youtube_dl/extractor/ntvcojp.py b/youtube_dl/extractor/ntvcojp.py new file mode 100644 index 0000000..0c8221b --- /dev/null +++ b/youtube_dl/extractor/ntvcojp.py @@ -0,0 +1,49 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + js_to_json, + smuggle_url, +) + + +class NTVCoJpCUIE(InfoExtractor): + IE_NAME = 'cu.ntv.co.jp' + IE_DESC = 'Nippon Television Network' + _VALID_URL = r'https?://cu\.ntv\.co\.jp/(?!program)(?P<id>[^/?&#]+)' + _TEST = { + 'url': 'https://cu.ntv.co.jp/televiva-chill-gohan_181031/', + 'info_dict': { + 'id': '5978891207001', + 'ext': 'mp4', + 'title': 'æ¡ã¨ãã¨çãåµããã¤ã³ãï¼ ãä¸è¯é¢¨ ã¨ãããªãã«ãããââãç¾èãäºååµç¾å¹¸', + 'upload_date': '20181213', + 'description': 'md5:211b52f4fd60f3e0e72b68b0c6ba52a9', + 'uploader_id': '3855502814001', + 'timestamp': 1544669941, + }, + 'params': { + # m3u8 download + 'skip_download': True, + }, + } + BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s' + + def _real_extract(self, url): + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + player_config = self._parse_json(self._search_regex( + r'(?s)PLAYER_CONFIG\s*=\s*({.+?})', + webpage, 'player config'), display_id, js_to_json) + video_id = player_config['videoId'] + account_id = player_config.get('account') or '3855502814001' + return { + '_type': 'url_transparent', + 'id': video_id, + 'display_id': display_id, + 'title': self._search_regex(r'<h1[^>]+class="title"[^>]*>([^<]+)', webpage, 'title').strip(), + 'description': self._html_search_meta(['description', 'og:description'], webpage), + 'url': smuggle_url(self.BRIGHTCOVE_URL_TEMPLATE % (account_id, video_id), {'geo_countries': ['JP']}), + 'ie_key': 'BrightcoveNew', + } diff --git a/youtube_dl/extractor/odnoklassniki.py b/youtube_dl/extractor/odnoklassniki.py index 190d8af..114b93c 100644 --- a/youtube_dl/extractor/odnoklassniki.py +++ b/youtube_dl/extractor/odnoklassniki.py @@ -115,6 +115,10 @@ class OdnoklassnikiIE(InfoExtractor): }, { 'url': 'https://m.ok.ru/dk?st.cmd=movieLayer&st.discId=863789452017&st.retLoc=friend&st.rtu=%2Fdk%3Fst.cmd%3DfriendMovies%26st.mode%3Down%26st.mrkId%3D%257B%2522uploadedMovieMarker%2522%253A%257B%2522marker%2522%253A%25221519410114503%2522%252C%2522hasMore%2522%253Atrue%257D%252C%2522sharedMovieMarker%2522%253A%257B%2522marker%2522%253Anull%252C%2522hasMore%2522%253Afalse%257D%257D%26st.friendId%3D561722190321%26st.frwd%3Don%26_prevCmd%3DfriendMovies%26tkn%3D7257&st.discType=MOVIE&st.mvId=863789452017&_prevCmd=friendMovies&tkn=3648#lst#', 'only_matching': True, + }, { + # Paid video + 'url': 'https://ok.ru/video/954886983203', + 'only_matching': True, }] def _real_extract(self, url): @@ -244,6 +248,11 @@ class OdnoklassnikiIE(InfoExtractor): 'ext': 'flv', }) + if not formats: + payment_info = metadata.get('paymentInfo') + if payment_info: + raise ExtractorError('This video is paid, subscribe to download it', expected=True) + self._sort_formats(formats) info['formats'] = formats diff --git a/youtube_dl/extractor/once.py b/youtube_dl/extractor/once.py index 8ae5fad..3e44b78 100644 --- a/youtube_dl/extractor/once.py +++ b/youtube_dl/extractor/once.py @@ -21,7 +21,7 @@ class OnceIE(InfoExtractor): progressive_formats = [] for adaptive_format in formats: # Prevent advertisement from embedding into m3u8 playlist (see - # https://github.com/rg3/youtube-dl/issues/8893#issuecomment-199912684) + # https://github.com/ytdl-org/youtube-dl/issues/8893#issuecomment-199912684) adaptive_format['url'] = re.sub( r'\badsegmentlength=\d+', r'adsegmentlength=0', adaptive_format['url']) rendition_id = self._search_regex( diff --git a/youtube_dl/extractor/ooyala.py b/youtube_dl/extractor/ooyala.py index ad8bf03..995b24d 100644 --- a/youtube_dl/extractor/ooyala.py +++ b/youtube_dl/extractor/ooyala.py @@ -31,12 +31,12 @@ class OoyalaBaseIE(InfoExtractor): title = metadata['title'] auth_data = self._download_json( - self._AUTHORIZATION_URL_TEMPLATE % (pcode, embed_code) + - compat_urllib_parse_urlencode({ + self._AUTHORIZATION_URL_TEMPLATE % (pcode, embed_code) + + compat_urllib_parse_urlencode({ 'domain': domain, 'supportedFormats': supportedformats or 'mp4,rtmp,m3u8,hds,dash,smooth', 'embedToken': embed_token, - }), video_id) + }), video_id, headers=self.geo_verification_headers()) cur_auth_data = auth_data['authorization_data'][embed_code] diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index cf51e47..32d546e 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import json import os +import random import re import subprocess import tempfile @@ -42,9 +43,9 @@ def cookie_to_dict(cookie): if cookie.discard is not None: cookie_dict['discard'] = cookie.discard try: - if (cookie.has_nonstandard_attr('httpOnly') or - cookie.has_nonstandard_attr('httponly') or - cookie.has_nonstandard_attr('HttpOnly')): + if (cookie.has_nonstandard_attr('httpOnly') + or cookie.has_nonstandard_attr('httponly') + or cookie.has_nonstandard_attr('HttpOnly')): cookie_dict['httponly'] = True except TypeError: pass @@ -243,19 +244,20 @@ class PhantomJSwrapper(object): class OpenloadIE(InfoExtractor): + _DOMAINS = r'(?:openload\.(?:co|io|link|pw)|oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun|club|info|press|pw|live|space|services|website)|oladblock\.(?:services|xyz|me)|openloed\.co)' _VALID_URL = r'''(?x) https?:// (?P<host> (?:www\.)? - (?: - openload\.(?:co|io|link)| - oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun) - ) + %s )/ (?:f|embed)/ (?P<id>[a-zA-Z0-9-_]+) - ''' - + ''' % _DOMAINS + _EMBED_WORD = 'embed' + _STREAM_WORD = 'f' + _REDIR_WORD = 'stream' + _URL_IDS = ('streamurl', 'streamuri', 'streamurj') _TESTS = [{ 'url': 'https://openload.co/f/kUEfGclsU9o', 'md5': 'bf1c059b004ebc7a256f89408e65c36e', @@ -334,15 +336,1637 @@ class OpenloadIE(InfoExtractor): }, { 'url': 'https://oload.fun/f/gb6G1H4sHXY', 'only_matching': True, + }, { + 'url': 'https://oload.club/f/Nr1L-aZ2dbQ', + 'only_matching': True, + }, { + 'url': 'https://oload.info/f/5NEAbI2BDSk', + 'only_matching': True, + }, { + 'url': 'https://openload.pw/f/WyKgK8s94N0', + 'only_matching': True, + }, { + 'url': 'https://oload.pw/f/WyKgK8s94N0', + 'only_matching': True, + }, { + 'url': 'https://oload.live/f/-Z58UZ-GR4M', + 'only_matching': True, + }, { + 'url': 'https://oload.space/f/IY4eZSst3u8/', + 'only_matching': True, + }, { + 'url': 'https://oload.services/embed/bs1NWj1dCag/', + 'only_matching': True, + }, { + 'url': 'https://oload.press/embed/drTBl1aOTvk/', + 'only_matching': True, + }, { + 'url': 'https://oload.website/embed/drTBl1aOTvk/', + 'only_matching': True, + }, { + 'url': 'https://oladblock.services/f/b8NWEgkqNLI/', + 'only_matching': True, + }, { + 'url': 'https://oladblock.xyz/f/b8NWEgkqNLI/', + 'only_matching': True, + }, { + 'url': 'https://oladblock.me/f/b8NWEgkqNLI/', + 'only_matching': True, + }, { + 'url': 'https://openloed.co/f/b8NWEgkqNLI/', + 'only_matching': True, }] - _USER_AGENT = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36' + _USER_AGENT_TPL = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36' + _CHROME_VERSIONS = ( + '74.0.3729.129', + '76.0.3780.3', + '76.0.3780.2', + '74.0.3729.128', + '76.0.3780.1', + '76.0.3780.0', + '75.0.3770.15', + '74.0.3729.127', + '74.0.3729.126', + '76.0.3779.1', + '76.0.3779.0', + '75.0.3770.14', + '74.0.3729.125', + '76.0.3778.1', + '76.0.3778.0', + '75.0.3770.13', + '74.0.3729.124', + '74.0.3729.123', + '73.0.3683.121', + '76.0.3777.1', + '76.0.3777.0', + '75.0.3770.12', + '74.0.3729.122', + '76.0.3776.4', + '75.0.3770.11', + '74.0.3729.121', + '76.0.3776.3', + '76.0.3776.2', + '73.0.3683.120', + '74.0.3729.120', + '74.0.3729.119', + '74.0.3729.118', + '76.0.3776.1', + '76.0.3776.0', + '76.0.3775.5', + '75.0.3770.10', + '74.0.3729.117', + '76.0.3775.4', + '76.0.3775.3', + '74.0.3729.116', + '75.0.3770.9', + '76.0.3775.2', + '76.0.3775.1', + '76.0.3775.0', + '75.0.3770.8', + '74.0.3729.115', + '74.0.3729.114', + '76.0.3774.1', + '76.0.3774.0', + '75.0.3770.7', + '74.0.3729.113', + '74.0.3729.112', + '74.0.3729.111', + '76.0.3773.1', + '76.0.3773.0', + '75.0.3770.6', + '74.0.3729.110', + '74.0.3729.109', + '76.0.3772.1', + '76.0.3772.0', + '75.0.3770.5', + '74.0.3729.108', + '74.0.3729.107', + '76.0.3771.1', + '76.0.3771.0', + '75.0.3770.4', + '74.0.3729.106', + '74.0.3729.105', + '75.0.3770.3', + '74.0.3729.104', + '74.0.3729.103', + '74.0.3729.102', + '75.0.3770.2', + '74.0.3729.101', + '75.0.3770.1', + '75.0.3770.0', + '74.0.3729.100', + '75.0.3769.5', + '75.0.3769.4', + '74.0.3729.99', + '75.0.3769.3', + '75.0.3769.2', + '75.0.3768.6', + '74.0.3729.98', + '75.0.3769.1', + '75.0.3769.0', + '74.0.3729.97', + '73.0.3683.119', + '73.0.3683.118', + '74.0.3729.96', + '75.0.3768.5', + '75.0.3768.4', + '75.0.3768.3', + '75.0.3768.2', + '74.0.3729.95', + '74.0.3729.94', + '75.0.3768.1', + '75.0.3768.0', + '74.0.3729.93', + '74.0.3729.92', + '73.0.3683.117', + '74.0.3729.91', + '75.0.3766.3', + '74.0.3729.90', + '75.0.3767.2', + '75.0.3767.1', + '75.0.3767.0', + '74.0.3729.89', + '73.0.3683.116', + '75.0.3766.2', + '74.0.3729.88', + '75.0.3766.1', + '75.0.3766.0', + '74.0.3729.87', + '73.0.3683.115', + '74.0.3729.86', + '75.0.3765.1', + '75.0.3765.0', + '74.0.3729.85', + '73.0.3683.114', + '74.0.3729.84', + '75.0.3764.1', + '75.0.3764.0', + '74.0.3729.83', + '73.0.3683.113', + '75.0.3763.2', + '75.0.3761.4', + '74.0.3729.82', + '75.0.3763.1', + '75.0.3763.0', + '74.0.3729.81', + '73.0.3683.112', + '75.0.3762.1', + '75.0.3762.0', + '74.0.3729.80', + '75.0.3761.3', + '74.0.3729.79', + '73.0.3683.111', + '75.0.3761.2', + '74.0.3729.78', + '74.0.3729.77', + '75.0.3761.1', + '75.0.3761.0', + '73.0.3683.110', + '74.0.3729.76', + '74.0.3729.75', + '75.0.3760.0', + '74.0.3729.74', + '75.0.3759.8', + '75.0.3759.7', + '75.0.3759.6', + '74.0.3729.73', + '75.0.3759.5', + '74.0.3729.72', + '73.0.3683.109', + '75.0.3759.4', + '75.0.3759.3', + '74.0.3729.71', + '75.0.3759.2', + '74.0.3729.70', + '73.0.3683.108', + '74.0.3729.69', + '75.0.3759.1', + '75.0.3759.0', + '74.0.3729.68', + '73.0.3683.107', + '74.0.3729.67', + '75.0.3758.1', + '75.0.3758.0', + '74.0.3729.66', + '73.0.3683.106', + '74.0.3729.65', + '75.0.3757.1', + '75.0.3757.0', + '74.0.3729.64', + '73.0.3683.105', + '74.0.3729.63', + '75.0.3756.1', + '75.0.3756.0', + '74.0.3729.62', + '73.0.3683.104', + '75.0.3755.3', + '75.0.3755.2', + '73.0.3683.103', + '75.0.3755.1', + '75.0.3755.0', + '74.0.3729.61', + '73.0.3683.102', + '74.0.3729.60', + '75.0.3754.2', + '74.0.3729.59', + '75.0.3753.4', + '74.0.3729.58', + '75.0.3754.1', + '75.0.3754.0', + '74.0.3729.57', + '73.0.3683.101', + '75.0.3753.3', + '75.0.3752.2', + '75.0.3753.2', + '74.0.3729.56', + '75.0.3753.1', + '75.0.3753.0', + '74.0.3729.55', + '73.0.3683.100', + '74.0.3729.54', + '75.0.3752.1', + '75.0.3752.0', + '74.0.3729.53', + '73.0.3683.99', + '74.0.3729.52', + '75.0.3751.1', + '75.0.3751.0', + '74.0.3729.51', + '73.0.3683.98', + '74.0.3729.50', + '75.0.3750.0', + '74.0.3729.49', + '74.0.3729.48', + '74.0.3729.47', + '75.0.3749.3', + '74.0.3729.46', + '73.0.3683.97', + '75.0.3749.2', + '74.0.3729.45', + '75.0.3749.1', + '75.0.3749.0', + '74.0.3729.44', + '73.0.3683.96', + '74.0.3729.43', + '74.0.3729.42', + '75.0.3748.1', + '75.0.3748.0', + '74.0.3729.41', + '75.0.3747.1', + '73.0.3683.95', + '75.0.3746.4', + '74.0.3729.40', + '74.0.3729.39', + '75.0.3747.0', + '75.0.3746.3', + '75.0.3746.2', + '74.0.3729.38', + '75.0.3746.1', + '75.0.3746.0', + '74.0.3729.37', + '73.0.3683.94', + '75.0.3745.5', + '75.0.3745.4', + '75.0.3745.3', + '75.0.3745.2', + '74.0.3729.36', + '75.0.3745.1', + '75.0.3745.0', + '75.0.3744.2', + '74.0.3729.35', + '73.0.3683.93', + '74.0.3729.34', + '75.0.3744.1', + '75.0.3744.0', + '74.0.3729.33', + '73.0.3683.92', + '74.0.3729.32', + '74.0.3729.31', + '73.0.3683.91', + '75.0.3741.2', + '75.0.3740.5', + '74.0.3729.30', + '75.0.3741.1', + '75.0.3741.0', + '74.0.3729.29', + '75.0.3740.4', + '73.0.3683.90', + '74.0.3729.28', + '75.0.3740.3', + '73.0.3683.89', + '75.0.3740.2', + '74.0.3729.27', + '75.0.3740.1', + '75.0.3740.0', + '74.0.3729.26', + '73.0.3683.88', + '73.0.3683.87', + '74.0.3729.25', + '75.0.3739.1', + '75.0.3739.0', + '73.0.3683.86', + '74.0.3729.24', + '73.0.3683.85', + '75.0.3738.4', + '75.0.3738.3', + '75.0.3738.2', + '75.0.3738.1', + '75.0.3738.0', + '74.0.3729.23', + '73.0.3683.84', + '74.0.3729.22', + '74.0.3729.21', + '75.0.3737.1', + '75.0.3737.0', + '74.0.3729.20', + '73.0.3683.83', + '74.0.3729.19', + '75.0.3736.1', + '75.0.3736.0', + '74.0.3729.18', + '73.0.3683.82', + '74.0.3729.17', + '75.0.3735.1', + '75.0.3735.0', + '74.0.3729.16', + '73.0.3683.81', + '75.0.3734.1', + '75.0.3734.0', + '74.0.3729.15', + '73.0.3683.80', + '74.0.3729.14', + '75.0.3733.1', + '75.0.3733.0', + '75.0.3732.1', + '74.0.3729.13', + '74.0.3729.12', + '73.0.3683.79', + '74.0.3729.11', + '75.0.3732.0', + '74.0.3729.10', + '73.0.3683.78', + '74.0.3729.9', + '74.0.3729.8', + '74.0.3729.7', + '75.0.3731.3', + '75.0.3731.2', + '75.0.3731.0', + '74.0.3729.6', + '73.0.3683.77', + '73.0.3683.76', + '75.0.3730.5', + '75.0.3730.4', + '73.0.3683.75', + '74.0.3729.5', + '73.0.3683.74', + '75.0.3730.3', + '75.0.3730.2', + '74.0.3729.4', + '73.0.3683.73', + '73.0.3683.72', + '75.0.3730.1', + '75.0.3730.0', + '74.0.3729.3', + '73.0.3683.71', + '74.0.3729.2', + '73.0.3683.70', + '74.0.3729.1', + '74.0.3729.0', + '74.0.3726.4', + '73.0.3683.69', + '74.0.3726.3', + '74.0.3728.0', + '74.0.3726.2', + '73.0.3683.68', + '74.0.3726.1', + '74.0.3726.0', + '74.0.3725.4', + '73.0.3683.67', + '73.0.3683.66', + '74.0.3725.3', + '74.0.3725.2', + '74.0.3725.1', + '74.0.3724.8', + '74.0.3725.0', + '73.0.3683.65', + '74.0.3724.7', + '74.0.3724.6', + '74.0.3724.5', + '74.0.3724.4', + '74.0.3724.3', + '74.0.3724.2', + '74.0.3724.1', + '74.0.3724.0', + '73.0.3683.64', + '74.0.3723.1', + '74.0.3723.0', + '73.0.3683.63', + '74.0.3722.1', + '74.0.3722.0', + '73.0.3683.62', + '74.0.3718.9', + '74.0.3702.3', + '74.0.3721.3', + '74.0.3721.2', + '74.0.3721.1', + '74.0.3721.0', + '74.0.3720.6', + '73.0.3683.61', + '72.0.3626.122', + '73.0.3683.60', + '74.0.3720.5', + '72.0.3626.121', + '74.0.3718.8', + '74.0.3720.4', + '74.0.3720.3', + '74.0.3718.7', + '74.0.3720.2', + '74.0.3720.1', + '74.0.3720.0', + '74.0.3718.6', + '74.0.3719.5', + '73.0.3683.59', + '74.0.3718.5', + '74.0.3718.4', + '74.0.3719.4', + '74.0.3719.3', + '74.0.3719.2', + '74.0.3719.1', + '73.0.3683.58', + '74.0.3719.0', + '73.0.3683.57', + '73.0.3683.56', + '74.0.3718.3', + '73.0.3683.55', + '74.0.3718.2', + '74.0.3718.1', + '74.0.3718.0', + '73.0.3683.54', + '74.0.3717.2', + '73.0.3683.53', + '74.0.3717.1', + '74.0.3717.0', + '73.0.3683.52', + '74.0.3716.1', + '74.0.3716.0', + '73.0.3683.51', + '74.0.3715.1', + '74.0.3715.0', + '73.0.3683.50', + '74.0.3711.2', + '74.0.3714.2', + '74.0.3713.3', + '74.0.3714.1', + '74.0.3714.0', + '73.0.3683.49', + '74.0.3713.1', + '74.0.3713.0', + '72.0.3626.120', + '73.0.3683.48', + '74.0.3712.2', + '74.0.3712.1', + '74.0.3712.0', + '73.0.3683.47', + '72.0.3626.119', + '73.0.3683.46', + '74.0.3710.2', + '72.0.3626.118', + '74.0.3711.1', + '74.0.3711.0', + '73.0.3683.45', + '72.0.3626.117', + '74.0.3710.1', + '74.0.3710.0', + '73.0.3683.44', + '72.0.3626.116', + '74.0.3709.1', + '74.0.3709.0', + '74.0.3704.9', + '73.0.3683.43', + '72.0.3626.115', + '74.0.3704.8', + '74.0.3704.7', + '74.0.3708.0', + '74.0.3706.7', + '74.0.3704.6', + '73.0.3683.42', + '72.0.3626.114', + '74.0.3706.6', + '72.0.3626.113', + '74.0.3704.5', + '74.0.3706.5', + '74.0.3706.4', + '74.0.3706.3', + '74.0.3706.2', + '74.0.3706.1', + '74.0.3706.0', + '73.0.3683.41', + '72.0.3626.112', + '74.0.3705.1', + '74.0.3705.0', + '73.0.3683.40', + '72.0.3626.111', + '73.0.3683.39', + '74.0.3704.4', + '73.0.3683.38', + '74.0.3704.3', + '74.0.3704.2', + '74.0.3704.1', + '74.0.3704.0', + '73.0.3683.37', + '72.0.3626.110', + '72.0.3626.109', + '74.0.3703.3', + '74.0.3703.2', + '73.0.3683.36', + '74.0.3703.1', + '74.0.3703.0', + '73.0.3683.35', + '72.0.3626.108', + '74.0.3702.2', + '74.0.3699.3', + '74.0.3702.1', + '74.0.3702.0', + '73.0.3683.34', + '72.0.3626.107', + '73.0.3683.33', + '74.0.3701.1', + '74.0.3701.0', + '73.0.3683.32', + '73.0.3683.31', + '72.0.3626.105', + '74.0.3700.1', + '74.0.3700.0', + '73.0.3683.29', + '72.0.3626.103', + '74.0.3699.2', + '74.0.3699.1', + '74.0.3699.0', + '73.0.3683.28', + '72.0.3626.102', + '73.0.3683.27', + '73.0.3683.26', + '74.0.3698.0', + '74.0.3696.2', + '72.0.3626.101', + '73.0.3683.25', + '74.0.3696.1', + '74.0.3696.0', + '74.0.3694.8', + '72.0.3626.100', + '74.0.3694.7', + '74.0.3694.6', + '74.0.3694.5', + '74.0.3694.4', + '72.0.3626.99', + '72.0.3626.98', + '74.0.3694.3', + '73.0.3683.24', + '72.0.3626.97', + '72.0.3626.96', + '72.0.3626.95', + '73.0.3683.23', + '72.0.3626.94', + '73.0.3683.22', + '73.0.3683.21', + '72.0.3626.93', + '74.0.3694.2', + '72.0.3626.92', + '74.0.3694.1', + '74.0.3694.0', + '74.0.3693.6', + '73.0.3683.20', + '72.0.3626.91', + '74.0.3693.5', + '74.0.3693.4', + '74.0.3693.3', + '74.0.3693.2', + '73.0.3683.19', + '74.0.3693.1', + '74.0.3693.0', + '73.0.3683.18', + '72.0.3626.90', + '74.0.3692.1', + '74.0.3692.0', + '73.0.3683.17', + '72.0.3626.89', + '74.0.3687.3', + '74.0.3691.1', + '74.0.3691.0', + '73.0.3683.16', + '72.0.3626.88', + '72.0.3626.87', + '73.0.3683.15', + '74.0.3690.1', + '74.0.3690.0', + '73.0.3683.14', + '72.0.3626.86', + '73.0.3683.13', + '73.0.3683.12', + '74.0.3689.1', + '74.0.3689.0', + '73.0.3683.11', + '72.0.3626.85', + '73.0.3683.10', + '72.0.3626.84', + '73.0.3683.9', + '74.0.3688.1', + '74.0.3688.0', + '73.0.3683.8', + '72.0.3626.83', + '74.0.3687.2', + '74.0.3687.1', + '74.0.3687.0', + '73.0.3683.7', + '72.0.3626.82', + '74.0.3686.4', + '72.0.3626.81', + '74.0.3686.3', + '74.0.3686.2', + '74.0.3686.1', + '74.0.3686.0', + '73.0.3683.6', + '72.0.3626.80', + '74.0.3685.1', + '74.0.3685.0', + '73.0.3683.5', + '72.0.3626.79', + '74.0.3684.1', + '74.0.3684.0', + '73.0.3683.4', + '72.0.3626.78', + '72.0.3626.77', + '73.0.3683.3', + '73.0.3683.2', + '72.0.3626.76', + '73.0.3683.1', + '73.0.3683.0', + '72.0.3626.75', + '71.0.3578.141', + '73.0.3682.1', + '73.0.3682.0', + '72.0.3626.74', + '71.0.3578.140', + '73.0.3681.4', + '73.0.3681.3', + '73.0.3681.2', + '73.0.3681.1', + '73.0.3681.0', + '72.0.3626.73', + '71.0.3578.139', + '72.0.3626.72', + '72.0.3626.71', + '73.0.3680.1', + '73.0.3680.0', + '72.0.3626.70', + '71.0.3578.138', + '73.0.3678.2', + '73.0.3679.1', + '73.0.3679.0', + '72.0.3626.69', + '71.0.3578.137', + '73.0.3678.1', + '73.0.3678.0', + '71.0.3578.136', + '73.0.3677.1', + '73.0.3677.0', + '72.0.3626.68', + '72.0.3626.67', + '71.0.3578.135', + '73.0.3676.1', + '73.0.3676.0', + '73.0.3674.2', + '72.0.3626.66', + '71.0.3578.134', + '73.0.3674.1', + '73.0.3674.0', + '72.0.3626.65', + '71.0.3578.133', + '73.0.3673.2', + '73.0.3673.1', + '73.0.3673.0', + '72.0.3626.64', + '71.0.3578.132', + '72.0.3626.63', + '72.0.3626.62', + '72.0.3626.61', + '72.0.3626.60', + '73.0.3672.1', + '73.0.3672.0', + '72.0.3626.59', + '71.0.3578.131', + '73.0.3671.3', + '73.0.3671.2', + '73.0.3671.1', + '73.0.3671.0', + '72.0.3626.58', + '71.0.3578.130', + '73.0.3670.1', + '73.0.3670.0', + '72.0.3626.57', + '71.0.3578.129', + '73.0.3669.1', + '73.0.3669.0', + '72.0.3626.56', + '71.0.3578.128', + '73.0.3668.2', + '73.0.3668.1', + '73.0.3668.0', + '72.0.3626.55', + '71.0.3578.127', + '73.0.3667.2', + '73.0.3667.1', + '73.0.3667.0', + '72.0.3626.54', + '71.0.3578.126', + '73.0.3666.1', + '73.0.3666.0', + '72.0.3626.53', + '71.0.3578.125', + '73.0.3665.4', + '73.0.3665.3', + '72.0.3626.52', + '73.0.3665.2', + '73.0.3664.4', + '73.0.3665.1', + '73.0.3665.0', + '72.0.3626.51', + '71.0.3578.124', + '72.0.3626.50', + '73.0.3664.3', + '73.0.3664.2', + '73.0.3664.1', + '73.0.3664.0', + '73.0.3663.2', + '72.0.3626.49', + '71.0.3578.123', + '73.0.3663.1', + '73.0.3663.0', + '72.0.3626.48', + '71.0.3578.122', + '73.0.3662.1', + '73.0.3662.0', + '72.0.3626.47', + '71.0.3578.121', + '73.0.3661.1', + '72.0.3626.46', + '73.0.3661.0', + '72.0.3626.45', + '71.0.3578.120', + '73.0.3660.2', + '73.0.3660.1', + '73.0.3660.0', + '72.0.3626.44', + '71.0.3578.119', + '73.0.3659.1', + '73.0.3659.0', + '72.0.3626.43', + '71.0.3578.118', + '73.0.3658.1', + '73.0.3658.0', + '72.0.3626.42', + '71.0.3578.117', + '73.0.3657.1', + '73.0.3657.0', + '72.0.3626.41', + '71.0.3578.116', + '73.0.3656.1', + '73.0.3656.0', + '72.0.3626.40', + '71.0.3578.115', + '73.0.3655.1', + '73.0.3655.0', + '72.0.3626.39', + '71.0.3578.114', + '73.0.3654.1', + '73.0.3654.0', + '72.0.3626.38', + '71.0.3578.113', + '73.0.3653.1', + '73.0.3653.0', + '72.0.3626.37', + '71.0.3578.112', + '73.0.3652.1', + '73.0.3652.0', + '72.0.3626.36', + '71.0.3578.111', + '73.0.3651.1', + '73.0.3651.0', + '72.0.3626.35', + '71.0.3578.110', + '73.0.3650.1', + '73.0.3650.0', + '72.0.3626.34', + '71.0.3578.109', + '73.0.3649.1', + '73.0.3649.0', + '72.0.3626.33', + '71.0.3578.108', + '73.0.3648.2', + '73.0.3648.1', + '73.0.3648.0', + '72.0.3626.32', + '71.0.3578.107', + '73.0.3647.2', + '73.0.3647.1', + '73.0.3647.0', + '72.0.3626.31', + '71.0.3578.106', + '73.0.3635.3', + '73.0.3646.2', + '73.0.3646.1', + '73.0.3646.0', + '72.0.3626.30', + '71.0.3578.105', + '72.0.3626.29', + '73.0.3645.2', + '73.0.3645.1', + '73.0.3645.0', + '72.0.3626.28', + '71.0.3578.104', + '72.0.3626.27', + '72.0.3626.26', + '72.0.3626.25', + '72.0.3626.24', + '73.0.3644.0', + '73.0.3643.2', + '72.0.3626.23', + '71.0.3578.103', + '73.0.3643.1', + '73.0.3643.0', + '72.0.3626.22', + '71.0.3578.102', + '73.0.3642.1', + '73.0.3642.0', + '72.0.3626.21', + '71.0.3578.101', + '73.0.3641.1', + '73.0.3641.0', + '72.0.3626.20', + '71.0.3578.100', + '72.0.3626.19', + '73.0.3640.1', + '73.0.3640.0', + '72.0.3626.18', + '73.0.3639.1', + '71.0.3578.99', + '73.0.3639.0', + '72.0.3626.17', + '73.0.3638.2', + '72.0.3626.16', + '73.0.3638.1', + '73.0.3638.0', + '72.0.3626.15', + '71.0.3578.98', + '73.0.3635.2', + '71.0.3578.97', + '73.0.3637.1', + '73.0.3637.0', + '72.0.3626.14', + '71.0.3578.96', + '71.0.3578.95', + '72.0.3626.13', + '71.0.3578.94', + '73.0.3636.2', + '71.0.3578.93', + '73.0.3636.1', + '73.0.3636.0', + '72.0.3626.12', + '71.0.3578.92', + '73.0.3635.1', + '73.0.3635.0', + '72.0.3626.11', + '71.0.3578.91', + '73.0.3634.2', + '73.0.3634.1', + '73.0.3634.0', + '72.0.3626.10', + '71.0.3578.90', + '71.0.3578.89', + '73.0.3633.2', + '73.0.3633.1', + '73.0.3633.0', + '72.0.3610.4', + '72.0.3626.9', + '71.0.3578.88', + '73.0.3632.5', + '73.0.3632.4', + '73.0.3632.3', + '73.0.3632.2', + '73.0.3632.1', + '73.0.3632.0', + '72.0.3626.8', + '71.0.3578.87', + '73.0.3631.2', + '73.0.3631.1', + '73.0.3631.0', + '72.0.3626.7', + '71.0.3578.86', + '72.0.3626.6', + '73.0.3630.1', + '73.0.3630.0', + '72.0.3626.5', + '71.0.3578.85', + '72.0.3626.4', + '73.0.3628.3', + '73.0.3628.2', + '73.0.3629.1', + '73.0.3629.0', + '72.0.3626.3', + '71.0.3578.84', + '73.0.3628.1', + '73.0.3628.0', + '71.0.3578.83', + '73.0.3627.1', + '73.0.3627.0', + '72.0.3626.2', + '71.0.3578.82', + '71.0.3578.81', + '71.0.3578.80', + '72.0.3626.1', + '72.0.3626.0', + '71.0.3578.79', + '70.0.3538.124', + '71.0.3578.78', + '72.0.3623.4', + '72.0.3625.2', + '72.0.3625.1', + '72.0.3625.0', + '71.0.3578.77', + '70.0.3538.123', + '72.0.3624.4', + '72.0.3624.3', + '72.0.3624.2', + '71.0.3578.76', + '72.0.3624.1', + '72.0.3624.0', + '72.0.3623.3', + '71.0.3578.75', + '70.0.3538.122', + '71.0.3578.74', + '72.0.3623.2', + '72.0.3610.3', + '72.0.3623.1', + '72.0.3623.0', + '72.0.3622.3', + '72.0.3622.2', + '71.0.3578.73', + '70.0.3538.121', + '72.0.3622.1', + '72.0.3622.0', + '71.0.3578.72', + '70.0.3538.120', + '72.0.3621.1', + '72.0.3621.0', + '71.0.3578.71', + '70.0.3538.119', + '72.0.3620.1', + '72.0.3620.0', + '71.0.3578.70', + '70.0.3538.118', + '71.0.3578.69', + '72.0.3619.1', + '72.0.3619.0', + '71.0.3578.68', + '70.0.3538.117', + '71.0.3578.67', + '72.0.3618.1', + '72.0.3618.0', + '71.0.3578.66', + '70.0.3538.116', + '72.0.3617.1', + '72.0.3617.0', + '71.0.3578.65', + '70.0.3538.115', + '72.0.3602.3', + '71.0.3578.64', + '72.0.3616.1', + '72.0.3616.0', + '71.0.3578.63', + '70.0.3538.114', + '71.0.3578.62', + '72.0.3615.1', + '72.0.3615.0', + '71.0.3578.61', + '70.0.3538.113', + '72.0.3614.1', + '72.0.3614.0', + '71.0.3578.60', + '70.0.3538.112', + '72.0.3613.1', + '72.0.3613.0', + '71.0.3578.59', + '70.0.3538.111', + '72.0.3612.2', + '72.0.3612.1', + '72.0.3612.0', + '70.0.3538.110', + '71.0.3578.58', + '70.0.3538.109', + '72.0.3611.2', + '72.0.3611.1', + '72.0.3611.0', + '71.0.3578.57', + '70.0.3538.108', + '72.0.3610.2', + '71.0.3578.56', + '71.0.3578.55', + '72.0.3610.1', + '72.0.3610.0', + '71.0.3578.54', + '70.0.3538.107', + '71.0.3578.53', + '72.0.3609.3', + '71.0.3578.52', + '72.0.3609.2', + '71.0.3578.51', + '72.0.3608.5', + '72.0.3609.1', + '72.0.3609.0', + '71.0.3578.50', + '70.0.3538.106', + '72.0.3608.4', + '72.0.3608.3', + '72.0.3608.2', + '71.0.3578.49', + '72.0.3608.1', + '72.0.3608.0', + '70.0.3538.105', + '71.0.3578.48', + '72.0.3607.1', + '72.0.3607.0', + '71.0.3578.47', + '70.0.3538.104', + '72.0.3606.2', + '72.0.3606.1', + '72.0.3606.0', + '71.0.3578.46', + '70.0.3538.103', + '70.0.3538.102', + '72.0.3605.3', + '72.0.3605.2', + '72.0.3605.1', + '72.0.3605.0', + '71.0.3578.45', + '70.0.3538.101', + '71.0.3578.44', + '71.0.3578.43', + '70.0.3538.100', + '70.0.3538.99', + '71.0.3578.42', + '72.0.3604.1', + '72.0.3604.0', + '71.0.3578.41', + '70.0.3538.98', + '71.0.3578.40', + '72.0.3603.2', + '72.0.3603.1', + '72.0.3603.0', + '71.0.3578.39', + '70.0.3538.97', + '72.0.3602.2', + '71.0.3578.38', + '71.0.3578.37', + '72.0.3602.1', + '72.0.3602.0', + '71.0.3578.36', + '70.0.3538.96', + '72.0.3601.1', + '72.0.3601.0', + '71.0.3578.35', + '70.0.3538.95', + '72.0.3600.1', + '72.0.3600.0', + '71.0.3578.34', + '70.0.3538.94', + '72.0.3599.3', + '72.0.3599.2', + '72.0.3599.1', + '72.0.3599.0', + '71.0.3578.33', + '70.0.3538.93', + '72.0.3598.1', + '72.0.3598.0', + '71.0.3578.32', + '70.0.3538.87', + '72.0.3597.1', + '72.0.3597.0', + '72.0.3596.2', + '71.0.3578.31', + '70.0.3538.86', + '71.0.3578.30', + '71.0.3578.29', + '72.0.3596.1', + '72.0.3596.0', + '71.0.3578.28', + '70.0.3538.85', + '72.0.3595.2', + '72.0.3591.3', + '72.0.3595.1', + '72.0.3595.0', + '71.0.3578.27', + '70.0.3538.84', + '72.0.3594.1', + '72.0.3594.0', + '71.0.3578.26', + '70.0.3538.83', + '72.0.3593.2', + '72.0.3593.1', + '72.0.3593.0', + '71.0.3578.25', + '70.0.3538.82', + '72.0.3589.3', + '72.0.3592.2', + '72.0.3592.1', + '72.0.3592.0', + '71.0.3578.24', + '72.0.3589.2', + '70.0.3538.81', + '70.0.3538.80', + '72.0.3591.2', + '72.0.3591.1', + '72.0.3591.0', + '71.0.3578.23', + '70.0.3538.79', + '71.0.3578.22', + '72.0.3590.1', + '72.0.3590.0', + '71.0.3578.21', + '70.0.3538.78', + '70.0.3538.77', + '72.0.3589.1', + '72.0.3589.0', + '71.0.3578.20', + '70.0.3538.76', + '71.0.3578.19', + '70.0.3538.75', + '72.0.3588.1', + '72.0.3588.0', + '71.0.3578.18', + '70.0.3538.74', + '72.0.3586.2', + '72.0.3587.0', + '71.0.3578.17', + '70.0.3538.73', + '72.0.3586.1', + '72.0.3586.0', + '71.0.3578.16', + '70.0.3538.72', + '72.0.3585.1', + '72.0.3585.0', + '71.0.3578.15', + '70.0.3538.71', + '71.0.3578.14', + '72.0.3584.1', + '72.0.3584.0', + '71.0.3578.13', + '70.0.3538.70', + '72.0.3583.2', + '71.0.3578.12', + '72.0.3583.1', + '72.0.3583.0', + '71.0.3578.11', + '70.0.3538.69', + '71.0.3578.10', + '72.0.3582.0', + '72.0.3581.4', + '71.0.3578.9', + '70.0.3538.67', + '72.0.3581.3', + '72.0.3581.2', + '72.0.3581.1', + '72.0.3581.0', + '71.0.3578.8', + '70.0.3538.66', + '72.0.3580.1', + '72.0.3580.0', + '71.0.3578.7', + '70.0.3538.65', + '71.0.3578.6', + '72.0.3579.1', + '72.0.3579.0', + '71.0.3578.5', + '70.0.3538.64', + '71.0.3578.4', + '71.0.3578.3', + '71.0.3578.2', + '71.0.3578.1', + '71.0.3578.0', + '70.0.3538.63', + '69.0.3497.128', + '70.0.3538.62', + '70.0.3538.61', + '70.0.3538.60', + '70.0.3538.59', + '71.0.3577.1', + '71.0.3577.0', + '70.0.3538.58', + '69.0.3497.127', + '71.0.3576.2', + '71.0.3576.1', + '71.0.3576.0', + '70.0.3538.57', + '70.0.3538.56', + '71.0.3575.2', + '70.0.3538.55', + '69.0.3497.126', + '70.0.3538.54', + '71.0.3575.1', + '71.0.3575.0', + '71.0.3574.1', + '71.0.3574.0', + '70.0.3538.53', + '69.0.3497.125', + '70.0.3538.52', + '71.0.3573.1', + '71.0.3573.0', + '70.0.3538.51', + '69.0.3497.124', + '71.0.3572.1', + '71.0.3572.0', + '70.0.3538.50', + '69.0.3497.123', + '71.0.3571.2', + '70.0.3538.49', + '69.0.3497.122', + '71.0.3571.1', + '71.0.3571.0', + '70.0.3538.48', + '69.0.3497.121', + '71.0.3570.1', + '71.0.3570.0', + '70.0.3538.47', + '69.0.3497.120', + '71.0.3568.2', + '71.0.3569.1', + '71.0.3569.0', + '70.0.3538.46', + '69.0.3497.119', + '70.0.3538.45', + '71.0.3568.1', + '71.0.3568.0', + '70.0.3538.44', + '69.0.3497.118', + '70.0.3538.43', + '70.0.3538.42', + '71.0.3567.1', + '71.0.3567.0', + '70.0.3538.41', + '69.0.3497.117', + '71.0.3566.1', + '71.0.3566.0', + '70.0.3538.40', + '69.0.3497.116', + '71.0.3565.1', + '71.0.3565.0', + '70.0.3538.39', + '69.0.3497.115', + '71.0.3564.1', + '71.0.3564.0', + '70.0.3538.38', + '69.0.3497.114', + '71.0.3563.0', + '71.0.3562.2', + '70.0.3538.37', + '69.0.3497.113', + '70.0.3538.36', + '70.0.3538.35', + '71.0.3562.1', + '71.0.3562.0', + '70.0.3538.34', + '69.0.3497.112', + '70.0.3538.33', + '71.0.3561.1', + '71.0.3561.0', + '70.0.3538.32', + '69.0.3497.111', + '71.0.3559.6', + '71.0.3560.1', + '71.0.3560.0', + '71.0.3559.5', + '71.0.3559.4', + '70.0.3538.31', + '69.0.3497.110', + '71.0.3559.3', + '70.0.3538.30', + '69.0.3497.109', + '71.0.3559.2', + '71.0.3559.1', + '71.0.3559.0', + '70.0.3538.29', + '69.0.3497.108', + '71.0.3558.2', + '71.0.3558.1', + '71.0.3558.0', + '70.0.3538.28', + '69.0.3497.107', + '71.0.3557.2', + '71.0.3557.1', + '71.0.3557.0', + '70.0.3538.27', + '69.0.3497.106', + '71.0.3554.4', + '70.0.3538.26', + '71.0.3556.1', + '71.0.3556.0', + '70.0.3538.25', + '71.0.3554.3', + '69.0.3497.105', + '71.0.3554.2', + '70.0.3538.24', + '69.0.3497.104', + '71.0.3555.2', + '70.0.3538.23', + '71.0.3555.1', + '71.0.3555.0', + '70.0.3538.22', + '69.0.3497.103', + '71.0.3554.1', + '71.0.3554.0', + '70.0.3538.21', + '69.0.3497.102', + '71.0.3553.3', + '70.0.3538.20', + '69.0.3497.101', + '71.0.3553.2', + '69.0.3497.100', + '71.0.3553.1', + '71.0.3553.0', + '70.0.3538.19', + '69.0.3497.99', + '69.0.3497.98', + '69.0.3497.97', + '71.0.3552.6', + '71.0.3552.5', + '71.0.3552.4', + '71.0.3552.3', + '71.0.3552.2', + '71.0.3552.1', + '71.0.3552.0', + '70.0.3538.18', + '69.0.3497.96', + '71.0.3551.3', + '71.0.3551.2', + '71.0.3551.1', + '71.0.3551.0', + '70.0.3538.17', + '69.0.3497.95', + '71.0.3550.3', + '71.0.3550.2', + '71.0.3550.1', + '71.0.3550.0', + '70.0.3538.16', + '69.0.3497.94', + '71.0.3549.1', + '71.0.3549.0', + '70.0.3538.15', + '69.0.3497.93', + '69.0.3497.92', + '71.0.3548.1', + '71.0.3548.0', + '70.0.3538.14', + '69.0.3497.91', + '71.0.3547.1', + '71.0.3547.0', + '70.0.3538.13', + '69.0.3497.90', + '71.0.3546.2', + '69.0.3497.89', + '71.0.3546.1', + '71.0.3546.0', + '70.0.3538.12', + '69.0.3497.88', + '71.0.3545.4', + '71.0.3545.3', + '71.0.3545.2', + '71.0.3545.1', + '71.0.3545.0', + '70.0.3538.11', + '69.0.3497.87', + '71.0.3544.5', + '71.0.3544.4', + '71.0.3544.3', + '71.0.3544.2', + '71.0.3544.1', + '71.0.3544.0', + '69.0.3497.86', + '70.0.3538.10', + '69.0.3497.85', + '70.0.3538.9', + '69.0.3497.84', + '71.0.3543.4', + '70.0.3538.8', + '71.0.3543.3', + '71.0.3543.2', + '71.0.3543.1', + '71.0.3543.0', + '70.0.3538.7', + '69.0.3497.83', + '71.0.3542.2', + '71.0.3542.1', + '71.0.3542.0', + '70.0.3538.6', + '69.0.3497.82', + '69.0.3497.81', + '71.0.3541.1', + '71.0.3541.0', + '70.0.3538.5', + '69.0.3497.80', + '71.0.3540.1', + '71.0.3540.0', + '70.0.3538.4', + '69.0.3497.79', + '70.0.3538.3', + '71.0.3539.1', + '71.0.3539.0', + '69.0.3497.78', + '68.0.3440.134', + '69.0.3497.77', + '70.0.3538.2', + '70.0.3538.1', + '70.0.3538.0', + '69.0.3497.76', + '68.0.3440.133', + '69.0.3497.75', + '70.0.3537.2', + '70.0.3537.1', + '70.0.3537.0', + '69.0.3497.74', + '68.0.3440.132', + '70.0.3536.0', + '70.0.3535.5', + '70.0.3535.4', + '70.0.3535.3', + '69.0.3497.73', + '68.0.3440.131', + '70.0.3532.8', + '70.0.3532.7', + '69.0.3497.72', + '69.0.3497.71', + '70.0.3535.2', + '70.0.3535.1', + '70.0.3535.0', + '69.0.3497.70', + '68.0.3440.130', + '69.0.3497.69', + '68.0.3440.129', + '70.0.3534.4', + '70.0.3534.3', + '70.0.3534.2', + '70.0.3534.1', + '70.0.3534.0', + '69.0.3497.68', + '68.0.3440.128', + '70.0.3533.2', + '70.0.3533.1', + '70.0.3533.0', + '69.0.3497.67', + '68.0.3440.127', + '70.0.3532.6', + '70.0.3532.5', + '70.0.3532.4', + '69.0.3497.66', + '68.0.3440.126', + '70.0.3532.3', + '70.0.3532.2', + '70.0.3532.1', + '69.0.3497.60', + '69.0.3497.65', + '69.0.3497.64', + '70.0.3532.0', + '70.0.3531.0', + '70.0.3530.4', + '70.0.3530.3', + '70.0.3530.2', + '69.0.3497.58', + '68.0.3440.125', + '69.0.3497.57', + '69.0.3497.56', + '69.0.3497.55', + '69.0.3497.54', + '70.0.3530.1', + '70.0.3530.0', + '69.0.3497.53', + '68.0.3440.124', + '69.0.3497.52', + '70.0.3529.3', + '70.0.3529.2', + '70.0.3529.1', + '70.0.3529.0', + '69.0.3497.51', + '70.0.3528.4', + '68.0.3440.123', + '70.0.3528.3', + '70.0.3528.2', + '70.0.3528.1', + '70.0.3528.0', + '69.0.3497.50', + '68.0.3440.122', + '70.0.3527.1', + '70.0.3527.0', + '69.0.3497.49', + '68.0.3440.121', + '70.0.3526.1', + '70.0.3526.0', + '68.0.3440.120', + '69.0.3497.48', + '69.0.3497.47', + '68.0.3440.119', + '68.0.3440.118', + '70.0.3525.5', + '70.0.3525.4', + '70.0.3525.3', + '68.0.3440.117', + '69.0.3497.46', + '70.0.3525.2', + '70.0.3525.1', + '70.0.3525.0', + '69.0.3497.45', + '68.0.3440.116', + '70.0.3524.4', + '70.0.3524.3', + '69.0.3497.44', + '70.0.3524.2', + '70.0.3524.1', + '70.0.3524.0', + '70.0.3523.2', + '69.0.3497.43', + '68.0.3440.115', + '70.0.3505.9', + '69.0.3497.42', + '70.0.3505.8', + '70.0.3523.1', + '70.0.3523.0', + '69.0.3497.41', + '68.0.3440.114', + '70.0.3505.7', + '69.0.3497.40', + '70.0.3522.1', + '70.0.3522.0', + '70.0.3521.2', + '69.0.3497.39', + '68.0.3440.113', + '70.0.3505.6', + '70.0.3521.1', + '70.0.3521.0', + '69.0.3497.38', + '68.0.3440.112', + '70.0.3520.1', + '70.0.3520.0', + '69.0.3497.37', + '68.0.3440.111', + '70.0.3519.3', + '70.0.3519.2', + '70.0.3519.1', + '70.0.3519.0', + '69.0.3497.36', + '68.0.3440.110', + '70.0.3518.1', + '70.0.3518.0', + '69.0.3497.35', + '69.0.3497.34', + '68.0.3440.109', + '70.0.3517.1', + '70.0.3517.0', + '69.0.3497.33', + '68.0.3440.108', + '69.0.3497.32', + '70.0.3516.3', + '70.0.3516.2', + '70.0.3516.1', + '70.0.3516.0', + '69.0.3497.31', + '68.0.3440.107', + '70.0.3515.4', + '68.0.3440.106', + '70.0.3515.3', + '70.0.3515.2', + '70.0.3515.1', + '70.0.3515.0', + '69.0.3497.30', + '68.0.3440.105', + '68.0.3440.104', + '70.0.3514.2', + '70.0.3514.1', + '70.0.3514.0', + '69.0.3497.29', + '68.0.3440.103', + '70.0.3513.1', + '70.0.3513.0', + '69.0.3497.28', + ) - @staticmethod - def _extract_urls(webpage): + @classmethod + def _extract_urls(cls, webpage): return re.findall( - r'<iframe[^>]+src=["\']((?:https?://)?(?:openload\.(?:co|io)|oload\.tv)/embed/[a-zA-Z0-9-_]+)', - webpage) + r'<iframe[^>]+src=["\']((?:https?://)?%s/%s/[a-zA-Z0-9-_]+)' + % (cls._DOMAINS, cls._EMBED_WORD), webpage) + + def _extract_decrypted_page(self, page_url, webpage, video_id, headers): + phantom = PhantomJSwrapper(self, required_version='2.0') + webpage, _ = phantom.get(page_url, html=webpage, video_id=video_id, headers=headers) + return webpage def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) @@ -351,12 +1975,12 @@ class OpenloadIE(InfoExtractor): url_pattern = 'https://%s/%%s/%s/' % (host, video_id) headers = { - 'User-Agent': self._USER_AGENT, + 'User-Agent': self._USER_AGENT_TPL % random.choice(self._CHROME_VERSIONS), } - for path in ('embed', 'f'): + for path in (self._EMBED_WORD, self._STREAM_WORD): page_url = url_pattern % path - last = path == 'f' + last = path == self._STREAM_WORD webpage = self._download_webpage( page_url, video_id, 'Downloading %s webpage' % path, headers=headers, fatal=last) @@ -368,21 +1992,20 @@ class OpenloadIE(InfoExtractor): raise ExtractorError('File not found', expected=True, video_id=video_id) break - phantom = PhantomJSwrapper(self, required_version='2.0') - webpage, _ = phantom.get(page_url, html=webpage, video_id=video_id, headers=headers) - - decoded_id = (get_element_by_id('streamurl', webpage) or - get_element_by_id('streamuri', webpage) or - get_element_by_id('streamurj', webpage) or - self._search_regex( - (r'>\s*([\w-]+~\d{10,}~\d+\.\d+\.0\.0~[\w-]+)\s*<', - r'>\s*([\w~-]+~\d+\.\d+\.\d+\.\d+~[\w~-]+)', - r'>\s*([\w-]+~\d{10,}~(?:[a-f\d]+:){2}:~[\w-]+)\s*<', - r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)\s*<', - r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)'), webpage, - 'stream URL')) - - video_url = 'https://%s/stream/%s?mime=true' % (host, decoded_id) + webpage = self._extract_decrypted_page(page_url, webpage, video_id, headers) + for element_id in self._URL_IDS: + decoded_id = get_element_by_id(element_id, webpage) + if decoded_id: + break + if not decoded_id: + decoded_id = self._search_regex( + (r'>\s*([\w-]+~\d{10,}~\d+\.\d+\.0\.0~[\w-]+)\s*<', + r'>\s*([\w~-]+~\d+\.\d+\.\d+\.\d+~[\w~-]+)', + r'>\s*([\w-]+~\d{10,}~(?:[a-f\d]+:){2}:~[\w-]+)\s*<', + r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)\s*<', + r'>\s*([\w~-]+~[a-f0-9:]+~[\w~-]+)'), webpage, + 'stream URL') + video_url = 'https://%s/%s/%s?mime=true' % (host, self._REDIR_WORD, decoded_id) title = self._og_search_title(webpage, default=None) or self._search_regex( r'<span[^>]+class=["\']title["\'][^>]*>([^<]+)', webpage, @@ -402,3 +2025,38 @@ class OpenloadIE(InfoExtractor): 'subtitles': subtitles, 'http_headers': headers, } + + +class VerystreamIE(OpenloadIE): + IE_NAME = 'verystream' + + _DOMAINS = r'(?:verystream\.com)' + _VALID_URL = r'''(?x) + https?:// + (?P<host> + (?:www\.)? + %s + )/ + (?:stream|e)/ + (?P<id>[a-zA-Z0-9-_]+) + ''' % _DOMAINS + _EMBED_WORD = 'e' + _STREAM_WORD = 'stream' + _REDIR_WORD = 'gettoken' + _URL_IDS = ('videolink', ) + _TESTS = [{ + 'url': 'https://verystream.com/stream/c1GWQ9ngBBx/', + 'md5': 'd3e8c5628ccb9970b65fd65269886795', + 'info_dict': { + 'id': 'c1GWQ9ngBBx', + 'ext': 'mp4', + 'title': 'Big Buck Bunny.mp4', + 'thumbnail': r're:^https?://.*\.jpg$', + }, + }, { + 'url': 'https://verystream.com/e/c1GWQ9ngBBx/', + 'only_matching': True, + }] + + def _extract_decrypted_page(self, page_url, webpage, video_id, headers): + return webpage # for Verystream, the webpage is already decrypted diff --git a/youtube_dl/extractor/orf.py b/youtube_dl/extractor/orf.py index d432e34..499be00 100644 --- a/youtube_dl/extractor/orf.py +++ b/youtube_dl/extractor/orf.py @@ -176,7 +176,8 @@ class ORFRadioIE(InfoExtractor): 'description': subtitle, 'duration': (info['end'] - info['start']) / 1000, 'timestamp': info['start'] / 1000, - 'ext': 'mp3' + 'ext': 'mp3', + 'series': data.get('programTitle') } entries = [extract_entry_dict(t, data['title'], data['subtitle']) for t in data['streams']] diff --git a/youtube_dl/extractor/pandatv.py b/youtube_dl/extractor/pandatv.py index 13a2e7e..4219802 100644 --- a/youtube_dl/extractor/pandatv.py +++ b/youtube_dl/extractor/pandatv.py @@ -36,7 +36,7 @@ class PandaTVIE(InfoExtractor): 'https://www.panda.tv/api_room_v2?roomid=%s' % video_id, video_id) error_code = config.get('errno', 0) - if error_code is not 0: + if error_code != 0: raise ExtractorError( '%s returned error %s: %s' % (self.IE_NAME, error_code, config['errmsg']), diff --git a/youtube_dl/extractor/pbs.py b/youtube_dl/extractor/pbs.py index 80340f5..4dbe661 100644 --- a/youtube_dl/extractor/pbs.py +++ b/youtube_dl/extractor/pbs.py @@ -305,7 +305,7 @@ class PBSIE(InfoExtractor): { # Video embedded in iframe containing angle brackets as attribute's value (e.g. # "<iframe style='position: absolute;<br />\ntop: 0; left: 0;' ...", see - # https://github.com/rg3/youtube-dl/issues/7059) + # https://github.com/ytdl-org/youtube-dl/issues/7059) 'url': 'http://www.pbs.org/food/features/a-chefs-life-season-3-episode-5-prickly-business/', 'md5': '59b0ef5009f9ac8a319cc5efebcd865e', 'info_dict': { @@ -348,7 +348,7 @@ class PBSIE(InfoExtractor): }, }, { - # https://github.com/rg3/youtube-dl/issues/13801 + # https://github.com/ytdl-org/youtube-dl/issues/13801 'url': 'https://www.pbs.org/video/pbs-newshour-full-episode-july-31-2017-1501539057/', 'info_dict': { 'id': '3003333873', @@ -642,7 +642,7 @@ class PBSIE(InfoExtractor): # we won't try extracting them. # Since summer 2016 higher quality formats (4500k and 6500k) are also available # albeit they are not documented in [2]. - # 1. https://github.com/rg3/youtube-dl/commit/cbc032c8b70a038a69259378c92b4ba97b42d491#commitcomment-17313656 + # 1. https://github.com/ytdl-org/youtube-dl/commit/cbc032c8b70a038a69259378c92b4ba97b42d491#commitcomment-17313656 # 2. https://projects.pbs.org/confluence/display/coveapi/COVE+Video+Specifications if not bitrate or int(bitrate) < 400: continue diff --git a/youtube_dl/extractor/periscope.py b/youtube_dl/extractor/periscope.py index 8afe541..b337a56 100644 --- a/youtube_dl/extractor/periscope.py +++ b/youtube_dl/extractor/periscope.py @@ -5,6 +5,7 @@ import re from .common import InfoExtractor from ..utils import ( + int_or_none, parse_iso8601, unescapeHTML, ) @@ -75,6 +76,14 @@ class PeriscopeIE(PeriscopeBaseIE): 'url': broadcast[image], } for image in ('image_url', 'image_url_small') if broadcast.get(image)] + width = int_or_none(broadcast.get('width')) + height = int_or_none(broadcast.get('height')) + + def add_width_and_height(f): + for key, val in (('width', width), ('height', height)): + if not f.get(key): + f[key] = val + video_urls = set() formats = [] for format_id in ('replay', 'rtmp', 'hls', 'https_hls', 'lhls', 'lhlsweb'): @@ -83,16 +92,21 @@ class PeriscopeIE(PeriscopeBaseIE): continue video_urls.add(video_url) if format_id != 'rtmp': - formats.extend(self._extract_m3u8_formats( + m3u8_formats = self._extract_m3u8_formats( video_url, token, 'mp4', entry_protocol='m3u8_native' if state in ('ended', 'timed_out') else 'm3u8', - m3u8_id=format_id, fatal=False)) + m3u8_id=format_id, fatal=False) + if len(m3u8_formats) == 1: + add_width_and_height(m3u8_formats[0]) + formats.extend(m3u8_formats) continue - formats.append({ + rtmp_format = { 'url': video_url, 'ext': 'flv' if format_id == 'rtmp' else 'mp4', - }) + } + add_width_and_height(rtmp_format) + formats.append(rtmp_format) self._sort_formats(formats) return { diff --git a/youtube_dl/extractor/platzi.py b/youtube_dl/extractor/platzi.py new file mode 100644 index 0000000..557b2b5 --- /dev/null +++ b/youtube_dl/extractor/platzi.py @@ -0,0 +1,217 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..compat import ( + compat_b64decode, + compat_str, +) +from ..utils import ( + clean_html, + ExtractorError, + int_or_none, + str_or_none, + try_get, + url_or_none, + urlencode_postdata, + urljoin, +) + + +class PlatziIE(InfoExtractor): + _VALID_URL = r'''(?x) + https?:// + (?: + platzi\.com/clases| # es version + courses\.platzi\.com/classes # en version + )/[^/]+/(?P<id>\d+)-[^/?\#&]+ + ''' + _LOGIN_URL = 'https://platzi.com/login/' + _NETRC_MACHINE = 'platzi' + + _TESTS = [{ + 'url': 'https://platzi.com/clases/1311-next-js/12074-creando-nuestra-primera-pagina/', + 'md5': '8f56448241005b561c10f11a595b37e3', + 'info_dict': { + 'id': '12074', + 'ext': 'mp4', + 'title': 'Creando nuestra primera página', + 'description': 'md5:4c866e45034fc76412fbf6e60ae008bc', + 'duration': 420, + }, + 'skip': 'Requires platzi account credentials', + }, { + 'url': 'https://courses.platzi.com/classes/1367-communication-codestream/13430-background/', + 'info_dict': { + 'id': '13430', + 'ext': 'mp4', + 'title': 'Background', + 'description': 'md5:49c83c09404b15e6e71defaf87f6b305', + 'duration': 360, + }, + 'skip': 'Requires platzi account credentials', + 'params': { + 'skip_download': True, + }, + }] + + def _real_initialize(self): + self._login() + + def _login(self): + username, password = self._get_login_info() + if username is None: + return + + login_page = self._download_webpage( + self._LOGIN_URL, None, 'Downloading login page') + + login_form = self._hidden_inputs(login_page) + + login_form.update({ + 'email': username, + 'password': password, + }) + + urlh = self._request_webpage( + self._LOGIN_URL, None, 'Logging in', + data=urlencode_postdata(login_form), + headers={'Referer': self._LOGIN_URL}) + + # login succeeded + if 'platzi.com/login' not in compat_str(urlh.geturl()): + return + + login_error = self._webpage_read_content( + urlh, self._LOGIN_URL, None, 'Downloading login error page') + + login = self._parse_json( + self._search_regex( + r'login\s*=\s*({.+?})(?:\s*;|\s*</script)', login_error, 'login'), + None) + + for kind in ('error', 'password', 'nonFields'): + error = str_or_none(login.get('%sError' % kind)) + if error: + raise ExtractorError( + 'Unable to login: %s' % error, expected=True) + raise ExtractorError('Unable to log in') + + def _real_extract(self, url): + lecture_id = self._match_id(url) + + webpage = self._download_webpage(url, lecture_id) + + data = self._parse_json( + self._search_regex( + r'client_data\s*=\s*({.+?})\s*;', webpage, 'client data'), + lecture_id) + + material = data['initialState']['material'] + desc = material['description'] + title = desc['title'] + + formats = [] + for server_id, server in material['videos'].items(): + if not isinstance(server, dict): + continue + for format_id in ('hls', 'dash'): + format_url = url_or_none(server.get(format_id)) + if not format_url: + continue + if format_id == 'hls': + formats.extend(self._extract_m3u8_formats( + format_url, lecture_id, 'mp4', + entry_protocol='m3u8_native', m3u8_id=format_id, + note='Downloading %s m3u8 information' % server_id, + fatal=False)) + elif format_id == 'dash': + formats.extend(self._extract_mpd_formats( + format_url, lecture_id, mpd_id=format_id, + note='Downloading %s MPD manifest' % server_id, + fatal=False)) + self._sort_formats(formats) + + content = str_or_none(desc.get('content')) + description = (clean_html(compat_b64decode(content).decode('utf-8')) + if content else None) + duration = int_or_none(material.get('duration'), invscale=60) + + return { + 'id': lecture_id, + 'title': title, + 'description': description, + 'duration': duration, + 'formats': formats, + } + + +class PlatziCourseIE(InfoExtractor): + _VALID_URL = r'''(?x) + https?:// + (?: + platzi\.com/clases| # es version + courses\.platzi\.com/classes # en version + )/(?P<id>[^/?\#&]+) + ''' + _TESTS = [{ + 'url': 'https://platzi.com/clases/next-js/', + 'info_dict': { + 'id': '1311', + 'title': 'Curso de Next.js', + }, + 'playlist_count': 22, + }, { + 'url': 'https://courses.platzi.com/classes/communication-codestream/', + 'info_dict': { + 'id': '1367', + 'title': 'Codestream Course', + }, + 'playlist_count': 14, + }] + + @classmethod + def suitable(cls, url): + return False if PlatziIE.suitable(url) else super(PlatziCourseIE, cls).suitable(url) + + def _real_extract(self, url): + course_name = self._match_id(url) + + webpage = self._download_webpage(url, course_name) + + props = self._parse_json( + self._search_regex(r'data\s*=\s*({.+?})\s*;', webpage, 'data'), + course_name)['initialProps'] + + entries = [] + for chapter_num, chapter in enumerate(props['concepts'], 1): + if not isinstance(chapter, dict): + continue + materials = chapter.get('materials') + if not materials or not isinstance(materials, list): + continue + chapter_title = chapter.get('title') + chapter_id = str_or_none(chapter.get('id')) + for material in materials: + if not isinstance(material, dict): + continue + if material.get('material_type') != 'video': + continue + video_url = urljoin(url, material.get('url')) + if not video_url: + continue + entries.append({ + '_type': 'url_transparent', + 'url': video_url, + 'title': str_or_none(material.get('name')), + 'id': str_or_none(material.get('id')), + 'ie_key': PlatziIE.ie_key(), + 'chapter': chapter_title, + 'chapter_number': chapter_num, + 'chapter_id': chapter_id, + }) + + course_id = compat_str(try_get(props, lambda x: x['course']['id'])) + course_title = try_get(props, lambda x: x['course']['name'], compat_str) + + return self.playlist_result(entries, course_id, course_title) diff --git a/youtube_dl/extractor/pluralsight.py b/youtube_dl/extractor/pluralsight.py index eafe568..abd08bc 100644 --- a/youtube_dl/extractor/pluralsight.py +++ b/youtube_dl/extractor/pluralsight.py @@ -327,7 +327,7 @@ query viewClip { ) # Some courses also offer widescreen resolution for high quality (see - # https://github.com/rg3/youtube-dl/issues/7766) + # https://github.com/ytdl-org/youtube-dl/issues/7766) widescreen = course.get('supportsWideScreenVideoFormats') is True best_quality = 'high-widescreen' if widescreen else 'high' if widescreen: @@ -388,8 +388,8 @@ query viewClip { # Pluralsight tracks multiple sequential calls to ViewClip API and start # to return 429 HTTP errors after some time (see - # https://github.com/rg3/youtube-dl/pull/6989). Moreover it may even lead - # to account ban (see https://github.com/rg3/youtube-dl/issues/6842). + # https://github.com/ytdl-org/youtube-dl/pull/6989). Moreover it may even lead + # to account ban (see https://github.com/ytdl-org/youtube-dl/issues/6842). # To somewhat reduce the probability of these consequences # we will sleep random amount of time before each call to ViewClip. self._sleep( diff --git a/youtube_dl/extractor/podomatic.py b/youtube_dl/extractor/podomatic.py index 25fcebf..e782e3f 100644 --- a/youtube_dl/extractor/podomatic.py +++ b/youtube_dl/extractor/podomatic.py @@ -50,8 +50,8 @@ class PodomaticIE(InfoExtractor): video_id = mobj.group('id') channel = mobj.group('channel') or mobj.group('channel_2') - json_url = (('%s://%s.podomatic.com/entry/embed_params/%s' + - '?permalink=true&rtmp=0') % + json_url = (('%s://%s.podomatic.com/entry/embed_params/%s' + + '?permalink=true&rtmp=0') % (mobj.group('proto'), channel, video_id)) data_json = self._download_webpage( json_url, video_id, 'Downloading video info') diff --git a/youtube_dl/extractor/pornflip.py b/youtube_dl/extractor/pornflip.py deleted file mode 100644 index 025985f..0000000 --- a/youtube_dl/extractor/pornflip.py +++ /dev/null @@ -1,101 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -from .common import InfoExtractor -from ..compat import ( - compat_parse_qs, - compat_str, -) -from ..utils import ( - int_or_none, - try_get, - unified_timestamp, -) - - -class PornFlipIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?pornflip\.com/(?:v|embed)/(?P<id>[^/?#&]+)' - _TESTS = [{ - 'url': 'https://www.pornflip.com/v/wz7DfNhMmep', - 'md5': '98c46639849145ae1fd77af532a9278c', - 'info_dict': { - 'id': 'wz7DfNhMmep', - 'ext': 'mp4', - 'title': '2 Amateurs swallow make his dream cumshots true', - 'thumbnail': r're:^https?://.*\.jpg$', - 'duration': 112, - 'timestamp': 1481655502, - 'upload_date': '20161213', - 'uploader_id': '106786', - 'uploader': 'figifoto', - 'view_count': int, - 'age_limit': 18, - } - }, { - 'url': 'https://www.pornflip.com/embed/wz7DfNhMmep', - 'only_matching': True, - }, { - 'url': 'https://www.pornflip.com/v/EkRD6-vS2-s', - 'only_matching': True, - }, { - 'url': 'https://www.pornflip.com/embed/EkRD6-vS2-s', - 'only_matching': True, - }, { - 'url': 'https://www.pornflip.com/v/NG9q6Pb_iK8', - 'only_matching': True, - }] - - def _real_extract(self, url): - video_id = self._match_id(url) - - webpage = self._download_webpage( - 'https://www.pornflip.com/v/%s' % video_id, video_id) - - flashvars = compat_parse_qs(self._search_regex( - r'<embed[^>]+flashvars=(["\'])(?P<flashvars>(?:(?!\1).)+)\1', - webpage, 'flashvars', group='flashvars')) - - title = flashvars['video_vars[title]'][0] - - def flashvar(kind): - return try_get( - flashvars, lambda x: x['video_vars[%s]' % kind][0], compat_str) - - formats = [] - for key, value in flashvars.items(): - if not (value and isinstance(value, list)): - continue - format_url = value[0] - if key == 'video_vars[hds_manifest]': - formats.extend(self._extract_mpd_formats( - format_url, video_id, mpd_id='dash', fatal=False)) - continue - height = self._search_regex( - r'video_vars\[video_urls\]\[(\d+)', key, 'height', default=None) - if not height: - continue - formats.append({ - 'url': format_url, - 'format_id': 'http-%s' % height, - 'height': int_or_none(height), - }) - self._sort_formats(formats) - - uploader = self._html_search_regex( - (r'<span[^>]+class="name"[^>]*>\s*<a[^>]+>\s*<strong>(?P<uploader>[^<]+)', - r'<meta[^>]+content=(["\'])[^>]*\buploaded by (?P<uploader>.+?)\1'), - webpage, 'uploader', fatal=False, group='uploader') - - return { - 'id': video_id, - 'formats': formats, - 'title': title, - 'thumbnail': flashvar('big_thumb'), - 'duration': int_or_none(flashvar('duration')), - 'timestamp': unified_timestamp(self._html_search_meta( - 'uploadDate', webpage, 'timestamp')), - 'uploader_id': flashvar('author_id'), - 'uploader': uploader, - 'view_count': int_or_none(flashvar('views')), - 'age_limit': 18, - } diff --git a/youtube_dl/extractor/pornhd.py b/youtube_dl/extractor/pornhd.py index b52879c..27d65d4 100644 --- a/youtube_dl/extractor/pornhd.py +++ b/youtube_dl/extractor/pornhd.py @@ -4,9 +4,11 @@ import re from .common import InfoExtractor from ..utils import ( + determine_ext, ExtractorError, int_or_none, js_to_json, + urljoin, ) @@ -14,7 +16,7 @@ class PornHdIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?pornhd\.com/(?:[a-z]{2,4}/)?videos/(?P<id>\d+)(?:/(?P<display_id>.+))?' _TESTS = [{ 'url': 'http://www.pornhd.com/videos/9864/selfie-restroom-masturbation-fun-with-chubby-cutie-hd-porn-video', - 'md5': 'c8b964b1f0a4b5f7f28ae3a5c9f86ad5', + 'md5': '87f1540746c1d32ec7a2305c12b96b25', 'info_dict': { 'id': '9864', 'display_id': 'selfie-restroom-masturbation-fun-with-chubby-cutie-hd-porn-video', @@ -23,6 +25,7 @@ class PornHdIE(InfoExtractor): 'description': 'md5:3748420395e03e31ac96857a8f125b2b', 'thumbnail': r're:^https?://.*\.jpg', 'view_count': int, + 'like_count': int, 'age_limit': 18, } }, { @@ -37,6 +40,7 @@ class PornHdIE(InfoExtractor): 'description': 'md5:8ff0523848ac2b8f9b065ba781ccf294', 'thumbnail': r're:^https?://.*\.jpg', 'view_count': int, + 'like_count': int, 'age_limit': 18, }, 'skip': 'Not available anymore', @@ -65,12 +69,14 @@ class PornHdIE(InfoExtractor): formats = [] for format_id, video_url in sources.items(): + video_url = urljoin(url, video_url) if not video_url: continue height = int_or_none(self._search_regex( r'^(\d+)[pP]', format_id, 'height', default=None)) formats.append({ 'url': video_url, + 'ext': determine_ext(video_url, 'mp4'), 'format_id': format_id, 'height': height, }) @@ -85,6 +91,11 @@ class PornHdIE(InfoExtractor): r"poster'?\s*:\s*([\"'])(?P<url>(?:(?!\1).)+)\1", webpage, 'thumbnail', fatal=False, group='url') + like_count = int_or_none(self._search_regex( + (r'(\d+)\s*</11[^>]+>(?: |\s)*\blikes', + r'class=["\']save-count["\'][^>]*>\s*(\d+)'), + webpage, 'like count', fatal=False)) + return { 'id': video_id, 'display_id': display_id, @@ -92,6 +103,7 @@ class PornHdIE(InfoExtractor): 'description': description, 'thumbnail': thumbnail, 'view_count': view_count, + 'like_count': like_count, 'formats': formats, 'age_limit': 18, } diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py index e377de1..cb59d52 100644 --- a/youtube_dl/extractor/pornhub.py +++ b/youtube_dl/extractor/pornhub.py @@ -10,11 +10,13 @@ from .common import InfoExtractor from ..compat import ( compat_HTTPError, compat_str, + compat_urllib_request, ) +from .openload import PhantomJSwrapper from ..utils import ( + determine_ext, ExtractorError, int_or_none, - js_to_json, orderedSet, remove_quotes, str_to_int, @@ -22,7 +24,29 @@ from ..utils import ( ) -class PornHubIE(InfoExtractor): +class PornHubBaseIE(InfoExtractor): + def _download_webpage_handle(self, *args, **kwargs): + def dl(*args, **kwargs): + return super(PornHubBaseIE, self)._download_webpage_handle(*args, **kwargs) + + webpage, urlh = dl(*args, **kwargs) + + if any(re.search(p, webpage) for p in ( + r'<body\b[^>]+\bonload=["\']go\(\)', + r'document\.cookie\s*=\s*["\']RNKEY=', + r'document\.location\.reload\(true\)')): + url_or_request = args[0] + url = (url_or_request.get_full_url() + if isinstance(url_or_request, compat_urllib_request.Request) + else url_or_request) + phantom = PhantomJSwrapper(self, required_version='2.0') + phantom.get(url, html=webpage) + webpage, urlh = dl(*args, **kwargs) + + return webpage, urlh + + +class PornHubIE(PornHubBaseIE): IE_DESC = 'PornHub and Thumbzilla' _VALID_URL = r'''(?x) https?:// @@ -146,7 +170,7 @@ class PornHubIE(InfoExtractor): def dl_webpage(platform): self._set_cookie(host, 'platform', platform) return self._download_webpage( - 'http://www.%s/view_video.php?viewkey=%s' % (host, video_id), + 'https://www.%s/view_video.php?viewkey=%s' % (host, video_id), video_id, 'Downloading %s webpage' % platform) webpage = dl_webpage('pc') @@ -252,6 +276,10 @@ class PornHubIE(InfoExtractor): r'/(\d{6}/\d{2})/', video_url, 'upload data', default=None) if upload_date: upload_date = upload_date.replace('/', '') + if determine_ext(video_url) == 'mpd': + formats.extend(self._extract_mpd_formats( + video_url, video_id, mpd_id='dash', fatal=False)) + continue tbr = None mobj = re.search(r'(?P<height>\d+)[pP]?_(?P<tbr>\d+)[kK]', video_url) if mobj: @@ -279,14 +307,12 @@ class PornHubIE(InfoExtractor): comment_count = self._extract_count( r'All Comments\s*<span>\(([\d,.]+)\)', webpage, 'comment') - page_params = self._parse_json(self._search_regex( - r'page_params\.zoneDetails\[([\'"])[^\'"]+\1\]\s*=\s*(?P<data>{[^}]+})', - webpage, 'page parameters', group='data', default='{}'), - video_id, transform_source=js_to_json, fatal=False) - tags = categories = None - if page_params: - tags = page_params.get('tags', '').split(',') - categories = page_params.get('categories', '').split(',') + def extract_list(meta_key): + div = self._search_regex( + r'(?s)<div[^>]+\bclass=["\'].*?\b%sWrapper[^>]*>(.+?)</div>' + % meta_key, webpage, meta_key, default=None) + if div: + return re.findall(r'<a[^>]+\bhref=[^>]+>([^<]+)', div) return { 'id': video_id, @@ -301,17 +327,17 @@ class PornHubIE(InfoExtractor): 'comment_count': comment_count, 'formats': formats, 'age_limit': 18, - 'tags': tags, - 'categories': categories, + 'tags': extract_list('tags'), + 'categories': extract_list('categories'), 'subtitles': subtitles, } -class PornHubPlaylistBaseIE(InfoExtractor): +class PornHubPlaylistBaseIE(PornHubBaseIE): def _extract_entries(self, webpage, host): # Only process container div with main playlist content skipping # drop-down menu that uses similar pattern for videos (see - # https://github.com/rg3/youtube-dl/issues/11594). + # https://github.com/ytdl-org/youtube-dl/issues/11594). container = self._search_regex( r'(?s)(<div[^>]+class=["\']container.+)', webpage, 'container', default=webpage) diff --git a/youtube_dl/extractor/primesharetv.py b/youtube_dl/extractor/primesharetv.py deleted file mode 100644 index 0c10247..0000000 --- a/youtube_dl/extractor/primesharetv.py +++ /dev/null @@ -1,62 +0,0 @@ -from __future__ import unicode_literals - -from .common import InfoExtractor -from ..utils import ( - ExtractorError, - sanitized_Request, - urlencode_postdata, -) - - -class PrimeShareTVIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?primeshare\.tv/download/(?P<id>[\da-zA-Z]+)' - - _TEST = { - 'url': 'http://primeshare.tv/download/238790B611', - 'md5': 'b92d9bf5461137c36228009f31533fbc', - 'info_dict': { - 'id': '238790B611', - 'ext': 'mp4', - 'title': 'Public Domain - 1960s Commercial - Crest Toothpaste-YKsuFona', - }, - } - - def _real_extract(self, url): - video_id = self._match_id(url) - - webpage = self._download_webpage(url, video_id) - - if '>File not exist<' in webpage: - raise ExtractorError('Video %s does not exist' % video_id, expected=True) - - fields = self._hidden_inputs(webpage) - - headers = { - 'Referer': url, - 'Content-Type': 'application/x-www-form-urlencoded', - } - - wait_time = int(self._search_regex( - r'var\s+cWaitTime\s*=\s*(\d+)', - webpage, 'wait time', default=7)) + 1 - self._sleep(wait_time, video_id) - - req = sanitized_Request( - url, urlencode_postdata(fields), headers) - video_page = self._download_webpage( - req, video_id, 'Downloading video page') - - video_url = self._search_regex( - r"url\s*:\s*'([^']+\.primeshare\.tv(?::443)?/file/[^']+)'", - video_page, 'video url') - - title = self._html_search_regex( - r'<h1>Watch\s*(?: )?\s*\((.+?)(?:\s*\[\.\.\.\])?\)\s*(?: )?\s*<strong>', - video_page, 'title') - - return { - 'id': video_id, - 'url': video_url, - 'title': title, - 'ext': 'mp4', - } diff --git a/youtube_dl/extractor/prosiebensat1.py b/youtube_dl/extractor/prosiebensat1.py index d0955d0..e19a470 100644 --- a/youtube_dl/extractor/prosiebensat1.py +++ b/youtube_dl/extractor/prosiebensat1.py @@ -16,6 +16,11 @@ from ..utils import ( class ProSiebenSat1BaseIE(InfoExtractor): + _GEO_COUNTRIES = ['DE'] + _ACCESS_ID = None + _SUPPORTED_PROTOCOLS = 'dash:clear,hls:clear,progressive:clear' + _V4_BASE_URL = 'https://vas-v4.p7s1video.net/4.0/get' + def _extract_video_info(self, url, clip_id): client_location = url @@ -31,93 +36,128 @@ class ProSiebenSat1BaseIE(InfoExtractor): if video.get('is_protected') is True: raise ExtractorError('This video is DRM protected.', expected=True) - duration = float_or_none(video.get('duration')) - source_ids = [compat_str(source['id']) for source in video['sources']] - - client_id = self._SALT[:2] + sha1(''.join([clip_id, self._SALT, self._TOKEN, client_location, self._SALT, self._CLIENT_NAME]).encode('utf-8')).hexdigest() - - sources = self._download_json( - 'http://vas.sim-technik.de/vas/live/v2/videos/%s/sources' % clip_id, - clip_id, 'Downloading sources JSON', query={ - 'access_token': self._TOKEN, - 'client_id': client_id, - 'client_location': client_location, - 'client_name': self._CLIENT_NAME, - }) - server_id = sources['server_id'] + formats = [] + if self._ACCESS_ID: + raw_ct = self._ENCRYPTION_KEY + clip_id + self._IV + self._ACCESS_ID + server_token = (self._download_json( + self._V4_BASE_URL + 'protocols', clip_id, + 'Downloading protocols JSON', + headers=self.geo_verification_headers(), query={ + 'access_id': self._ACCESS_ID, + 'client_token': sha1((raw_ct).encode()).hexdigest(), + 'video_id': clip_id, + }, fatal=False) or {}).get('server_token') + if server_token: + urls = (self._download_json( + self._V4_BASE_URL + 'urls', clip_id, 'Downloading urls JSON', query={ + 'access_id': self._ACCESS_ID, + 'client_token': sha1((raw_ct + server_token + self._SUPPORTED_PROTOCOLS).encode()).hexdigest(), + 'protocols': self._SUPPORTED_PROTOCOLS, + 'server_token': server_token, + 'video_id': clip_id, + }, fatal=False) or {}).get('urls') or {} + for protocol, variant in urls.items(): + source_url = variant.get('clear', {}).get('url') + if not source_url: + continue + if protocol == 'dash': + formats.extend(self._extract_mpd_formats( + source_url, clip_id, mpd_id=protocol, fatal=False)) + elif protocol == 'hls': + formats.extend(self._extract_m3u8_formats( + source_url, clip_id, 'mp4', 'm3u8_native', + m3u8_id=protocol, fatal=False)) + else: + formats.append({ + 'url': source_url, + 'format_id': protocol, + }) + if not formats: + source_ids = [compat_str(source['id']) for source in video['sources']] - def fix_bitrate(bitrate): - bitrate = int_or_none(bitrate) - if not bitrate: - return None - return (bitrate // 1000) if bitrate % 1000 == 0 else bitrate + client_id = self._SALT[:2] + sha1(''.join([clip_id, self._SALT, self._TOKEN, client_location, self._SALT, self._CLIENT_NAME]).encode('utf-8')).hexdigest() - formats = [] - for source_id in source_ids: - client_id = self._SALT[:2] + sha1(''.join([self._SALT, clip_id, self._TOKEN, server_id, client_location, source_id, self._SALT, self._CLIENT_NAME]).encode('utf-8')).hexdigest() - urls = self._download_json( - 'http://vas.sim-technik.de/vas/live/v2/videos/%s/sources/url' % clip_id, - clip_id, 'Downloading urls JSON', fatal=False, query={ + sources = self._download_json( + 'http://vas.sim-technik.de/vas/live/v2/videos/%s/sources' % clip_id, + clip_id, 'Downloading sources JSON', query={ 'access_token': self._TOKEN, 'client_id': client_id, 'client_location': client_location, 'client_name': self._CLIENT_NAME, - 'server_id': server_id, - 'source_ids': source_id, }) - if not urls: - continue - if urls.get('status_code') != 0: - raise ExtractorError('This video is unavailable', expected=True) - urls_sources = urls['sources'] - if isinstance(urls_sources, dict): - urls_sources = urls_sources.values() - for source in urls_sources: - source_url = source.get('url') - if not source_url: + server_id = sources['server_id'] + + def fix_bitrate(bitrate): + bitrate = int_or_none(bitrate) + if not bitrate: + return None + return (bitrate // 1000) if bitrate % 1000 == 0 else bitrate + + for source_id in source_ids: + client_id = self._SALT[:2] + sha1(''.join([self._SALT, clip_id, self._TOKEN, server_id, client_location, source_id, self._SALT, self._CLIENT_NAME]).encode('utf-8')).hexdigest() + urls = self._download_json( + 'http://vas.sim-technik.de/vas/live/v2/videos/%s/sources/url' % clip_id, + clip_id, 'Downloading urls JSON', fatal=False, query={ + 'access_token': self._TOKEN, + 'client_id': client_id, + 'client_location': client_location, + 'client_name': self._CLIENT_NAME, + 'server_id': server_id, + 'source_ids': source_id, + }) + if not urls: continue - protocol = source.get('protocol') - mimetype = source.get('mimetype') - if mimetype == 'application/f4m+xml' or 'f4mgenerator' in source_url or determine_ext(source_url) == 'f4m': - formats.extend(self._extract_f4m_formats( - source_url, clip_id, f4m_id='hds', fatal=False)) - elif mimetype == 'application/x-mpegURL': - formats.extend(self._extract_m3u8_formats( - source_url, clip_id, 'mp4', 'm3u8_native', - m3u8_id='hls', fatal=False)) - elif mimetype == 'application/dash+xml': - formats.extend(self._extract_mpd_formats( - source_url, clip_id, mpd_id='dash', fatal=False)) - else: - tbr = fix_bitrate(source['bitrate']) - if protocol in ('rtmp', 'rtmpe'): - mobj = re.search(r'^(?P<url>rtmpe?://[^/]+)/(?P<path>.+)$', source_url) - if not mobj: - continue - path = mobj.group('path') - mp4colon_index = path.rfind('mp4:') - app = path[:mp4colon_index] - play_path = path[mp4colon_index:] - formats.append({ - 'url': '%s/%s' % (mobj.group('url'), app), - 'app': app, - 'play_path': play_path, - 'player_url': 'http://livepassdl.conviva.com/hf/ver/2.79.0.17083/LivePassModuleMain.swf', - 'page_url': 'http://www.prosieben.de', - 'tbr': tbr, - 'ext': 'flv', - 'format_id': 'rtmp%s' % ('-%d' % tbr if tbr else ''), - }) + if urls.get('status_code') != 0: + raise ExtractorError('This video is unavailable', expected=True) + urls_sources = urls['sources'] + if isinstance(urls_sources, dict): + urls_sources = urls_sources.values() + for source in urls_sources: + source_url = source.get('url') + if not source_url: + continue + protocol = source.get('protocol') + mimetype = source.get('mimetype') + if mimetype == 'application/f4m+xml' or 'f4mgenerator' in source_url or determine_ext(source_url) == 'f4m': + formats.extend(self._extract_f4m_formats( + source_url, clip_id, f4m_id='hds', fatal=False)) + elif mimetype == 'application/x-mpegURL': + formats.extend(self._extract_m3u8_formats( + source_url, clip_id, 'mp4', 'm3u8_native', + m3u8_id='hls', fatal=False)) + elif mimetype == 'application/dash+xml': + formats.extend(self._extract_mpd_formats( + source_url, clip_id, mpd_id='dash', fatal=False)) else: - formats.append({ - 'url': source_url, - 'tbr': tbr, - 'format_id': 'http%s' % ('-%d' % tbr if tbr else ''), - }) + tbr = fix_bitrate(source['bitrate']) + if protocol in ('rtmp', 'rtmpe'): + mobj = re.search(r'^(?P<url>rtmpe?://[^/]+)/(?P<path>.+)$', source_url) + if not mobj: + continue + path = mobj.group('path') + mp4colon_index = path.rfind('mp4:') + app = path[:mp4colon_index] + play_path = path[mp4colon_index:] + formats.append({ + 'url': '%s/%s' % (mobj.group('url'), app), + 'app': app, + 'play_path': play_path, + 'player_url': 'http://livepassdl.conviva.com/hf/ver/2.79.0.17083/LivePassModuleMain.swf', + 'page_url': 'http://www.prosieben.de', + 'tbr': tbr, + 'ext': 'flv', + 'format_id': 'rtmp%s' % ('-%d' % tbr if tbr else ''), + }) + else: + formats.append({ + 'url': source_url, + 'tbr': tbr, + 'format_id': 'http%s' % ('-%d' % tbr if tbr else ''), + }) self._sort_formats(formats) return { - 'duration': duration, + 'duration': float_or_none(video.get('duration')), 'formats': formats, } @@ -140,8 +180,8 @@ class ProSiebenSat1IE(ProSiebenSat1BaseIE): _TESTS = [ { - # Tests changes introduced in https://github.com/rg3/youtube-dl/pull/6242 - # in response to fixing https://github.com/rg3/youtube-dl/issues/6215: + # Tests changes introduced in https://github.com/ytdl-org/youtube-dl/pull/6242 + # in response to fixing https://github.com/ytdl-org/youtube-dl/issues/6215: # - malformed f4m manifest support # - proper handling of URLs starting with `https?://` in 2.0 manifests # - recursive child f4m manifests extraction @@ -344,6 +384,11 @@ class ProSiebenSat1IE(ProSiebenSat1BaseIE): _TOKEN = 'prosieben' _SALT = '01!8d8F_)r9]4s[qeuXfP%' _CLIENT_NAME = 'kolibri-2.0.19-splec4' + + _ACCESS_ID = 'x_prosiebenmaxx-de' + _ENCRYPTION_KEY = 'Eeyeey9oquahthainoofashoyoikosag' + _IV = 'Aeluchoc6aevechuipiexeeboowedaok' + _CLIPID_REGEXES = [ r'"clip_id"\s*:\s+"(\d+)"', r'clipid: "(\d+)"', diff --git a/youtube_dl/extractor/radiocanada.py b/youtube_dl/extractor/radiocanada.py index b952e59..a28b1a2 100644 --- a/youtube_dl/extractor/radiocanada.py +++ b/youtube_dl/extractor/radiocanada.py @@ -4,16 +4,12 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..compat import compat_HTTPError from ..utils import ( - xpath_text, - find_xpath_attr, determine_ext, + ExtractorError, int_or_none, unified_strdate, - xpath_element, - ExtractorError, - determine_protocol, - unsmuggle_url, ) @@ -49,107 +45,79 @@ class RadioCanadaIE(InfoExtractor): # m3u8 download 'skip_download': True, }, + }, + { + # with protectionType but not actually DRM protected + 'url': 'radiocanada:toutv:140872', + 'info_dict': { + 'id': '140872', + 'title': 'Ãpisode 1', + 'series': 'District 31', + }, + 'only_matching': True, } ] + _GEO_COUNTRIES = ['CA'] + _access_token = None + _claims = None - def _real_extract(self, url): - url, smuggled_data = unsmuggle_url(url, {}) - app_code, video_id = re.match(self._VALID_URL, url).groups() - - metadata = self._download_xml( - 'http://api.radio-canada.ca/metaMedia/v1/index.ashx', - video_id, note='Downloading metadata XML', query={ + def _call_api(self, path, video_id=None, app_code=None, query=None): + if not query: + query = {} + query.update({ + 'client_key': '773aea60-0e80-41bb-9c7f-e6d7c3ad17fb', + 'output': 'json', + }) + if video_id: + query.update({ 'appCode': app_code, 'idMedia': video_id, }) + if self._access_token: + query['access_token'] = self._access_token + try: + return self._download_json( + 'https://services.radio-canada.ca/media/' + path, video_id, query=query) + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code in (401, 422): + data = self._parse_json(e.cause.read().decode(), None) + error = data.get('error_description') or data['errorMessage']['text'] + raise ExtractorError(error, expected=True) + raise + + def _extract_info(self, app_code, video_id): + metas = self._call_api('meta/v1/index.ashx', video_id, app_code)['Metas'] def get_meta(name): - el = find_xpath_attr(metadata, './/Meta', 'name', name) - return el.text if el is not None else None + for meta in metas: + if meta.get('name') == name: + text = meta.get('text') + if text: + return text + # protectionType does not necessarily mean the video is DRM protected (see + # https://github.com/ytdl-org/youtube-dl/pull/18609). if get_meta('protectionType'): - raise ExtractorError('This video is DRM protected.', expected=True) - - device_types = ['ipad'] - if not smuggled_data: - device_types.append('flash') - device_types.append('android') + self.report_warning('This video is probably DRM protected.') - formats = [] - error = None - # TODO: extract f4m formats - # f4m formats can be extracted using flashhd device_type but they produce unplayable file - for device_type in device_types: - validation_url = 'http://api.radio-canada.ca/validationMedia/v1/Validation.ashx' - query = { - 'appCode': app_code, - 'idMedia': video_id, - 'connectionType': 'broadband', - 'multibitrate': 'true', - 'deviceType': device_type, - } - if smuggled_data: - validation_url = 'https://services.radio-canada.ca/media/validation/v2/' - query.update(smuggled_data) - else: - query.update({ - # paysJ391wsHjbOJwvCs26toz and bypasslock are used to bypass geo-restriction - 'paysJ391wsHjbOJwvCs26toz': 'CA', - 'bypasslock': 'NZt5K62gRqfc', - }) - v_data = self._download_xml(validation_url, video_id, note='Downloading %s XML' % device_type, query=query, fatal=False) - v_url = xpath_text(v_data, 'url') - if not v_url: - continue - if v_url == 'null': - error = xpath_text(v_data, 'message') - continue - ext = determine_ext(v_url) - if ext == 'm3u8': - formats.extend(self._extract_m3u8_formats( - v_url, video_id, 'mp4', m3u8_id='hls', fatal=False)) - elif ext == 'f4m': - formats.extend(self._extract_f4m_formats( - v_url, video_id, f4m_id='hds', fatal=False)) - else: - ext = determine_ext(v_url) - bitrates = xpath_element(v_data, 'bitrates') - for url_e in bitrates.findall('url'): - tbr = int_or_none(url_e.get('bitrate')) - if not tbr: - continue - f_url = re.sub(r'\d+\.%s' % ext, '%d.%s' % (tbr, ext), v_url) - protocol = determine_protocol({'url': f_url}) - f = { - 'format_id': '%s-%d' % (protocol, tbr), - 'url': f_url, - 'ext': 'flv' if protocol == 'rtmp' else ext, - 'protocol': protocol, - 'width': int_or_none(url_e.get('width')), - 'height': int_or_none(url_e.get('height')), - 'tbr': tbr, - } - mobj = re.match(r'(?P<url>rtmp://[^/]+/[^/]+)/(?P<playpath>[^?]+)(?P<auth>\?.+)', f_url) - if mobj: - f.update({ - 'url': mobj.group('url') + mobj.group('auth'), - 'play_path': mobj.group('playpath'), - }) - formats.append(f) - if protocol == 'rtsp': - base_url = self._search_regex( - r'rtsp://([^?]+)', f_url, 'base url', default=None) - if base_url: - base_url = 'http://' + base_url - formats.extend(self._extract_m3u8_formats( - base_url + '/playlist.m3u8', video_id, 'mp4', - 'm3u8_native', m3u8_id='hls', fatal=False)) - formats.extend(self._extract_f4m_formats( - base_url + '/manifest.f4m', video_id, - f4m_id='hds', fatal=False)) - if not formats and error: + query = { + 'connectionType': 'hd', + 'deviceType': 'ipad', + 'multibitrate': 'true', + } + if self._claims: + query['claims'] = self._claims + v_data = self._call_api('validation/v2/', video_id, app_code, query) + v_url = v_data.get('url') + if not v_url: + error = v_data['message'] + if error == "Le contenu sélectionné n'est pas disponible dans votre pays": + raise self.raise_geo_restricted(error, self._GEO_COUNTRIES) + if error == 'Le contenu sélectionné est disponible seulement en premium': + self.raise_login_required(error) raise ExtractorError( '%s said: %s' % (self.IE_NAME, error), expected=True) + formats = self._extract_m3u8_formats(v_url, video_id, 'mp4') self._sort_formats(formats) subtitles = {} @@ -174,11 +142,14 @@ class RadioCanadaIE(InfoExtractor): 'formats': formats, } + def _real_extract(self, url): + return self._extract_info(*re.match(self._VALID_URL, url).groups()) + class RadioCanadaAudioVideoIE(InfoExtractor): - 'radiocanada:audiovideo' - _VALID_URL = r'https?://ici\.radio-canada\.ca/audio-video/media-(?P<id>[0-9]+)' - _TEST = { + IE_NAME = 'radiocanada:audiovideo' + _VALID_URL = r'https?://ici\.radio-canada\.ca/([^/]+/)*media-(?P<id>[0-9]+)' + _TESTS = [{ 'url': 'http://ici.radio-canada.ca/audio-video/media-7527184/barack-obama-au-vietnam', 'info_dict': { 'id': '7527184', @@ -191,7 +162,10 @@ class RadioCanadaAudioVideoIE(InfoExtractor): # m3u8 download 'skip_download': True, }, - } + }, { + 'url': 'https://ici.radio-canada.ca/info/videos/media-7527184/barack-obama-au-vietnam', + 'only_matching': True, + }] def _real_extract(self, url): return self.url_result('radiocanada:medianet:%s' % self._match_id(url)) diff --git a/youtube_dl/extractor/rai.py b/youtube_dl/extractor/rai.py index 548a655..207a6c2 100644 --- a/youtube_dl/extractor/rai.py +++ b/youtube_dl/extractor/rai.py @@ -74,11 +74,11 @@ class RaiBaseIE(InfoExtractor): if (ext == 'm3u8' and platform != 'mon') or (ext == 'f4m' and platform != 'flash'): continue - if ext == 'm3u8': + if ext == 'm3u8' or 'format=m3u8' in media_url or platform == 'mon': formats.extend(self._extract_m3u8_formats( media_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', fatal=False)) - elif ext == 'f4m': + elif ext == 'f4m' or platform == 'flash': manifest_url = update_url_query( media_url.replace('manifest#live_hds.f4m', 'manifest.f4m'), {'hdcore': '3.7.0', 'plugin': 'aasp-3.7.0.39.44'}) @@ -288,7 +288,7 @@ class RaiPlayPlaylistIE(InfoExtractor): class RaiIE(RaiBaseIE): - _VALID_URL = r'https?://[^/]+\.(?:rai\.(?:it|tv)|rainews\.it)/dl/.+?-(?P<id>%s)(?:-.+?)?\.html' % RaiBaseIE._UUID_RE + _VALID_URL = r'https?://[^/]+\.(?:rai\.(?:it|tv)|rainews\.it)/.+?-(?P<id>%s)(?:-.+?)?\.html' % RaiBaseIE._UUID_RE _TESTS = [{ # var uniquename = "ContentItem-..." # data-id="ContentItem-..." @@ -375,6 +375,9 @@ class RaiIE(RaiBaseIE): # Direct MMS URL 'url': 'http://www.rai.it/dl/RaiTV/programmi/media/ContentItem-b63a4089-ac28-48cf-bca5-9f5b5bc46df5.html', 'only_matching': True, + }, { + 'url': 'https://www.rainews.it/tgr/marche/notiziari/video/2019/02/ContentItem-6ba945a2-889c-4a80-bdeb-8489c70a8db9.html', + 'only_matching': True, }] def _extract_from_content_id(self, content_id, url): diff --git a/youtube_dl/extractor/redbulltv.py b/youtube_dl/extractor/redbulltv.py index 7e8d58f..dbe1aad 100644 --- a/youtube_dl/extractor/redbulltv.py +++ b/youtube_dl/extractor/redbulltv.py @@ -10,7 +10,7 @@ from ..utils import ( class RedBullTVIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?redbull(?:\.tv|\.com/(?:[^/]+/)?tv)/video/(?P<id>AP-\w+)' + _VALID_URL = r'https?://(?:www\.)?redbull(?:\.tv|\.com(?:/[^/]+)?(?:/tv)?)(?:/events/[^/]+)?/(?:videos?|live)/(?P<id>AP-\w+)' _TESTS = [{ # film 'url': 'https://www.redbull.tv/video/AP-1Q6XCDTAN1W11', @@ -38,6 +38,12 @@ class RedBullTVIE(InfoExtractor): }, { 'url': 'https://www.redbull.com/int-en/tv/video/AP-1UWHCAR9S1W11/rob-meets-sam-gaze?playlist=playlists::3f81040a-2f31-4832-8e2e-545b1d39d173', 'only_matching': True, + }, { + 'url': 'https://www.redbull.com/us-en/videos/AP-1YM9QCYE52111', + 'only_matching': True, + }, { + 'url': 'https://www.redbull.com/us-en/events/AP-1XV2K61Q51W11/live/AP-1XUJ86FDH1W11', + 'only_matching': True, }] def _real_extract(self, url): @@ -98,3 +104,25 @@ class RedBullTVIE(InfoExtractor): 'formats': formats, 'subtitles': subtitles, } + + +class RedBullTVRrnContentIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?redbull(?:\.tv|\.com(?:/[^/]+)?(?:/tv)?)/(?:video|live)/rrn:content:[^:]+:(?P<id>[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})' + _TESTS = [{ + 'url': 'https://www.redbull.com/int-en/tv/video/rrn:content:live-videos:e3e6feb4-e95f-50b7-962a-c70f8fd13c73/mens-dh-finals-fort-william', + 'only_matching': True, + }, { + 'url': 'https://www.redbull.com/int-en/tv/video/rrn:content:videos:a36a0f36-ff1b-5db8-a69d-ee11a14bf48b/tn-ts-style?playlist=rrn:content:event-profiles:83f05926-5de8-5389-b5e4-9bb312d715e8:extras', + 'only_matching': True, + }] + + def _real_extract(self, url): + display_id = self._match_id(url) + + webpage = self._download_webpage(url, display_id) + + video_url = self._og_search_url(webpage) + + return self.url_result( + video_url, ie=RedBullTVIE.ie_key(), + video_id=RedBullTVIE._match_id(video_url)) diff --git a/youtube_dl/extractor/reddit.py b/youtube_dl/extractor/reddit.py index 7b0aa62..663f622 100644 --- a/youtube_dl/extractor/reddit.py +++ b/youtube_dl/extractor/reddit.py @@ -7,6 +7,7 @@ from ..utils import ( ExtractorError, int_or_none, float_or_none, + url_or_none, ) @@ -119,7 +120,7 @@ class RedditRIE(InfoExtractor): '_type': 'url_transparent', 'url': video_url, 'title': data.get('title'), - 'thumbnail': data.get('thumbnail'), + 'thumbnail': url_or_none(data.get('thumbnail')), 'timestamp': float_or_none(data.get('created_utc')), 'uploader': data.get('author'), 'like_count': int_or_none(data.get('ups')), diff --git a/youtube_dl/extractor/rtl2.py b/youtube_dl/extractor/rtl2.py index 18a327d..70f000c 100644 --- a/youtube_dl/extractor/rtl2.py +++ b/youtube_dl/extractor/rtl2.py @@ -21,7 +21,7 @@ from ..utils import ( class RTL2IE(InfoExtractor): IE_NAME = 'rtl2' - _VALID_URL = r'http?://(?:www\.)?rtl2\.de/[^?#]*?/(?P<id>[^?#/]*?)(?:$|/(?:$|[?#]))' + _VALID_URL = r'https?://(?:www\.)?rtl2\.de/sendung/[^/]+/(?:video/(?P<vico_id>\d+)[^/]+/(?P<vivi_id>\d+)-|folge/)(?P<id>[^/?#]+)' _TESTS = [{ 'url': 'http://www.rtl2.de/sendung/grip-das-motormagazin/folge/folge-203-0', 'info_dict': { @@ -34,10 +34,11 @@ class RTL2IE(InfoExtractor): # rtmp download 'skip_download': True, }, + 'expected_warnings': ['Unable to download f4m manifest', 'Failed to download m3u8 information'], }, { 'url': 'http://www.rtl2.de/sendung/koeln-50667/video/5512-anna/21040-anna-erwischt-alex/', 'info_dict': { - 'id': '21040-anna-erwischt-alex', + 'id': 'anna-erwischt-alex', 'ext': 'mp4', 'title': 'Anna erwischt Alex!', 'description': 'Anna nimmt ihrem Vater nicht ab, dass er nicht spielt. Und tatsächlich erwischt sie ihn auf frischer Tat.' @@ -46,31 +47,29 @@ class RTL2IE(InfoExtractor): # rtmp download 'skip_download': True, }, + 'expected_warnings': ['Unable to download f4m manifest', 'Failed to download m3u8 information'], }] def _real_extract(self, url): - # Some rtl2 urls have no slash at the end, so append it. - if not url.endswith('/'): - url += '/' - - video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) - - mobj = re.search( - r'<div[^>]+data-collection="(?P<vico_id>\d+)"[^>]+data-video="(?P<vivi_id>\d+)"', - webpage) - if mobj: - vico_id = mobj.group('vico_id') - vivi_id = mobj.group('vivi_id') - else: - vico_id = self._html_search_regex( - r'vico_id\s*:\s*([0-9]+)', webpage, 'vico_id') - vivi_id = self._html_search_regex( - r'vivi_id\s*:\s*([0-9]+)', webpage, 'vivi_id') + vico_id, vivi_id, display_id = re.match(self._VALID_URL, url).groups() + if not vico_id: + webpage = self._download_webpage(url, display_id) + + mobj = re.search( + r'data-collection="(?P<vico_id>\d+)"[^>]+data-video="(?P<vivi_id>\d+)"', + webpage) + if mobj: + vico_id = mobj.group('vico_id') + vivi_id = mobj.group('vivi_id') + else: + vico_id = self._html_search_regex( + r'vico_id\s*:\s*([0-9]+)', webpage, 'vico_id') + vivi_id = self._html_search_regex( + r'vivi_id\s*:\s*([0-9]+)', webpage, 'vivi_id') info = self._download_json( - 'http://www.rtl2.de/sites/default/modules/rtl2/mediathek/php/get_video_jw.php', - video_id, query={ + 'https://service.rtl2.de/api-player-vipo/video.php', + display_id, query={ 'vico_id': vico_id, 'vivi_id': vivi_id, }) @@ -89,7 +88,7 @@ class RTL2IE(InfoExtractor): 'format_id': 'rtmp', 'url': rtmp_url, 'play_path': stream_url, - 'player_url': 'http://www.rtl2.de/flashplayer/vipo_player.swf', + 'player_url': 'https://www.rtl2.de/sites/default/modules/rtl2/jwplayer/jwplayer-7.6.0/jwplayer.flash.swf', 'page_url': url, 'flash_version': 'LNX 11,2,202,429', 'rtmp_conn': rtmp_conn, @@ -99,12 +98,12 @@ class RTL2IE(InfoExtractor): m3u8_url = video_info.get('streamurl_hls') if m3u8_url: - formats.extend(self._extract_akamai_formats(m3u8_url, video_id)) + formats.extend(self._extract_akamai_formats(m3u8_url, display_id)) self._sort_formats(formats) return { - 'id': video_id, + 'id': display_id, 'title': title, 'thumbnail': video_info.get('image'), 'description': video_info.get('beschreibung'), diff --git a/youtube_dl/extractor/rtlnl.py b/youtube_dl/extractor/rtlnl.py index be36acc..0b5e55d 100644 --- a/youtube_dl/extractor/rtlnl.py +++ b/youtube_dl/extractor/rtlnl.py @@ -45,7 +45,7 @@ class RtlNlIE(InfoExtractor): 'description': 'Er zijn nieuwe beelden vrijgegeven die vlak na de aanslag in Kopenhagen zijn gemaakt. Op de video is goed te zien hoe omstanders zich bekommeren om één van de slachtoffers, terwijl de eerste agenten ter plaatse komen.', } }, { - # empty synopsis and missing episodes (see https://github.com/rg3/youtube-dl/issues/6275) + # empty synopsis and missing episodes (see https://github.com/ytdl-org/youtube-dl/issues/6275) # best format available nettv 'url': 'http://www.rtl.nl/system/videoplayer/derden/rtlnieuws/video_embed.html#uuid=f536aac0-1dc3-4314-920e-3bd1c5b3811a/autoplay=false', 'info_dict': { diff --git a/youtube_dl/extractor/rtp.py b/youtube_dl/extractor/rtp.py index 533ee27..02986f4 100644 --- a/youtube_dl/extractor/rtp.py +++ b/youtube_dl/extractor/rtp.py @@ -1,9 +1,11 @@ # coding: utf-8 from __future__ import unicode_literals -import re - from .common import InfoExtractor +from ..utils import ( + determine_ext, + js_to_json, +) class RTPIE(InfoExtractor): @@ -18,10 +20,6 @@ class RTPIE(InfoExtractor): 'description': 'As paixões musicais de António Cartaxo e António Macedo', 'thumbnail': r're:^https?://.*\.jpg', }, - 'params': { - # rtmp download - 'skip_download': True, - }, }, { 'url': 'http://www.rtp.pt/play/p831/a-quimica-das-coisas', 'only_matching': True, @@ -33,57 +31,36 @@ class RTPIE(InfoExtractor): webpage = self._download_webpage(url, video_id) title = self._html_search_meta( 'twitter:title', webpage, display_name='title', fatal=True) - description = self._html_search_meta('description', webpage) - thumbnail = self._og_search_thumbnail(webpage) - - player_config = self._search_regex( - r'(?s)RTPPLAY\.player\.newPlayer\(\s*(\{.*?\})\s*\)', webpage, 'player config') - config = self._parse_json(player_config, video_id) - - path, ext = config.get('file').rsplit('.', 1) - formats = [{ - 'format_id': 'rtmp', - 'ext': ext, - 'vcodec': config.get('type') == 'audio' and 'none' or None, - 'preference': -2, - 'url': 'rtmp://{streamer:s}/{application:s}'.format(**config), - 'app': config.get('application'), - 'play_path': '{ext:s}:{path:s}'.format(ext=ext, path=path), - 'page_url': url, - 'rtmp_live': config.get('live', False), - 'player_url': 'http://programas.rtp.pt/play/player.swf?v3', - 'rtmp_real_time': True, - }] - - # Construct regular HTTP download URLs - replacements = { - 'audio': { - 'format_id': 'mp3', - 'pattern': r'^nas2\.share/wavrss/', - 'repl': 'http://rsspod.rtp.pt/podcasts/', - 'vcodec': 'none', - }, - 'video': { - 'format_id': 'mp4_h264', - 'pattern': r'^nas2\.share/h264/', - 'repl': 'http://rsspod.rtp.pt/videocasts/', - 'vcodec': 'h264', - }, - } - r = replacements[config['type']] - if re.match(r['pattern'], config['file']) is not None: - formats.append({ - 'format_id': r['format_id'], - 'url': re.sub(r['pattern'], r['repl'], config['file']), - 'vcodec': r['vcodec'], - }) - self._sort_formats(formats) + config = self._parse_json(self._search_regex( + r'(?s)RTPPlayer\(({.+?})\);', webpage, + 'player config'), video_id, js_to_json) + file_url = config['file'] + ext = determine_ext(file_url) + if ext == 'm3u8': + file_key = config.get('fileKey') + formats = self._extract_m3u8_formats( + file_url, video_id, 'mp4', 'm3u8_native', + m3u8_id='hls', fatal=file_key) + if file_key: + formats.append({ + 'url': 'https://cdn-ondemand.rtp.pt' + file_key, + 'preference': 1, + }) + self._sort_formats(formats) + else: + formats = [{ + 'url': file_url, + 'ext': ext, + }] + if config.get('mediaType') == 'audio': + for f in formats: + f['vcodec'] = 'none' return { 'id': video_id, 'title': title, 'formats': formats, - 'description': description, - 'thumbnail': thumbnail, + 'description': self._html_search_meta(['description', 'twitter:description'], webpage), + 'thumbnail': config.get('poster') or self._og_search_thumbnail(webpage), } diff --git a/youtube_dl/extractor/ruleporn.py b/youtube_dl/extractor/ruleporn.py deleted file mode 100644 index ebf9808..0000000 --- a/youtube_dl/extractor/ruleporn.py +++ /dev/null @@ -1,44 +0,0 @@ -from __future__ import unicode_literals - -from .nuevo import NuevoBaseIE - - -class RulePornIE(NuevoBaseIE): - _VALID_URL = r'https?://(?:www\.)?ruleporn\.com/(?:[^/?#&]+/)*(?P<id>[^/?#&]+)' - _TEST = { - 'url': 'http://ruleporn.com/brunette-nympho-chick-takes-her-boyfriend-in-every-angle/', - 'md5': '86861ebc624a1097c7c10eaf06d7d505', - 'info_dict': { - 'id': '48212', - 'display_id': 'brunette-nympho-chick-takes-her-boyfriend-in-every-angle', - 'ext': 'mp4', - 'title': 'Brunette Nympho Chick Takes Her Boyfriend In Every Angle', - 'description': 'md5:6d28be231b981fff1981deaaa03a04d5', - 'age_limit': 18, - 'duration': 635.1, - } - } - - def _real_extract(self, url): - display_id = self._match_id(url) - - webpage = self._download_webpage(url, display_id) - - video_id = self._search_regex( - r'lovehomeporn\.com/embed/(\d+)', webpage, 'video id') - - title = self._search_regex( - r'<h2[^>]+title=(["\'])(?P<url>.+?)\1', - webpage, 'title', group='url') - description = self._html_search_meta('description', webpage) - - info = self._extract_nuevo( - 'http://lovehomeporn.com/media/nuevo/econfig.php?key=%s&rp=true' % video_id, - video_id) - info.update({ - 'display_id': display_id, - 'title': title, - 'description': description, - 'age_limit': 18 - }) - return info diff --git a/youtube_dl/extractor/rutube.py b/youtube_dl/extractor/rutube.py index 10ac8ed..8f54d56 100644 --- a/youtube_dl/extractor/rutube.py +++ b/youtube_dl/extractor/rutube.py @@ -21,7 +21,17 @@ from ..utils import ( class RutubeBaseIE(InfoExtractor): - def _extract_video(self, video, video_id=None, require_title=True): + def _download_api_info(self, video_id, query=None): + if not query: + query = {} + query['format'] = 'json' + return self._download_json( + 'http://rutube.ru/api/video/%s/' % video_id, + video_id, 'Downloading video JSON', + 'Unable to download video JSON', query=query) + + @staticmethod + def _extract_info(video, video_id=None, require_title=True): title = video['title'] if require_title else video.get('title') age_limit = video.get('is_adult') @@ -32,7 +42,7 @@ class RutubeBaseIE(InfoExtractor): category = try_get(video, lambda x: x['category']['name']) return { - 'id': video.get('id') or video_id, + 'id': video.get('id') or video_id if video_id else video['id'], 'title': title, 'description': video.get('description'), 'thumbnail': video.get('thumbnail_url'), @@ -47,6 +57,42 @@ class RutubeBaseIE(InfoExtractor): 'is_live': bool_or_none(video.get('is_livestream')), } + def _download_and_extract_info(self, video_id, query=None): + return self._extract_info( + self._download_api_info(video_id, query=query), video_id) + + def _download_api_options(self, video_id, query=None): + if not query: + query = {} + query['format'] = 'json' + return self._download_json( + 'http://rutube.ru/api/play/options/%s/' % video_id, + video_id, 'Downloading options JSON', + 'Unable to download options JSON', + headers=self.geo_verification_headers(), query=query) + + def _extract_formats(self, options, video_id): + formats = [] + for format_id, format_url in options['video_balancer'].items(): + ext = determine_ext(format_url) + if ext == 'm3u8': + formats.extend(self._extract_m3u8_formats( + format_url, video_id, 'mp4', m3u8_id=format_id, fatal=False)) + elif ext == 'f4m': + formats.extend(self._extract_f4m_formats( + format_url, video_id, f4m_id=format_id, fatal=False)) + else: + formats.append({ + 'url': format_url, + 'format_id': format_id, + }) + self._sort_formats(formats) + return formats + + def _download_and_extract_formats(self, video_id, query=None): + return self._extract_formats( + self._download_api_options(video_id, query=query), video_id) + class RutubeIE(RutubeBaseIE): IE_NAME = 'rutube' @@ -55,13 +101,13 @@ class RutubeIE(RutubeBaseIE): _TESTS = [{ 'url': 'http://rutube.ru/video/3eac3b4561676c17df9132a9a1e62e3e/', - 'md5': '79938ade01294ef7e27574890d0d3769', + 'md5': '1d24f180fac7a02f3900712e5a5764d6', 'info_dict': { 'id': '3eac3b4561676c17df9132a9a1e62e3e', - 'ext': 'flv', + 'ext': 'mp4', 'title': 'РаненнÑй кенгÑÑÑ Ð·Ð°Ð±ÐµÐ¶Ð°Ð» в апÑекÑ', 'description': 'http://www.ntdtv.ru ', - 'duration': 80, + 'duration': 81, 'uploader': 'NTDRussian', 'uploader_id': '29790', 'timestamp': 1381943602, @@ -94,39 +140,12 @@ class RutubeIE(RutubeBaseIE): def _real_extract(self, url): video_id = self._match_id(url) - - video = self._download_json( - 'http://rutube.ru/api/video/%s/?format=json' % video_id, - video_id, 'Downloading video JSON') - - info = self._extract_video(video, video_id) - - options = self._download_json( - 'http://rutube.ru/api/play/options/%s/?format=json' % video_id, - video_id, 'Downloading options JSON', - headers=self.geo_verification_headers()) - - formats = [] - for format_id, format_url in options['video_balancer'].items(): - ext = determine_ext(format_url) - if ext == 'm3u8': - formats.extend(self._extract_m3u8_formats( - format_url, video_id, 'mp4', m3u8_id=format_id, fatal=False)) - elif ext == 'f4m': - formats.extend(self._extract_f4m_formats( - format_url, video_id, f4m_id=format_id, fatal=False)) - else: - formats.append({ - 'url': format_url, - 'format_id': format_id, - }) - self._sort_formats(formats) - - info['formats'] = formats + info = self._download_and_extract_info(video_id) + info['formats'] = self._download_and_extract_formats(video_id) return info -class RutubeEmbedIE(InfoExtractor): +class RutubeEmbedIE(RutubeBaseIE): IE_NAME = 'rutube:embed' IE_DESC = 'Rutube embedded videos' _VALID_URL = r'https?://rutube\.ru/(?:video|play)/embed/(?P<id>[0-9]+)' @@ -135,7 +154,7 @@ class RutubeEmbedIE(InfoExtractor): 'url': 'http://rutube.ru/video/embed/6722881?vk_puid37=&vk_puid38=', 'info_dict': { 'id': 'a10e53b86e8f349080f718582ce4c661', - 'ext': 'flv', + 'ext': 'mp4', 'timestamp': 1387830582, 'upload_date': '20131223', 'uploader_id': '297833', @@ -149,16 +168,26 @@ class RutubeEmbedIE(InfoExtractor): }, { 'url': 'http://rutube.ru/play/embed/8083783', 'only_matching': True, + }, { + # private video + 'url': 'https://rutube.ru/play/embed/10631925?p=IbAigKqWd1do4mjaM5XLIQ', + 'only_matching': True, }] def _real_extract(self, url): embed_id = self._match_id(url) - webpage = self._download_webpage(url, embed_id) - - canonical_url = self._html_search_regex( - r'<link\s+rel="canonical"\s+href="([^"]+?)"', webpage, - 'Canonical URL') - return self.url_result(canonical_url, RutubeIE.ie_key()) + # Query may contain private videos token and should be passed to API + # requests (see #19163) + query = compat_parse_qs(compat_urllib_parse_urlparse(url).query) + options = self._download_api_options(embed_id, query) + video_id = options['effective_video'] + formats = self._extract_formats(options, video_id) + info = self._download_and_extract_info(video_id, query) + info.update({ + 'extractor_key': 'Rutube', + 'formats': formats, + }) + return info class RutubePlaylistBaseIE(RutubeBaseIE): @@ -181,7 +210,7 @@ class RutubePlaylistBaseIE(RutubeBaseIE): video_url = url_or_none(result.get('video_url')) if not video_url: continue - entry = self._extract_video(result, require_title=False) + entry = self._extract_info(result, require_title=False) entry.update({ '_type': 'url', 'url': video_url, diff --git a/youtube_dl/extractor/ruutu.py b/youtube_dl/extractor/ruutu.py index f530f00..f984040 100644 --- a/youtube_dl/extractor/ruutu.py +++ b/youtube_dl/extractor/ruutu.py @@ -59,6 +59,20 @@ class RuutuIE(InfoExtractor): 'url': 'http://www.ruutu.fi/video/3193728', 'only_matching': True, }, + { + # audio podcast + 'url': 'https://www.supla.fi/supla/3382410', + 'md5': 'b9d7155fed37b2ebf6021d74c4b8e908', + 'info_dict': { + 'id': '3382410', + 'ext': 'mp3', + 'title': 'Mikä ihmeen poltergeist?', + 'description': 'md5:bbb6963df17dfd0ecd9eb9a61bf14b52', + 'thumbnail': r're:^https?://.*\.jpg$', + 'age_limit': 0, + }, + 'expected_warnings': ['HTTP Error 502: Bad Gateway'], + } ] def _real_extract(self, url): @@ -77,8 +91,8 @@ class RuutuIE(InfoExtractor): extract_formats(child) elif child.tag.endswith('File'): video_url = child.text - if (not video_url or video_url in processed_urls or - any(p in video_url for p in ('NOT_USED', 'NOT-USED'))): + if (not video_url or video_url in processed_urls + or any(p in video_url for p in ('NOT_USED', 'NOT-USED'))): continue processed_urls.append(video_url) ext = determine_ext(video_url) @@ -94,6 +108,12 @@ class RuutuIE(InfoExtractor): continue formats.extend(self._extract_mpd_formats( video_url, video_id, mpd_id='dash', fatal=False)) + elif ext == 'mp3' or child.tag == 'AudioMediaFile': + formats.append({ + 'format_id': 'audio', + 'url': video_url, + 'vcodec': 'none', + }) else: proto = compat_urllib_parse_urlparse(video_url).scheme if not child.tag.startswith('HTTP') and proto != 'rtmp': diff --git a/youtube_dl/extractor/safari.py b/youtube_dl/extractor/safari.py index c0d32a1..8d48067 100644 --- a/youtube_dl/extractor/safari.py +++ b/youtube_dl/extractor/safari.py @@ -1,15 +1,18 @@ # coding: utf-8 from __future__ import unicode_literals +import json import re from .common import InfoExtractor +from ..compat import ( + compat_parse_qs, + compat_str, + compat_urlparse, +) from ..utils import ( ExtractorError, - sanitized_Request, - std_headers, - urlencode_postdata, update_url_query, ) @@ -31,44 +34,52 @@ class SafariBaseIE(InfoExtractor): if username is None: return - headers = std_headers.copy() - if 'Referer' not in headers: - headers['Referer'] = self._LOGIN_URL - - login_page = self._download_webpage( - self._LOGIN_URL, None, 'Downloading login form', headers=headers) + _, urlh = self._download_webpage_handle( + 'https://learning.oreilly.com/accounts/login-check/', None, + 'Downloading login page') - def is_logged(webpage): - return any(re.search(p, webpage) for p in ( - r'href=["\']/accounts/logout/', r'>Sign Out<')) + def is_logged(urlh): + return 'learning.oreilly.com/home/' in compat_str(urlh.geturl()) - if is_logged(login_page): + if is_logged(urlh): self.LOGGED_IN = True return - csrf = self._html_search_regex( - r"name='csrfmiddlewaretoken'\s+value='([^']+)'", - login_page, 'csrf token') + redirect_url = compat_str(urlh.geturl()) + parsed_url = compat_urlparse.urlparse(redirect_url) + qs = compat_parse_qs(parsed_url.query) + next_uri = compat_urlparse.urljoin( + 'https://api.oreilly.com', qs['next'][0]) + + auth, urlh = self._download_json_handle( + 'https://www.oreilly.com/member/auth/login/', None, 'Logging in', + data=json.dumps({ + 'email': username, + 'password': password, + 'redirect_uri': next_uri, + }).encode(), headers={ + 'Content-Type': 'application/json', + 'Referer': redirect_url, + }, expected_status=400) + + credentials = auth.get('credentials') + if (not auth.get('logged_in') and not auth.get('redirect_uri') + and credentials): + raise ExtractorError( + 'Unable to login: %s' % credentials, expected=True) - login_form = { - 'csrfmiddlewaretoken': csrf, - 'email': username, - 'password1': password, - 'login': 'Sign In', - 'next': '', - } + # oreilly serves two same groot_sessionid cookies in Set-Cookie header + # and expects first one to be actually set + self._apply_first_set_cookie_header(urlh, 'groot_sessionid') - request = sanitized_Request( - self._LOGIN_URL, urlencode_postdata(login_form), headers=headers) - login_page = self._download_webpage( - request, None, 'Logging in') + _, urlh = self._download_webpage_handle( + auth.get('redirect_uri') or next_uri, None, 'Completing login',) - if not is_logged(login_page): - raise ExtractorError( - 'Login failed; make sure your credentials are correct and try again.', - expected=True) + if is_logged(urlh): + self.LOGGED_IN = True + return - self.LOGGED_IN = True + raise ExtractorError('Unable to log in') class SafariIE(SafariBaseIE): @@ -76,7 +87,7 @@ class SafariIE(SafariBaseIE): IE_DESC = 'safaribooksonline.com online video' _VALID_URL = r'''(?x) https?:// - (?:www\.)?(?:safaribooksonline|learning\.oreilly)\.com/ + (?:www\.)?(?:safaribooksonline|(?:learning\.)?oreilly)\.com/ (?: library/view/[^/]+/(?P<course_id>[^/]+)/(?P<part>[^/?\#&]+)\.html| videos/[^/]+/[^/]+/(?P<reference_id>[^-]+-[^/?\#&]+) @@ -107,6 +118,9 @@ class SafariIE(SafariBaseIE): }, { 'url': 'https://learning.oreilly.com/videos/hadoop-fundamentals-livelessons/9780133392838/9780133392838-00_SeriesIntro', 'only_matching': True, + }, { + 'url': 'https://www.oreilly.com/library/view/hadoop-fundamentals-livelessons/9780133392838/00_SeriesIntro.html', + 'only_matching': True, }] _PARTNER_ID = '1926081' @@ -163,7 +177,7 @@ class SafariIE(SafariBaseIE): class SafariApiIE(SafariBaseIE): IE_NAME = 'safari:api' - _VALID_URL = r'https?://(?:www\.)?(?:safaribooksonline|learning\.oreilly)\.com/api/v1/book/(?P<course_id>[^/]+)/chapter(?:-content)?/(?P<part>[^/?#&]+)\.html' + _VALID_URL = r'https?://(?:www\.)?(?:safaribooksonline|(?:learning\.)?oreilly)\.com/api/v1/book/(?P<course_id>[^/]+)/chapter(?:-content)?/(?P<part>[^/?#&]+)\.html' _TESTS = [{ 'url': 'https://www.safaribooksonline.com/api/v1/book/9780133392838/chapter/part00.html', @@ -188,7 +202,7 @@ class SafariCourseIE(SafariBaseIE): _VALID_URL = r'''(?x) https?:// (?: - (?:www\.)?(?:safaribooksonline|learning\.oreilly)\.com/ + (?:www\.)?(?:safaribooksonline|(?:learning\.)?oreilly)\.com/ (?: library/view/[^/]+| api/v1/book| @@ -219,6 +233,9 @@ class SafariCourseIE(SafariBaseIE): }, { 'url': 'https://learning.oreilly.com/videos/hadoop-fundamentals-livelessons/9780133392838', 'only_matching': True, + }, { + 'url': 'https://www.oreilly.com/library/view/hadoop-fundamentals-livelessons/9780133392838/', + 'only_matching': True, }] @classmethod diff --git a/youtube_dl/extractor/sbs.py b/youtube_dl/extractor/sbs.py index 845712a..0e623ff 100644 --- a/youtube_dl/extractor/sbs.py +++ b/youtube_dl/extractor/sbs.py @@ -55,8 +55,8 @@ class SBSIE(InfoExtractor): raise ExtractorError('%s said: %s' % (self.IE_NAME, error_message), expected=True) urls = player_params['releaseUrls'] - theplatform_url = (urls.get('progressive') or urls.get('html') or - urls.get('standard') or player_params['relatedItemsURL']) + theplatform_url = (urls.get('progressive') or urls.get('html') + or urls.get('standard') or player_params['relatedItemsURL']) return { '_type': 'url_transparent', diff --git a/youtube_dl/extractor/servus.py b/youtube_dl/extractor/servus.py index 264e1dd..e579d42 100644 --- a/youtube_dl/extractor/servus.py +++ b/youtube_dl/extractor/servus.py @@ -1,31 +1,44 @@ # coding: utf-8 from __future__ import unicode_literals +import re + from .common import InfoExtractor class ServusIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?servus\.com/(?:at|de)/p/[^/]+/(?P<id>AA-\w+|\d+-\d+)' + _VALID_URL = r'https?://(?:www\.)?servus\.com/(?:(?:at|de)/p/[^/]+|tv/videos)/(?P<id>[aA]{2}-\w+|\d+-\d+)' _TESTS = [{ 'url': 'https://www.servus.com/de/p/Die-Gr%C3%BCnen-aus-Sicht-des-Volkes/AA-1T6VBU5PW1W12/', - 'md5': '046dee641cda1c4cabe13baef3be2c1c', + 'md5': '3e1dd16775aa8d5cbef23628cfffc1f4', 'info_dict': { 'id': 'AA-1T6VBU5PW1W12', 'ext': 'mp4', - 'title': 'Die Grünen aus Volkssicht', - 'description': 'md5:052b5da1cb2cd7d562ef1f19be5a5cba', - 'thumbnail': r're:^https?://.*\.jpg$', + 'title': 'Die Grünen aus Sicht des Volkes', + 'description': 'md5:1247204d85783afe3682644398ff2ec4', + 'thumbnail': r're:^https?://.*\.jpg', } }, { 'url': 'https://www.servus.com/at/p/Wie-das-Leben-beginnt/1309984137314-381415152/', 'only_matching': True, + }, { + 'url': 'https://www.servus.com/tv/videos/aa-1t6vbu5pw1w12/', + 'only_matching': True, + }, { + 'url': 'https://www.servus.com/tv/videos/1380889096408-1235196658/', + 'only_matching': True, }] def _real_extract(self, url): - video_id = self._match_id(url) + video_id = self._match_id(url).upper() webpage = self._download_webpage(url, video_id) - title = self._og_search_title(webpage) + title = self._search_regex( + (r'videoLabel\s*=\s*(["\'])(?P<title>(?:(?!\1).)+)\1', + r'<h\d+[^>]+\bclass=["\']heading--(?:one|two)["\'][^>]*>(?P<title>[^<]+)'), + webpage, 'title', default=None, + group='title') or self._og_search_title(webpage) + title = re.sub(r'\s*-\s*Servus TV\s*$', '', title) description = self._og_search_description(webpage) thumbnail = self._og_search_thumbnail(webpage) diff --git a/youtube_dl/extractor/shared.py b/youtube_dl/extractor/shared.py index 931a0f7..ff575f5 100644 --- a/youtube_dl/extractor/shared.py +++ b/youtube_dl/extractor/shared.py @@ -3,8 +3,11 @@ from __future__ import unicode_literals from .common import InfoExtractor from ..compat import compat_b64decode from ..utils import ( + determine_ext, ExtractorError, int_or_none, + KNOWN_EXTENSIONS, + parse_filesize, url_or_none, urlencode_postdata, ) @@ -22,10 +25,8 @@ class SharedBaseIE(InfoExtractor): video_url = self._extract_video_url(webpage, video_id, url) - title = compat_b64decode(self._html_search_meta( - 'full:title', webpage, 'title')).decode('utf-8') - filesize = int_or_none(self._html_search_meta( - 'full:size', webpage, 'file size', fatal=False)) + title = self._extract_title(webpage) + filesize = int_or_none(self._extract_filesize(webpage)) return { 'id': video_id, @@ -35,6 +36,14 @@ class SharedBaseIE(InfoExtractor): 'title': title, } + def _extract_title(self, webpage): + return compat_b64decode(self._html_search_meta( + 'full:title', webpage, 'title')).decode('utf-8') + + def _extract_filesize(self, webpage): + return self._html_search_meta( + 'full:size', webpage, 'file size', fatal=False) + class SharedIE(SharedBaseIE): IE_DESC = 'shared.sx' @@ -82,11 +91,27 @@ class VivoIE(SharedBaseIE): 'id': 'd7ddda0e78', 'ext': 'mp4', 'title': 'Chicken', - 'filesize': 528031, + 'filesize': 515659, }, } - def _extract_video_url(self, webpage, video_id, *args): + def _extract_title(self, webpage): + title = self._html_search_regex( + r'data-name\s*=\s*(["\'])(?P<title>(?:(?!\1).)+)\1', webpage, + 'title', default=None, group='title') + if title: + ext = determine_ext(title) + if ext.lower() in KNOWN_EXTENSIONS: + title = title.rpartition('.' + ext)[0] + return title + return self._og_search_title(webpage) + + def _extract_filesize(self, webpage): + return parse_filesize(self._search_regex( + r'data-type=["\']video["\'][^>]*>Watch.*?<strong>\s*\((.+?)\)', + webpage, 'filesize', fatal=False)) + + def _extract_video_url(self, webpage, video_id, url): def decode_url(encoded_url): return compat_b64decode(encoded_url).decode('utf-8') diff --git a/youtube_dl/extractor/sixplay.py b/youtube_dl/extractor/sixplay.py index 0c4f865..2a72af1 100644 --- a/youtube_dl/extractor/sixplay.py +++ b/youtube_dl/extractor/sixplay.py @@ -61,10 +61,11 @@ class SixPlayIE(InfoExtractor): quality_key = qualities(['lq', 'sd', 'hq', 'hd']) formats = [] subtitles = {} - for asset in clip_data['assets']: + assets = clip_data.get('assets') or [] + for asset in assets: asset_url = asset.get('full_physical_path') protocol = asset.get('protocol') - if not asset_url or protocol == 'primetime' or asset.get('type') == 'usp_hlsfp_h264' or asset_url in urls: + if not asset_url or ((protocol == 'primetime' or asset.get('type') == 'usp_hlsfp_h264') and not ('_drmnp.ism/' in asset_url or '_unpnp.ism/' in asset_url)) or asset_url in urls: continue urls.append(asset_url) container = asset.get('video_container') @@ -81,6 +82,7 @@ class SixPlayIE(InfoExtractor): if not urlh: continue asset_url = urlh.geturl() + asset_url = asset_url.replace('_drmnp.ism/', '_unpnp.ism/') for i in range(3, 0, -1): asset_url = asset_url = asset_url.replace('_sd1/', '_sd%d/' % i) m3u8_formats = self._extract_m3u8_formats( diff --git a/youtube_dl/extractor/skysports.py b/youtube_dl/extractor/sky.py similarity index 54% rename from youtube_dl/extractor/skysports.py rename to youtube_dl/extractor/sky.py index efcbb36..ea30d6e 100644 --- a/youtube_dl/extractor/skysports.py +++ b/youtube_dl/extractor/sky.py @@ -10,34 +10,25 @@ from ..utils import ( ) -class SkySportsIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?skysports\.com/watch/video/(?P<id>[0-9]+)' - _TEST = { - 'url': 'http://www.skysports.com/watch/video/10328419/bale-its-our-time-to-shine', - 'md5': '77d59166cddc8d3cb7b13e35eaf0f5ec', - 'info_dict': { - 'id': '10328419', - 'ext': 'mp4', - 'title': 'Bale: It\'s our time to shine', - 'description': 'md5:e88bda94ae15f7720c5cb467e777bb6d', - }, - 'add_ie': ['Ooyala'], - } - +class SkyBaseIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) webpage = self._download_webpage(url, video_id) video_data = extract_attributes(self._search_regex( - r'(<div.+?class="sdc-article-video__media-ooyala"[^>]+>)', webpage, 'video data')) + r'(<div.+?class="[^"]*sdc-article-video__media-ooyala[^"]*"[^>]+>)', + webpage, 'video data')) video_url = 'ooyala:%s' % video_data['data-video-id'] if video_data.get('data-token-required') == 'true': - token_fetch_options = self._parse_json(video_data.get('data-token-fetch-options', '{}'), video_id, fatal=False) or {} + token_fetch_options = self._parse_json(video_data.get( + 'data-token-fetch-options', '{}'), video_id, fatal=False) or {} token_fetch_url = token_fetch_options.get('url') if token_fetch_url: - embed_token = self._download_webpage(urljoin(url, token_fetch_url), video_id, fatal=False) + embed_token = self._download_webpage(urljoin( + url, token_fetch_url), video_id, fatal=False) if embed_token: - video_url = smuggle_url(video_url, {'embed_token': embed_token.strip('"')}) + video_url = smuggle_url( + video_url, {'embed_token': embed_token.strip('"')}) return { '_type': 'url_transparent', @@ -47,3 +38,33 @@ class SkySportsIE(InfoExtractor): 'description': strip_or_none(self._og_search_description(webpage)), 'ie_key': 'Ooyala', } + + +class SkySportsIE(SkyBaseIE): + _VALID_URL = r'https?://(?:www\.)?skysports\.com/watch/video/(?P<id>[0-9]+)' + _TEST = { + 'url': 'http://www.skysports.com/watch/video/10328419/bale-its-our-time-to-shine', + 'md5': '77d59166cddc8d3cb7b13e35eaf0f5ec', + 'info_dict': { + 'id': 'o3eWJnNDE6l7kfNO8BOoBlRxXRQ4ANNQ', + 'ext': 'mp4', + 'title': 'Bale: It\'s our time to shine', + 'description': 'md5:e88bda94ae15f7720c5cb467e777bb6d', + }, + 'add_ie': ['Ooyala'], + } + + +class SkyNewsIE(SkyBaseIE): + _VALID_URL = r'https?://news\.sky\.com/video/[0-9a-z-]+-(?P<id>[0-9]+)' + _TEST = { + 'url': 'https://news.sky.com/video/russian-plane-inspected-after-deadly-fire-11712962', + 'md5': 'd6327e581473cea9976a3236ded370cd', + 'info_dict': { + 'id': '1ua21xaDE6lCtZDmbYfl8kwsKLooJbNM', + 'ext': 'mp4', + 'title': 'Russian plane inspected after deadly fire', + 'description': 'The Russian Investigative Committee has released video of the wreckage of a passenger plane which caught fire near Moscow.', + }, + 'add_ie': ['Ooyala'], + } diff --git a/youtube_dl/extractor/soundcloud.py b/youtube_dl/extractor/soundcloud.py index 81c81c8..277c3c7 100644 --- a/youtube_dl/extractor/soundcloud.py +++ b/youtube_dl/extractor/soundcloud.py @@ -15,9 +15,16 @@ from ..compat import ( ) from ..utils import ( ExtractorError, + float_or_none, int_or_none, - unified_strdate, + KNOWN_EXTENSIONS, + merge_dicts, + mimetype2ext, + str_or_none, + try_get, + unified_timestamp, update_url_query, + url_or_none, ) @@ -34,7 +41,7 @@ class SoundcloudIE(InfoExtractor): (?:(?:(?:www\.|m\.)?soundcloud\.com/ (?!stations/track) (?P<uploader>[\w\d-]+)/ - (?!(?:tracks|sets(?:/.+?)?|reposts|likes|spotlight)/?(?:$|[?#])) + (?!(?:tracks|albums|sets(?:/.+?)?|reposts|likes|spotlight)/?(?:$|[?#])) (?P<title>[\w\d-]+)/? (?P<token>[^?]+?)?(?:[?].*)?$) |(?:api\.soundcloud\.com/tracks/(?P<track_id>\d+) @@ -50,12 +57,17 @@ class SoundcloudIE(InfoExtractor): 'info_dict': { 'id': '62986583', 'ext': 'mp3', - 'upload_date': '20121011', + 'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', 'description': 'No Downloads untill we record the finished version this weekend, i was too pumped n i had to post it , earl is prolly gonna b hella p.o\'d', 'uploader': 'E.T. ExTerrestrial Music', - 'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', - 'duration': 143, + 'timestamp': 1349920598, + 'upload_date': '20121011', + 'duration': 143.216, 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, } }, # not streamable song @@ -67,9 +79,14 @@ class SoundcloudIE(InfoExtractor): 'title': 'Goldrushed', 'description': 'From Stockholm Sweden\r\nPovel / Magnus / Filip / David\r\nwww.theroyalconcept.com', 'uploader': 'The Royal Concept', + 'timestamp': 1337635207, 'upload_date': '20120521', - 'duration': 227, + 'duration': 30, 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, }, 'params': { # rtmp @@ -84,11 +101,16 @@ class SoundcloudIE(InfoExtractor): 'id': '123998367', 'ext': 'mp3', 'title': 'Youtube - Dl Test Video \'\' AÌâ', - 'uploader': 'jaimeMF', 'description': 'test chars: \"\'/\\äâ', + 'uploader': 'jaimeMF', + 'timestamp': 1386604920, 'upload_date': '20131209', - 'duration': 9, + 'duration': 9.927, 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, }, }, # private link (alt format) @@ -99,11 +121,16 @@ class SoundcloudIE(InfoExtractor): 'id': '123998367', 'ext': 'mp3', 'title': 'Youtube - Dl Test Video \'\' AÌâ', - 'uploader': 'jaimeMF', 'description': 'test chars: \"\'/\\äâ', + 'uploader': 'jaimeMF', + 'timestamp': 1386604920, 'upload_date': '20131209', - 'duration': 9, + 'duration': 9.927, 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, }, }, # downloadable song @@ -116,9 +143,14 @@ class SoundcloudIE(InfoExtractor): 'title': 'Bus Brakes', 'description': 'md5:0053ca6396e8d2fd7b7e1595ef12ab66', 'uploader': 'oddsamples', + 'timestamp': 1389232924, 'upload_date': '20140109', - 'duration': 17, + 'duration': 17.346, 'license': 'cc-by-sa', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, }, }, # private link, downloadable format @@ -131,9 +163,14 @@ class SoundcloudIE(InfoExtractor): 'title': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]', 'description': 'md5:fa20ee0fca76a3d6df8c7e57f3715366', 'uploader': 'Ori Uplift Music', + 'timestamp': 1504206263, 'upload_date': '20170831', - 'duration': 7449, + 'duration': 7449.096, 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, }, }, # no album art, use avatar pic for thumbnail @@ -146,18 +183,45 @@ class SoundcloudIE(InfoExtractor): 'title': 'Sideways (Prod. Mad Real)', 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e', 'uploader': 'garyvee', + 'timestamp': 1488152409, 'upload_date': '20170226', - 'duration': 207, + 'duration': 207.012, 'thumbnail': r're:https?://.*\.jpg', 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, }, 'params': { 'skip_download': True, }, }, + # not avaialble via api.soundcloud.com/i1/tracks/id/streams + { + 'url': 'https://soundcloud.com/giovannisarani/mezzo-valzer', + 'md5': 'e22aecd2bc88e0e4e432d7dcc0a1abf7', + 'info_dict': { + 'id': '583011102', + 'ext': 'mp3', + 'title': 'Mezzo Valzer', + 'description': 'md5:4138d582f81866a530317bae316e8b61', + 'uploader': 'Giovanni Sarani', + 'timestamp': 1551394171, + 'upload_date': '20190228', + 'duration': 180.157, + 'thumbnail': r're:https?://.*\.jpg', + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + }, + 'expected_warnings': ['Unable to download JSON metadata'], + } ] - _CLIENT_ID = 'LvWovRaJZlWCHql0bISuum8Bd2KX79mb' + _CLIENT_ID = 'FweeGBOOEOYJWLJN3oEyToGLKhmSz0I7' @staticmethod def _extract_urls(webpage): @@ -165,33 +229,46 @@ class SoundcloudIE(InfoExtractor): r'<iframe[^>]+src=(["\'])(?P<url>(?:https?://)?(?:w\.)?soundcloud\.com/player.+?)\1', webpage)] - def report_resolve(self, video_id): - """Report information extraction.""" - self.to_screen('%s: Resolving id' % video_id) - @classmethod def _resolv_url(cls, url): return 'https://api.soundcloud.com/resolve.json?url=' + url + '&client_id=' + cls._CLIENT_ID def _extract_info_dict(self, info, full_title=None, quiet=False, secret_token=None): track_id = compat_str(info['id']) + title = info['title'] name = full_title or track_id if quiet: self.report_extraction(name) thumbnail = info.get('artwork_url') or info.get('user', {}).get('avatar_url') if isinstance(thumbnail, compat_str): thumbnail = thumbnail.replace('-large', '-t500x500') + username = try_get(info, lambda x: x['user']['username'], compat_str) + + def extract_count(key): + return int_or_none(info.get('%s_count' % key)) + + like_count = extract_count('favoritings') + if like_count is None: + like_count = extract_count('likes') + result = { 'id': track_id, - 'uploader': info.get('user', {}).get('username'), - 'upload_date': unified_strdate(info.get('created_at')), - 'title': info['title'], + 'uploader': username, + 'timestamp': unified_timestamp(info.get('created_at')), + 'title': title, 'description': info.get('description'), 'thumbnail': thumbnail, - 'duration': int_or_none(info.get('duration'), 1000), + 'duration': float_or_none(info.get('duration'), 1000), 'webpage_url': info.get('permalink_url'), 'license': info.get('license'), + 'view_count': extract_count('playback'), + 'like_count': like_count, + 'comment_count': extract_count('comment'), + 'repost_count': extract_count('reposts'), + 'genre': info.get('genre'), } + + format_urls = set() formats = [] query = {'client_id': self._CLIENT_ID} if secret_token is not None: @@ -200,6 +277,7 @@ class SoundcloudIE(InfoExtractor): # We can build a direct link to the song format_url = update_url_query( 'https://api.soundcloud.com/tracks/%s/download' % track_id, query) + format_urls.add(format_url) formats.append({ 'format_id': 'download', 'ext': info.get('original_format', 'mp3'), @@ -208,44 +286,91 @@ class SoundcloudIE(InfoExtractor): 'preference': 10, }) - # We have to retrieve the url + # Old API, does not work for some tracks (e.g. + # https://soundcloud.com/giovannisarani/mezzo-valzer) format_dict = self._download_json( 'https://api.soundcloud.com/i1/tracks/%s/streams' % track_id, - track_id, 'Downloading track url', query=query) - - for key, stream_url in format_dict.items(): - ext, abr = 'mp3', None - mobj = re.search(r'_([^_]+)_(\d+)_url', key) - if mobj: - ext, abr = mobj.groups() - abr = int(abr) - if key.startswith('http'): - stream_formats = [{ - 'format_id': key, - 'ext': ext, - 'url': stream_url, - }] - elif key.startswith('rtmp'): - # The url doesn't have an rtmp app, we have to extract the playpath - url, path = stream_url.split('mp3:', 1) - stream_formats = [{ - 'format_id': key, - 'url': url, - 'play_path': 'mp3:' + path, - 'ext': 'flv', - }] - elif key.startswith('hls'): - stream_formats = self._extract_m3u8_formats( - stream_url, track_id, ext, entry_protocol='m3u8_native', - m3u8_id=key, fatal=False) - else: + track_id, 'Downloading track url', query=query, fatal=False) + + if format_dict: + for key, stream_url in format_dict.items(): + if stream_url in format_urls: + continue + format_urls.add(stream_url) + ext, abr = 'mp3', None + mobj = re.search(r'_([^_]+)_(\d+)_url', key) + if mobj: + ext, abr = mobj.groups() + abr = int(abr) + if key.startswith('http'): + stream_formats = [{ + 'format_id': key, + 'ext': ext, + 'url': stream_url, + }] + elif key.startswith('rtmp'): + # The url doesn't have an rtmp app, we have to extract the playpath + url, path = stream_url.split('mp3:', 1) + stream_formats = [{ + 'format_id': key, + 'url': url, + 'play_path': 'mp3:' + path, + 'ext': 'flv', + }] + elif key.startswith('hls'): + stream_formats = self._extract_m3u8_formats( + stream_url, track_id, ext, entry_protocol='m3u8_native', + m3u8_id=key, fatal=False) + else: + continue + + if abr: + for f in stream_formats: + f['abr'] = abr + + formats.extend(stream_formats) + + # New API + transcodings = try_get( + info, lambda x: x['media']['transcodings'], list) or [] + for t in transcodings: + if not isinstance(t, dict): continue - - if abr: - for f in stream_formats: - f['abr'] = abr - - formats.extend(stream_formats) + format_url = url_or_none(t.get('url')) + if not format_url: + continue + stream = self._download_json( + update_url_query(format_url, query), track_id, fatal=False) + if not isinstance(stream, dict): + continue + stream_url = url_or_none(stream.get('url')) + if not stream_url: + continue + if stream_url in format_urls: + continue + format_urls.add(stream_url) + protocol = try_get(t, lambda x: x['format']['protocol'], compat_str) + if protocol != 'hls' and '/hls' in format_url: + protocol = 'hls' + ext = None + preset = str_or_none(t.get('preset')) + if preset: + ext = preset.split('_')[0] + if ext not in KNOWN_EXTENSIONS: + mimetype = try_get( + t, lambda x: x['format']['mime_type'], compat_str) + ext = mimetype2ext(mimetype) or 'mp3' + format_id_list = [] + if protocol: + format_id_list.append(protocol) + format_id_list.append(ext) + format_id = '_'.join(format_id_list) + formats.append({ + 'url': stream_url, + 'format_id': format_id, + 'ext': ext, + 'protocol': 'm3u8_native' if protocol == 'hls' else 'http', + }) if not formats: # We fallback to the stream_url in the original info, this @@ -255,11 +380,11 @@ class SoundcloudIE(InfoExtractor): 'url': update_url_query(info['stream_url'], query), 'ext': 'mp3', }) + self._check_formats(formats, track_id) for f in formats: f['vcodec'] = 'none' - self._check_formats(formats, track_id) self._sort_formats(formats) result['formats'] = formats @@ -271,6 +396,7 @@ class SoundcloudIE(InfoExtractor): raise ExtractorError('Invalid URL: %s' % url) track_id = mobj.group('track_id') + new_info = {} if track_id is not None: info_json_url = 'https://api.soundcloud.com/tracks/' + track_id + '.json?client_id=' + self._CLIENT_ID @@ -296,13 +422,31 @@ class SoundcloudIE(InfoExtractor): if token: resolve_title += '/%s' % token - self.report_resolve(full_title) - - url = 'https://soundcloud.com/%s' % resolve_title - info_json_url = self._resolv_url(url) - info = self._download_json(info_json_url, full_title, 'Downloading info JSON') - - return self._extract_info_dict(info, full_title, secret_token=token) + webpage = self._download_webpage(url, full_title, fatal=False) + if webpage: + entries = self._parse_json( + self._search_regex( + r'var\s+c\s*=\s*(\[.+?\])\s*,\s*o\s*=Date\b', webpage, + 'data', default='[]'), full_title, fatal=False) + if entries: + for e in entries: + if not isinstance(e, dict): + continue + if e.get('id') != 67: + continue + data = try_get(e, lambda x: x['data'][0], dict) + if data: + new_info = data + break + info_json_url = self._resolv_url( + 'https://soundcloud.com/%s' % resolve_title) + + # Contains some additional info missing from new_info + info = self._download_json( + info_json_url, full_title, 'Downloading info JSON') + + return self._extract_info_dict( + merge_dicts(info, new_info), full_title, secret_token=token) class SoundcloudPlaylistBaseIE(SoundcloudIE): @@ -348,8 +492,6 @@ class SoundcloudSetIE(SoundcloudPlaylistBaseIE): full_title += '/' + token url += '/' + token - self.report_resolve(full_title) - resolv_url = self._resolv_url(url) info = self._download_json(resolv_url, full_title) @@ -368,7 +510,6 @@ class SoundcloudSetIE(SoundcloudPlaylistBaseIE): class SoundcloudPagedPlaylistBaseIE(SoundcloudPlaylistBaseIE): - _API_BASE = 'https://api.soundcloud.com' _API_V2_BASE = 'https://api-v2.soundcloud.com' def _extract_playlist(self, base_url, playlist_id, playlist_title): @@ -389,21 +530,30 @@ class SoundcloudPagedPlaylistBaseIE(SoundcloudPlaylistBaseIE): next_href, playlist_id, 'Downloading track page %s' % (i + 1)) collection = response['collection'] - if not collection: - break - def resolve_permalink_url(candidates): + if not isinstance(collection, list): + collection = [] + + # Empty collection may be returned, in this case we proceed + # straight to next_href + + def resolve_entry(candidates): for cand in candidates: - if isinstance(cand, dict): - permalink_url = cand.get('permalink_url') - entry_id = self._extract_id(cand) - if permalink_url and permalink_url.startswith('http'): - return permalink_url, entry_id + if not isinstance(cand, dict): + continue + permalink_url = url_or_none(cand.get('permalink_url')) + if not permalink_url: + continue + return self.url_result( + permalink_url, + ie=SoundcloudIE.ie_key() if SoundcloudIE.suitable(permalink_url) else None, + video_id=self._extract_id(cand), + video_title=cand.get('title')) for e in collection: - permalink_url, entry_id = resolve_permalink_url((e, e.get('track'), e.get('playlist'))) - if permalink_url: - entries.append(self.url_result(permalink_url, video_id=entry_id)) + entry = resolve_entry((e, e.get('track'), e.get('playlist'))) + if entry: + entries.append(entry) next_href = response.get('next_href') if not next_href: @@ -429,46 +579,53 @@ class SoundcloudUserIE(SoundcloudPagedPlaylistBaseIE): (?:(?:www|m)\.)?soundcloud\.com/ (?P<user>[^/]+) (?:/ - (?P<rsrc>tracks|sets|reposts|likes|spotlight) + (?P<rsrc>tracks|albums|sets|reposts|likes|spotlight) )? /?(?:[?#].*)?$ ''' IE_NAME = 'soundcloud:user' _TESTS = [{ - 'url': 'https://soundcloud.com/the-akashic-chronicler', + 'url': 'https://soundcloud.com/soft-cell-official', 'info_dict': { - 'id': '114582580', - 'title': 'The Akashic Chronicler (All)', + 'id': '207965082', + 'title': 'Soft Cell (All)', }, - 'playlist_mincount': 74, + 'playlist_mincount': 28, }, { - 'url': 'https://soundcloud.com/the-akashic-chronicler/tracks', + 'url': 'https://soundcloud.com/soft-cell-official/tracks', 'info_dict': { - 'id': '114582580', - 'title': 'The Akashic Chronicler (Tracks)', + 'id': '207965082', + 'title': 'Soft Cell (Tracks)', }, - 'playlist_mincount': 37, + 'playlist_mincount': 27, }, { - 'url': 'https://soundcloud.com/the-akashic-chronicler/sets', + 'url': 'https://soundcloud.com/soft-cell-official/albums', 'info_dict': { - 'id': '114582580', - 'title': 'The Akashic Chronicler (Playlists)', + 'id': '207965082', + 'title': 'Soft Cell (Albums)', + }, + 'playlist_mincount': 1, + }, { + 'url': 'https://soundcloud.com/jcv246/sets', + 'info_dict': { + 'id': '12982173', + 'title': 'Jordi / cv (Playlists)', }, 'playlist_mincount': 2, }, { - 'url': 'https://soundcloud.com/the-akashic-chronicler/reposts', + 'url': 'https://soundcloud.com/jcv246/reposts', 'info_dict': { - 'id': '114582580', - 'title': 'The Akashic Chronicler (Reposts)', + 'id': '12982173', + 'title': 'Jordi / cv (Reposts)', }, - 'playlist_mincount': 7, + 'playlist_mincount': 6, }, { - 'url': 'https://soundcloud.com/the-akashic-chronicler/likes', + 'url': 'https://soundcloud.com/clalberg/likes', 'info_dict': { - 'id': '114582580', - 'title': 'The Akashic Chronicler (Likes)', + 'id': '11817582', + 'title': 'clalberg (Likes)', }, - 'playlist_mincount': 321, + 'playlist_mincount': 5, }, { 'url': 'https://soundcloud.com/grynpyret/spotlight', 'info_dict': { @@ -479,10 +636,11 @@ class SoundcloudUserIE(SoundcloudPagedPlaylistBaseIE): }] _BASE_URL_MAP = { - 'all': '%s/profile/soundcloud:users:%%s' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, - 'tracks': '%s/users/%%s/tracks' % SoundcloudPagedPlaylistBaseIE._API_BASE, + 'all': '%s/stream/users/%%s' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, + 'tracks': '%s/users/%%s/tracks' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, + 'albums': '%s/users/%%s/albums' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, 'sets': '%s/users/%%s/playlists' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, - 'reposts': '%s/profile/soundcloud:users:%%s/reposts' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, + 'reposts': '%s/stream/users/%%s/reposts' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, 'likes': '%s/users/%%s/likes' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, 'spotlight': '%s/users/%%s/spotlight' % SoundcloudPagedPlaylistBaseIE._API_V2_BASE, } @@ -490,6 +648,7 @@ class SoundcloudUserIE(SoundcloudPagedPlaylistBaseIE): _TITLE_MAP = { 'all': 'All', 'tracks': 'Tracks', + 'albums': 'Albums', 'sets': 'Playlists', 'reposts': 'Reposts', 'likes': 'Likes', diff --git a/youtube_dl/extractor/spankbang.py b/youtube_dl/extractor/spankbang.py index 67500b6..f11d728 100644 --- a/youtube_dl/extractor/spankbang.py +++ b/youtube_dl/extractor/spankbang.py @@ -5,14 +5,17 @@ import re from .common import InfoExtractor from ..utils import ( ExtractorError, + orderedSet, parse_duration, parse_resolution, str_to_int, + url_or_none, + urlencode_postdata, ) class SpankBangIE(InfoExtractor): - _VALID_URL = r'https?://(?:(?:www|m|[a-z]{2})\.)?spankbang\.com/(?P<id>[\da-z]+)/video' + _VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/(?:video|play|embed)\b' _TESTS = [{ 'url': 'http://spankbang.com/3vvn/video/fantasy+solo', 'md5': '1cc433e1d6aa14bc376535b8679302f7', @@ -41,29 +44,71 @@ class SpankBangIE(InfoExtractor): # 4k 'url': 'https://spankbang.com/1vwqx/video/jade+kush+solo+4k', 'only_matching': True, + }, { + 'url': 'https://m.spankbang.com/3vvn/play/fantasy+solo/480p/', + 'only_matching': True, + }, { + 'url': 'https://m.spankbang.com/3vvn/play', + 'only_matching': True, + }, { + 'url': 'https://spankbang.com/2y3td/embed/', + 'only_matching': True, }] def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id, headers={ - 'Cookie': 'country=US' - }) + webpage = self._download_webpage( + url.replace('/%s/embed' % video_id, '/%s/video' % video_id), + video_id, headers={'Cookie': 'country=US'}) if re.search(r'<[^>]+\bid=["\']video_removed', webpage): raise ExtractorError( 'Video %s is not available' % video_id, expected=True) formats = [] - for mobj in re.finditer( - r'stream_url_(?P<id>[^\s=]+)\s*=\s*(["\'])(?P<url>(?:(?!\2).)+)\2', - webpage): - format_id, format_url = mobj.group('id', 'url') + + def extract_format(format_id, format_url): + f_url = url_or_none(format_url) + if not f_url: + return f = parse_resolution(format_id) f.update({ - 'url': format_url, + 'url': f_url, 'format_id': format_id, }) formats.append(f) + + STREAM_URL_PREFIX = 'stream_url_' + + for mobj in re.finditer( + r'%s(?P<id>[^\s=]+)\s*=\s*(["\'])(?P<url>(?:(?!\2).)+)\2' + % STREAM_URL_PREFIX, webpage): + extract_format(mobj.group('id', 'url')) + + if not formats: + stream_key = self._search_regex( + r'data-streamkey\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1', + webpage, 'stream key', group='value') + + sb_csrf_session = self._get_cookies( + 'https://spankbang.com')['sb_csrf_session'].value + + stream = self._download_json( + 'https://spankbang.com/api/videos/stream', video_id, + 'Downloading stream JSON', data=urlencode_postdata({ + 'id': stream_key, + 'data': 0, + 'sb_csrf_session': sb_csrf_session, + }), headers={ + 'Referer': url, + 'X-CSRFToken': sb_csrf_session, + }) + + for format_id, format_url in stream.items(): + if format_id.startswith(STREAM_URL_PREFIX): + extract_format( + format_id[len(STREAM_URL_PREFIX):], format_url) + self._sort_formats(formats) title = self._html_search_regex( @@ -94,3 +139,33 @@ class SpankBangIE(InfoExtractor): 'formats': formats, 'age_limit': age_limit, } + + +class SpankBangPlaylistIE(InfoExtractor): + _VALID_URL = r'https?://(?:[^/]+\.)?spankbang\.com/(?P<id>[\da-z]+)/playlist/[^/]+' + _TEST = { + 'url': 'https://spankbang.com/ug0k/playlist/big+ass+titties', + 'info_dict': { + 'id': 'ug0k', + 'title': 'Big Ass Titties', + }, + 'playlist_mincount': 50, + } + + def _real_extract(self, url): + playlist_id = self._match_id(url) + + webpage = self._download_webpage( + url, playlist_id, headers={'Cookie': 'country=US; mobile=on'}) + + entries = [self.url_result( + 'https://spankbang.com/%s/video' % video_id, + ie=SpankBangIE.ie_key(), video_id=video_id) + for video_id in orderedSet(re.findall( + r'<a[^>]+\bhref=["\']/?([\da-z]+)/play/', webpage))] + + title = self._html_search_regex( + r'<h1>([^<]+)\s+playlist</h1>', webpage, 'playlist title', + fatal=False) + + return self.playlist_result(entries, playlist_id, title) diff --git a/youtube_dl/extractor/spike.py b/youtube_dl/extractor/spike.py index 6090e00..21b93a5 100644 --- a/youtube_dl/extractor/spike.py +++ b/youtube_dl/extractor/spike.py @@ -46,8 +46,12 @@ class ParamountNetworkIE(MTVServicesInfoExtractor): _GEO_COUNTRIES = ['US'] def _extract_mgid(self, webpage): - cs = self._parse_json(self._search_regex( + root_data = self._parse_json(self._search_regex( r'window\.__DATA__\s*=\s*({.+})', - webpage, 'data'), None)['children'] - c = next(c for c in cs if c.get('type') == 'VideoPlayer') + webpage, 'data'), None) + + def find_sub_data(data, data_type): + return next(c for c in data['children'] if c.get('type') == data_type) + + c = find_sub_data(find_sub_data(root_data, 'MainContainer'), 'VideoPlayer') return c['props']['media']['video']['config']['uri'] diff --git a/youtube_dl/extractor/srgssr.py b/youtube_dl/extractor/srgssr.py index bb73eb1..170dce8 100644 --- a/youtube_dl/extractor/srgssr.py +++ b/youtube_dl/extractor/srgssr.py @@ -106,7 +106,16 @@ class SRGSSRIE(InfoExtractor): class SRGSSRPlayIE(InfoExtractor): IE_DESC = 'srf.ch, rts.ch, rsi.ch, rtr.ch and swissinfo.ch play sites' - _VALID_URL = r'https?://(?:(?:www|play)\.)?(?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/[^/]+/(?P<type>video|audio)/[^?]+\?id=(?P<id>[0-9a-f\-]{36}|\d+)' + _VALID_URL = r'''(?x) + https?:// + (?:(?:www|play)\.)? + (?P<bu>srf|rts|rsi|rtr|swissinfo)\.ch/play/(?:tv|radio)/ + (?: + [^/]+/(?P<type>video|audio)/[^?]+| + popup(?P<type_2>video|audio)player + ) + \?id=(?P<id>[0-9a-f\-]{36}|\d+) + ''' _TESTS = [{ 'url': 'http://www.srf.ch/play/tv/10vor10/video/snowden-beantragt-asyl-in-russland?id=28e1a57d-5b76-4399-8ab3-9097f071e6c5', @@ -163,9 +172,15 @@ class SRGSSRPlayIE(InfoExtractor): # m3u8 download 'skip_download': True, } + }, { + 'url': 'https://www.srf.ch/play/tv/popupvideoplayer?id=c4dba0ca-e75b-43b2-a34f-f708a4932e01', + 'only_matching': True, }] def _real_extract(self, url): - bu, media_type, media_id = re.match(self._VALID_URL, url).groups() + mobj = re.match(self._VALID_URL, url) + bu = mobj.group('bu') + media_type = mobj.group('type') or mobj.group('type_2') + media_id = mobj.group('id') # other info can be extracted from url + '&layout=json' return self.url_result('srgssr:%s:%s:%s' % (bu[:3], media_type, media_id), 'SRGSSR') diff --git a/youtube_dl/extractor/streamango.py b/youtube_dl/extractor/streamango.py index fcaa5ac..f1e17dd 100644 --- a/youtube_dl/extractor/streamango.py +++ b/youtube_dl/extractor/streamango.py @@ -14,7 +14,7 @@ from ..utils import ( class StreamangoIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?streamango\.com/(?:f|embed)/(?P<id>[^/?#&]+)' + _VALID_URL = r'https?://(?:www\.)?(?:streamango\.com|fruithosts\.net|streamcherry\.com)/(?:f|embed)/(?P<id>[^/?#&]+)' _TESTS = [{ 'url': 'https://streamango.com/f/clapasobsptpkdfe/20170315_150006_mp4', 'md5': 'e992787515a182f55e38fc97588d802a', @@ -38,6 +38,12 @@ class StreamangoIE(InfoExtractor): }, { 'url': 'https://streamango.com/embed/clapasobsptpkdfe/20170315_150006_mp4', 'only_matching': True, + }, { + 'url': 'https://fruithosts.net/f/mreodparcdcmspsm/w1f1_r4lph_2018_brrs_720p_latino_mp4', + 'only_matching': True, + }, { + 'url': 'https://streamcherry.com/f/clapasobsptpkdfe/', + 'only_matching': True, }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/streamcloud.py b/youtube_dl/extractor/streamcloud.py index 4a41061..b97bb43 100644 --- a/youtube_dl/extractor/streamcloud.py +++ b/youtube_dl/extractor/streamcloud.py @@ -45,7 +45,7 @@ class StreamcloudIE(InfoExtractor): value="([^"]*)" ''', orig_webpage) - self._sleep(12, video_id) + self._sleep(6, video_id) webpage = self._download_webpage( url, video_id, data=urlencode_postdata(fields), headers={ diff --git a/youtube_dl/extractor/stv.py b/youtube_dl/extractor/stv.py new file mode 100644 index 0000000..ccb074c --- /dev/null +++ b/youtube_dl/extractor/stv.py @@ -0,0 +1,94 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..compat import ( + compat_parse_qs, + compat_urllib_parse_urlparse +) +from ..utils import ( + extract_attributes, + float_or_none, + int_or_none, + str_or_none, +) + + +class STVPlayerIE(InfoExtractor): + IE_NAME = 'stv:player' + _VALID_URL = r'https?://player\.stv\.tv/(?P<type>episode|video)/(?P<id>[a-z0-9]{4})' + _TEST = { + 'url': 'https://player.stv.tv/video/7srz/victoria/interview-with-the-cast-ahead-of-new-victoria/', + 'md5': '2ad867d4afd641fa14187596e0fbc91b', + 'info_dict': { + 'id': '6016487034001', + 'ext': 'mp4', + 'upload_date': '20190321', + 'title': 'Interview with the cast ahead of new Victoria', + 'description': 'Nell Hudson and Lily Travers tell us what to expect in the new season of Victoria.', + 'timestamp': 1553179628, + 'uploader_id': '1486976045', + }, + 'skip': 'this resource is unavailable outside of the UK', + } + _PUBLISHER_ID = '1486976045' + _PTYPE_MAP = { + 'episode': 'episodes', + 'video': 'shortform', + } + + def _real_extract(self, url): + ptype, video_id = re.match(self._VALID_URL, url).groups() + webpage = self._download_webpage(url, video_id) + + qs = compat_parse_qs(compat_urllib_parse_urlparse(self._search_regex( + r'itemprop="embedURL"[^>]+href="([^"]+)', + webpage, 'embed URL', default=None)).query) + publisher_id = qs.get('publisherID', [None])[0] or self._PUBLISHER_ID + + player_attr = extract_attributes(self._search_regex( + r'(<[^>]+class="bcplayer"[^>]+>)', webpage, 'player', default=None)) or {} + + info = {} + duration = ref_id = series = video_id = None + api_ref_id = player_attr.get('data-player-api-refid') + if api_ref_id: + resp = self._download_json( + 'https://player.api.stv.tv/v1/%s/%s' % (self._PTYPE_MAP[ptype], api_ref_id), + api_ref_id, fatal=False) + if resp: + result = resp.get('results') or {} + video = result.get('video') or {} + video_id = str_or_none(video.get('id')) + ref_id = video.get('guid') + duration = video.get('length') + programme = result.get('programme') or {} + series = programme.get('name') or programme.get('shortName') + subtitles = {} + _subtitles = result.get('_subtitles') or {} + for ext, sub_url in _subtitles.items(): + subtitles.setdefault('en', []).append({ + 'ext': 'vtt' if ext == 'webvtt' else ext, + 'url': sub_url, + }) + info.update({ + 'description': result.get('summary'), + 'subtitles': subtitles, + 'view_count': int_or_none(result.get('views')), + }) + if not video_id: + video_id = qs.get('videoId', [None])[0] or self._search_regex( + r'<link\s+itemprop="url"\s+href="(\d+)"', + webpage, 'video id', default=None) or 'ref:' + (ref_id or player_attr['data-refid']) + + info.update({ + '_type': 'url_transparent', + 'duration': float_or_none(duration or player_attr.get('data-duration'), 1000), + 'id': video_id, + 'ie_key': 'BrightcoveNew', + 'series': series or player_attr.get('data-programme-name'), + 'url': 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s' % (publisher_id, video_id), + }) + return info diff --git a/youtube_dl/extractor/sverigesradio.py b/youtube_dl/extractor/sverigesradio.py new file mode 100644 index 0000000..aa0691f --- /dev/null +++ b/youtube_dl/extractor/sverigesradio.py @@ -0,0 +1,115 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + determine_ext, + int_or_none, + str_or_none, +) + + +class SverigesRadioBaseIE(InfoExtractor): + _BASE_URL = 'https://sverigesradio.se/sida/playerajax/' + _QUALITIES = ['low', 'medium', 'high'] + _EXT_TO_CODEC_MAP = { + 'mp3': 'mp3', + 'm4a': 'aac', + } + _CODING_FORMAT_TO_ABR_MAP = { + 5: 128, + 11: 192, + 12: 32, + 13: 96, + } + + def _real_extract(self, url): + audio_id = self._match_id(url) + query = { + 'id': audio_id, + 'type': self._AUDIO_TYPE, + } + + item = self._download_json( + self._BASE_URL + 'audiometadata', audio_id, + 'Downloading audio JSON metadata', query=query)['items'][0] + title = item['subtitle'] + + query['format'] = 'iis' + urls = [] + formats = [] + for quality in self._QUALITIES: + query['quality'] = quality + audio_url_data = self._download_json( + self._BASE_URL + 'getaudiourl', audio_id, + 'Downloading %s format JSON metadata' % quality, + fatal=False, query=query) or {} + audio_url = audio_url_data.get('audioUrl') + if not audio_url or audio_url in urls: + continue + urls.append(audio_url) + ext = determine_ext(audio_url) + coding_format = audio_url_data.get('codingFormat') + abr = int_or_none(self._search_regex( + r'_a(\d+)\.m4a', audio_url, 'audio bitrate', + default=None)) or self._CODING_FORMAT_TO_ABR_MAP.get(coding_format) + formats.append({ + 'abr': abr, + 'acodec': self._EXT_TO_CODEC_MAP.get(ext), + 'ext': ext, + 'format_id': str_or_none(coding_format), + 'vcodec': 'none', + 'url': audio_url, + }) + self._sort_formats(formats) + + return { + 'id': audio_id, + 'title': title, + 'formats': formats, + 'series': item.get('title'), + 'duration': int_or_none(item.get('duration')), + 'thumbnail': item.get('displayimageurl'), + 'description': item.get('description'), + } + + +class SverigesRadioPublicationIE(SverigesRadioBaseIE): + IE_NAME = 'sverigesradio:publication' + _VALID_URL = r'https?://(?:www\.)?sverigesradio\.se/sida/(?:artikel|gruppsida)\.aspx\?.*?\bartikel=(?P<id>[0-9]+)' + _TESTS = [{ + 'url': 'https://sverigesradio.se/sida/artikel.aspx?programid=83&artikel=7038546', + 'md5': '6a4917e1923fccb080e5a206a5afa542', + 'info_dict': { + 'id': '7038546', + 'ext': 'm4a', + 'duration': 132, + 'series': 'Nyheter (Ekot)', + 'title': 'Esa Teittinen: Sanningen har inte kommit fram', + 'description': 'md5:daf7ce66a8f0a53d5465a5984d3839df', + 'thumbnail': r're:^https?://.*\.jpg', + }, + }, { + 'url': 'https://sverigesradio.se/sida/gruppsida.aspx?programid=3304&grupp=6247&artikel=7146887', + 'only_matching': True, + }] + _AUDIO_TYPE = 'publication' + + +class SverigesRadioEpisodeIE(SverigesRadioBaseIE): + IE_NAME = 'sverigesradio:episode' + _VALID_URL = r'https?://(?:www\.)?sverigesradio\.se/(?:sida/)?avsnitt/(?P<id>[0-9]+)' + _TEST = { + 'url': 'https://sverigesradio.se/avsnitt/1140922?programid=1300', + 'md5': '20dc4d8db24228f846be390b0c59a07c', + 'info_dict': { + 'id': '1140922', + 'ext': 'mp3', + 'duration': 3307, + 'series': 'Konflikt', + 'title': 'Metoo och valen', + 'description': 'md5:fcb5c1f667f00badcc702b196f10a27e', + 'thumbnail': r're:^https?://.*\.jpg', + } + } + _AUDIO_TYPE = 'episode' diff --git a/youtube_dl/extractor/teachable.py b/youtube_dl/extractor/teachable.py index 47ac95e..c1a9dea 100644 --- a/youtube_dl/extractor/teachable.py +++ b/youtube_dl/extractor/teachable.py @@ -27,6 +27,7 @@ class TeachableBaseIE(InfoExtractor): 'market.saleshacker.com': 'saleshacker', 'learnability.org': 'learnability', 'edurila.com': 'edurila', + 'courses.workitdaily.com': 'workitdaily', } _VALID_URL_SUB_TUPLE = (_URL_PREFIX, '|'.join(re.escape(site) for site in _SITES.keys())) diff --git a/youtube_dl/extractor/teamcoco.py b/youtube_dl/extractor/teamcoco.py index 73469cc..7640cf0 100644 --- a/youtube_dl/extractor/teamcoco.py +++ b/youtube_dl/extractor/teamcoco.py @@ -16,7 +16,7 @@ from ..utils import ( class TeamcocoIE(TurnerBaseIE): - _VALID_URL = r'https?://teamcoco\.com/(?P<id>([^/]+/)*[^/?#]+)' + _VALID_URL = r'https?://(?:\w+\.)?teamcoco\.com/(?P<id>([^/]+/)*[^/?#]+)' _TESTS = [ { 'url': 'http://teamcoco.com/video/mary-kay-remote', @@ -79,15 +79,20 @@ class TeamcocoIE(TurnerBaseIE): }, { 'url': 'http://teamcoco.com/israel/conan-hits-the-streets-beaches-of-tel-aviv', 'only_matching': True, + }, { + 'url': 'https://conan25.teamcoco.com/video/ice-cube-kevin-hart-conan-share-lyft', + 'only_matching': True, } ] def _graphql_call(self, query_template, object_type, object_id): find_object = 'find' + object_type return self._download_json( - 'http://teamcoco.com/graphql/', object_id, data=json.dumps({ + 'https://teamcoco.com/graphql', object_id, data=json.dumps({ 'query': query_template % (find_object, object_id) - }))['data'][find_object] + }).encode(), headers={ + 'Content-Type': 'application/json', + })['data'][find_object] def _real_extract(self, url): display_id = self._match_id(url) @@ -145,7 +150,12 @@ class TeamcocoIE(TurnerBaseIE): 'accessTokenType': 'jws', })) else: - video_sources = self._graphql_call('''{ + d = self._download_json( + 'https://teamcoco.com/_truman/d/' + video_id, + video_id, fatal=False) or {} + video_sources = d.get('meta') or {} + if not video_sources: + video_sources = self._graphql_call('''{ %s(id: "%s") { src } diff --git a/youtube_dl/extractor/teamtreehouse.py b/youtube_dl/extractor/teamtreehouse.py new file mode 100644 index 0000000..d347e97 --- /dev/null +++ b/youtube_dl/extractor/teamtreehouse.py @@ -0,0 +1,140 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import ( + clean_html, + determine_ext, + ExtractorError, + float_or_none, + get_element_by_class, + get_element_by_id, + parse_duration, + remove_end, + urlencode_postdata, + urljoin, +) + + +class TeamTreeHouseIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?teamtreehouse\.com/library/(?P<id>[^/]+)' + _TESTS = [{ + # Course + 'url': 'https://teamtreehouse.com/library/introduction-to-user-authentication-in-php', + 'info_dict': { + 'id': 'introduction-to-user-authentication-in-php', + 'title': 'Introduction to User Authentication in PHP', + 'description': 'md5:405d7b4287a159b27ddf30ca72b5b053', + }, + 'playlist_mincount': 24, + }, { + # WorkShop + 'url': 'https://teamtreehouse.com/library/deploying-a-react-app', + 'info_dict': { + 'id': 'deploying-a-react-app', + 'title': 'Deploying a React App', + 'description': 'md5:10a82e3ddff18c14ac13581c9b8e5921', + }, + 'playlist_mincount': 4, + }, { + # Video + 'url': 'https://teamtreehouse.com/library/application-overview-2', + 'info_dict': { + 'id': 'application-overview-2', + 'ext': 'mp4', + 'title': 'Application Overview', + 'description': 'md5:4b0a234385c27140a4378de5f1e15127', + }, + 'expected_warnings': ['This is just a preview'], + }] + _NETRC_MACHINE = 'teamtreehouse' + + def _real_initialize(self): + email, password = self._get_login_info() + if email is None: + return + + signin_page = self._download_webpage( + 'https://teamtreehouse.com/signin', + None, 'Downloading signin page') + data = self._form_hidden_inputs('new_user_session', signin_page) + data.update({ + 'user_session[email]': email, + 'user_session[password]': password, + }) + error_message = get_element_by_class('error-message', self._download_webpage( + 'https://teamtreehouse.com/person_session', + None, 'Logging in', data=urlencode_postdata(data))) + if error_message: + raise ExtractorError(clean_html(error_message), expected=True) + + def _real_extract(self, url): + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + title = self._html_search_meta(['og:title', 'twitter:title'], webpage) + description = self._html_search_meta( + ['description', 'og:description', 'twitter:description'], webpage) + entries = self._parse_html5_media_entries(url, webpage, display_id) + if entries: + info = entries[0] + + for subtitles in info.get('subtitles', {}).values(): + for subtitle in subtitles: + subtitle['ext'] = determine_ext(subtitle['url'], 'srt') + + is_preview = 'data-preview="true"' in webpage + if is_preview: + self.report_warning( + 'This is just a preview. You need to be signed in with a Basic account to download the entire video.', display_id) + duration = 30 + else: + duration = float_or_none(self._search_regex( + r'data-duration="(\d+)"', webpage, 'duration'), 1000) + if not duration: + duration = parse_duration(get_element_by_id( + 'video-duration', webpage)) + + info.update({ + 'id': display_id, + 'title': title, + 'description': description, + 'duration': duration, + }) + return info + else: + def extract_urls(html, extract_info=None): + for path in re.findall(r'<a[^>]+href="([^"]+)"', html): + page_url = urljoin(url, path) + entry = { + '_type': 'url_transparent', + 'id': self._match_id(page_url), + 'url': page_url, + 'id_key': self.ie_key(), + } + if extract_info: + entry.update(extract_info) + entries.append(entry) + + workshop_videos = self._search_regex( + r'(?s)<ul[^>]+id="workshop-videos"[^>]*>(.+?)</ul>', + webpage, 'workshop videos', default=None) + if workshop_videos: + extract_urls(workshop_videos) + else: + stages_path = self._search_regex( + r'(?s)<div[^>]+id="syllabus-stages"[^>]+data-url="([^"]+)"', + webpage, 'stages path') + if stages_path: + stages_page = self._download_webpage( + urljoin(url, stages_path), display_id, 'Downloading stages page') + for chapter_number, (chapter, steps_list) in enumerate(re.findall(r'(?s)<h2[^>]*>\s*(.+?)\s*</h2>.+?<ul[^>]*>(.+?)</ul>', stages_page), 1): + extract_urls(steps_list, { + 'chapter': chapter, + 'chapter_number': chapter_number, + }) + title = remove_end(title, ' Course') + + return self.playlist_result( + entries, display_id, title, description) diff --git a/youtube_dl/extractor/ted.py b/youtube_dl/extractor/ted.py index d3e4205..9b60cc4 100644 --- a/youtube_dl/extractor/ted.py +++ b/youtube_dl/extractor/ted.py @@ -5,8 +5,12 @@ import re from .common import InfoExtractor -from ..compat import compat_str +from ..compat import ( + compat_str, + compat_urlparse +) from ..utils import ( + extract_attributes, float_or_none, int_or_none, try_get, @@ -20,7 +24,7 @@ class TEDIE(InfoExtractor): (?P<proto>https?://) (?P<type>www|embed(?:-ssl)?)(?P<urlmain>\.ted\.com/ ( - (?P<type_playlist>playlists(?:/\d+)?) # We have a playlist + (?P<type_playlist>playlists(?:/(?P<playlist_id>\d+))?) # We have a playlist | ((?P<type_talk>talks)) # We have a simple talk | @@ -84,6 +88,7 @@ class TEDIE(InfoExtractor): 'info_dict': { 'id': '10', 'title': 'Who are the hackers?', + 'description': 'md5:49a0dbe8fb76d81a0e64b4a80af7f15a' }, 'playlist_mincount': 6, }, { @@ -150,22 +155,22 @@ class TEDIE(InfoExtractor): webpage = self._download_webpage(url, name, 'Downloading playlist webpage') - info = self._extract_info(webpage) - playlist_info = try_get( - info, lambda x: x['__INITIAL_DATA__']['playlist'], - dict) or info['playlist'] + playlist_entries = [] + for entry in re.findall(r'(?s)<[^>]+data-ga-context=["\']playlist["\'][^>]*>', webpage): + attrs = extract_attributes(entry) + entry_url = compat_urlparse.urljoin(url, attrs['href']) + playlist_entries.append(self.url_result(entry_url, self.ie_key())) + + final_url = self._og_search_url(webpage, fatal=False) + playlist_id = ( + re.match(self._VALID_URL, final_url).group('playlist_id') + if final_url else None) - playlist_entries = [ - self.url_result('http://www.ted.com/talks/' + talk['slug'], self.ie_key()) - for talk in try_get( - info, lambda x: x['__INITIAL_DATA__']['talks'], - dict) or info['talks'] - ] return self.playlist_result( - playlist_entries, - playlist_id=compat_str(playlist_info['id']), - playlist_title=playlist_info['title']) + playlist_entries, playlist_id=playlist_id, + playlist_title=self._og_search_title(webpage, fatal=False), + playlist_description=self._og_search_description(webpage)) def _talk_info(self, url, video_name): webpage = self._download_webpage(url, video_name) @@ -265,6 +270,8 @@ class TEDIE(InfoExtractor): 'format_id': m3u8_format['format_id'].replace('hls', 'http'), 'protocol': 'http', }) + if f.get('acodec') == 'none': + del f['acodec'] formats.append(f) audio_download = talk_info.get('audioDownload') diff --git a/youtube_dl/extractor/tele5.py b/youtube_dl/extractor/tele5.py index 25573e4..33a7208 100644 --- a/youtube_dl/extractor/tele5.py +++ b/youtube_dl/extractor/tele5.py @@ -7,7 +7,7 @@ from ..compat import compat_urlparse class Tele5IE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?tele5\.de/(?:mediathek|tv)/(?P<id>[^?#&]+)' + _VALID_URL = r'https?://(?:www\.)?tele5\.de/(?:[^/]+/)*(?P<id>[^/?#&]+)' _TESTS = [{ 'url': 'https://www.tele5.de/mediathek/filme-online/videos?vid=1549416', 'info_dict': { @@ -21,10 +21,22 @@ class Tele5IE(InfoExtractor): 'skip_download': True, }, }, { - 'url': 'https://www.tele5.de/tv/kalkofes-mattscheibe/video-clips/politik-und-gesellschaft?ve_id=1551191', + 'url': 'https://www.tele5.de/kalkofes-mattscheibe/video-clips/politik-und-gesellschaft?ve_id=1551191', 'only_matching': True, }, { - 'url': 'https://www.tele5.de/tv/dark-matter/videos', + 'url': 'https://www.tele5.de/video-clip/?ve_id=1609440', + 'only_matching': True, + }, { + 'url': 'https://www.tele5.de/filme/schlefaz-dragon-crusaders/', + 'only_matching': True, + }, { + 'url': 'https://www.tele5.de/filme/making-of/avengers-endgame/', + 'only_matching': True, + }, { + 'url': 'https://www.tele5.de/star-trek/raumschiff-voyager/ganze-folge/das-vinculum/', + 'only_matching': True, + }, { + 'url': 'https://www.tele5.de/anders-ist-sevda/', 'only_matching': True, }] @@ -36,8 +48,9 @@ class Tele5IE(InfoExtractor): display_id = self._match_id(url) webpage = self._download_webpage(url, display_id) video_id = self._html_search_regex( - r'id\s*=\s*["\']video-player["\'][^>]+data-id\s*=\s*["\'](\d+)', - webpage, 'video id') + (r'id\s*=\s*["\']video-player["\'][^>]+data-id\s*=\s*["\'](\d+)', + r'\s+id\s*=\s*["\']player_(\d{6,})', + r'\bdata-id\s*=\s*["\'](\d{6,})'), webpage, 'video id') return self.url_result( 'https://api.nexx.cloud/v3/759/videos/byid/%s' % video_id, diff --git a/youtube_dl/extractor/theplatform.py b/youtube_dl/extractor/theplatform.py index 90b351c..0705551 100644 --- a/youtube_dl/extractor/theplatform.py +++ b/youtube_dl/extractor/theplatform.py @@ -209,7 +209,7 @@ class ThePlatformIE(ThePlatformBaseIE, AdobePassIE): return [m.group('url')] # Are whitesapces ignored in URLs? - # https://github.com/rg3/youtube-dl/issues/12044 + # https://github.com/ytdl-org/youtube-dl/issues/12044 matches = re.findall( r'(?s)<(?:iframe|script)[^>]+src=(["\'])((?:https?:)?//player\.theplatform\.com/p/.+?)\1', webpage) if matches: @@ -271,7 +271,7 @@ class ThePlatformIE(ThePlatformBaseIE, AdobePassIE): if smuggled_data.get('force_smil_url', False): smil_url = url - # Explicitly specified SMIL (see https://github.com/rg3/youtube-dl/issues/7385) + # Explicitly specified SMIL (see https://github.com/ytdl-org/youtube-dl/issues/7385) elif '/guid/' in url: headers = {} source_url = smuggled_data.get('source_url') diff --git a/youtube_dl/extractor/tiktok.py b/youtube_dl/extractor/tiktok.py index 083e9f3..66088b9 100644 --- a/youtube_dl/extractor/tiktok.py +++ b/youtube_dl/extractor/tiktok.py @@ -65,8 +65,15 @@ class TikTokBaseIE(InfoExtractor): class TikTokIE(TikTokBaseIE): - _VALID_URL = r'https?://(?:m\.)?tiktok\.com/v/(?P<id>\d+)' - _TEST = { + _VALID_URL = r'''(?x) + https?:// + (?: + (?:m\.)?tiktok\.com/v| + (?:www\.)?tiktok\.com/share/video + ) + /(?P<id>\d+) + ''' + _TESTS = [{ 'url': 'https://m.tiktok.com/v/6606727368545406213.html', 'md5': 'd584b572e92fcd48888051f238022420', 'info_dict': { @@ -81,25 +88,39 @@ class TikTokIE(TikTokBaseIE): 'comment_count': int, 'repost_count': int, } - } + }, { + 'url': 'https://www.tiktok.com/share/video/6606727368545406213', + 'only_matching': True, + }] def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) + webpage = self._download_webpage( + 'https://m.tiktok.com/v/%s.html' % video_id, video_id) data = self._parse_json(self._search_regex( r'\bdata\s*=\s*({.+?})\s*;', webpage, 'data'), video_id) return self._extract_aweme(data) class TikTokUserIE(TikTokBaseIE): - _VALID_URL = r'https?://(?:m\.)?tiktok\.com/h5/share/usr/(?P<id>\d+)' - _TEST = { + _VALID_URL = r'''(?x) + https?:// + (?: + (?:m\.)?tiktok\.com/h5/share/usr| + (?:www\.)?tiktok\.com/share/user + ) + /(?P<id>\d+) + ''' + _TESTS = [{ 'url': 'https://m.tiktok.com/h5/share/usr/188294915489964032.html', 'info_dict': { 'id': '188294915489964032', }, 'playlist_mincount': 24, - } + }, { + 'url': 'https://www.tiktok.com/share/user/188294915489964032', + 'only_matching': True, + }] def _real_extract(self, url): user_id = self._match_id(url) diff --git a/youtube_dl/extractor/tnaflix.py b/youtube_dl/extractor/tnaflix.py index 6798ef4..b3573c6 100644 --- a/youtube_dl/extractor/tnaflix.py +++ b/youtube_dl/extractor/tnaflix.py @@ -96,7 +96,7 @@ class TNAFlixNetworkBaseIE(InfoExtractor): cfg_xml = self._download_xml( cfg_url, display_id, 'Downloading metadata', - transform_source=fix_xml_ampersands) + transform_source=fix_xml_ampersands, headers={'Referer': url}) formats = [] diff --git a/youtube_dl/extractor/toutv.py b/youtube_dl/extractor/toutv.py index 2e7876c..00f58a0 100644 --- a/youtube_dl/extractor/toutv.py +++ b/youtube_dl/extractor/toutv.py @@ -1,24 +1,21 @@ # coding: utf-8 from __future__ import unicode_literals -import re +import json -from .common import InfoExtractor +from .radiocanada import RadioCanadaIE +from ..compat import compat_HTTPError from ..utils import ( + ExtractorError, int_or_none, - js_to_json, - urlencode_postdata, - extract_attributes, - smuggle_url, + merge_dicts, ) -class TouTvIE(InfoExtractor): +class TouTvIE(RadioCanadaIE): _NETRC_MACHINE = 'toutv' IE_NAME = 'tou.tv' _VALID_URL = r'https?://ici\.tou\.tv/(?P<id>[a-zA-Z0-9_-]+(?:/S[0-9]+[EC][0-9]+)?)' - _access_token = None - _claims = None _TESTS = [{ 'url': 'http://ici.tou.tv/garfield-tout-court/S2015E17', @@ -41,80 +38,56 @@ class TouTvIE(InfoExtractor): 'url': 'https://ici.tou.tv/l-age-adulte/S01C501', 'only_matching': True, }] + _CLIENT_KEY = '4dd36440-09d5-4468-8923-b6d91174ad36' def _real_initialize(self): email, password = self._get_login_info() if email is None: return - state = 'http://ici.tou.tv/' - webpage = self._download_webpage(state, None, 'Downloading homepage') - toutvlogin = self._parse_json(self._search_regex( - r'(?s)toutvlogin\s*=\s*({.+?});', webpage, 'toutvlogin'), None, js_to_json) - authorize_url = toutvlogin['host'] + '/auth/oauth/v2/authorize' - login_webpage = self._download_webpage( - authorize_url, None, 'Downloading login page', query={ - 'client_id': toutvlogin['clientId'], - 'redirect_uri': 'https://ici.tou.tv/login/loginCallback', - 'response_type': 'token', - 'scope': 'media-drmt openid profile email id.write media-validation.read.privileged', - 'state': state, - }) - - def extract_form_url_and_data(wp, default_form_url, form_spec_re=''): - form, form_elem = re.search( - r'(?s)((<form[^>]+?%s[^>]*?>).+?</form>)' % form_spec_re, wp).groups() - form_data = self._hidden_inputs(form) - form_url = extract_attributes(form_elem).get('action') or default_form_url - return form_url, form_data - - post_url, form_data = extract_form_url_and_data( - login_webpage, - 'https://services.radio-canada.ca/auth/oauth/v2/authorize/login', - r'(?:id|name)="Form-login"') - form_data.update({ - 'login-email': email, - 'login-password': password, - }) - consent_webpage = self._download_webpage( - post_url, None, 'Logging in', data=urlencode_postdata(form_data)) - post_url, form_data = extract_form_url_and_data( - consent_webpage, - 'https://services.radio-canada.ca/auth/oauth/v2/authorize/consent') - _, urlh = self._download_webpage_handle( - post_url, None, 'Following Redirection', - data=urlencode_postdata(form_data)) - self._access_token = self._search_regex( - r'access_token=([\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})', - urlh.geturl(), 'access token') - self._claims = self._download_json( - 'https://services.radio-canada.ca/media/validation/v2/getClaims', - None, 'Extracting Claims', query={ - 'token': self._access_token, - 'access_token': self._access_token, - })['claims'] + try: + self._access_token = self._download_json( + 'https://services.radio-canada.ca/toutv/profiling/accounts/login', + None, 'Logging in', data=json.dumps({ + 'ClientId': self._CLIENT_KEY, + 'ClientSecret': '34026772-244b-49b6-8b06-317b30ac9a20', + 'Email': email, + 'Password': password, + 'Scope': 'id.write media-validation.read', + }).encode(), headers={ + 'Authorization': 'client-key ' + self._CLIENT_KEY, + 'Content-Type': 'application/json;charset=utf-8', + })['access_token'] + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code == 401: + error = self._parse_json(e.cause.read().decode(), None)['Message'] + raise ExtractorError(error, expected=True) + raise + self._claims = self._call_api('validation/v2/getClaims')['claims'] def _real_extract(self, url): path = self._match_id(url) - metadata = self._download_json('http://ici.tou.tv/presentation/%s' % path, path) + metadata = self._download_json( + 'https://services.radio-canada.ca/toutv/presentation/%s' % path, path, query={ + 'client_key': self._CLIENT_KEY, + 'device': 'web', + 'version': 4, + }) # IsDrm does not necessarily mean the video is DRM protected (see - # https://github.com/rg3/youtube-dl/issues/13994). + # https://github.com/ytdl-org/youtube-dl/issues/13994). if metadata.get('IsDrm'): self.report_warning('This video is probably DRM protected.', path) video_id = metadata['IdMedia'] details = metadata['Details'] - title = details['OriginalTitle'] - video_url = 'radiocanada:%s:%s' % (metadata.get('AppCode', 'toutv'), video_id) - if self._access_token and self._claims: - video_url = smuggle_url(video_url, { - 'access_token': self._access_token, - 'claims': self._claims, - }) - return { - '_type': 'url_transparent', - 'url': video_url, + return merge_dicts({ 'id': video_id, - 'title': title, + 'title': details.get('OriginalTitle'), + 'description': details.get('Description'), 'thumbnail': details.get('ImageUrl'), 'duration': int_or_none(details.get('LengthInSeconds')), - } + 'series': metadata.get('ProgramTitle'), + 'season_number': int_or_none(metadata.get('SeasonNumber')), + 'season': metadata.get('SeasonTitle'), + 'episode_number': int_or_none(metadata.get('EpisodeNumber')), + 'episode': metadata.get('EpisodeTitle'), + }, self._extract_info(metadata.get('AppCode', 'toutv'), video_id)) diff --git a/youtube_dl/extractor/trunews.py b/youtube_dl/extractor/trunews.py new file mode 100644 index 0000000..b0c7caa --- /dev/null +++ b/youtube_dl/extractor/trunews.py @@ -0,0 +1,75 @@ +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + dict_get, + float_or_none, + int_or_none, + unified_timestamp, + update_url_query, + url_or_none, +) + + +class TruNewsIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?trunews\.com/stream/(?P<id>[^/?#&]+)' + _TEST = { + 'url': 'https://www.trunews.com/stream/will-democrats-stage-a-circus-during-president-trump-s-state-of-the-union-speech', + 'md5': 'a19c024c3906ff954fac9b96ce66bb08', + 'info_dict': { + 'id': '5c5a21e65d3c196e1c0020cc', + 'display_id': 'will-democrats-stage-a-circus-during-president-trump-s-state-of-the-union-speech', + 'ext': 'mp4', + 'title': "Will Democrats Stage a Circus During President Trump's State of the Union Speech?", + 'description': 'md5:c583b72147cc92cf21f56a31aff7a670', + 'duration': 3685, + 'timestamp': 1549411440, + 'upload_date': '20190206', + }, + 'add_ie': ['Zype'], + } + + def _real_extract(self, url): + display_id = self._match_id(url) + + video = self._download_json( + 'https://api.zype.com/videos', display_id, query={ + 'app_key': 'PUVKp9WgGUb3-JUw6EqafLx8tFVP6VKZTWbUOR-HOm__g4fNDt1bCsm_LgYf_k9H', + 'per_page': 1, + 'active': 'true', + 'friendly_title': display_id, + })['response'][0] + + zype_id = video['_id'] + + thumbnails = [] + thumbnails_list = video.get('thumbnails') + if isinstance(thumbnails_list, list): + for thumbnail in thumbnails_list: + if not isinstance(thumbnail, dict): + continue + thumbnail_url = url_or_none(thumbnail.get('url')) + if not thumbnail_url: + continue + thumbnails.append({ + 'url': thumbnail_url, + 'width': int_or_none(thumbnail.get('width')), + 'height': int_or_none(thumbnail.get('height')), + }) + + return { + '_type': 'url_transparent', + 'url': update_url_query( + 'https://player.zype.com/embed/%s.js' % zype_id, + {'api_key': 'X5XnahkjCwJrT_l5zUqypnaLEObotyvtUKJWWlONxDoHVjP8vqxlArLV8llxMbyt'}), + 'ie_key': 'Zype', + 'id': zype_id, + 'display_id': display_id, + 'title': video.get('title'), + 'description': dict_get(video, ('description', 'ott_description', 'short_description')), + 'duration': int_or_none(video.get('duration')), + 'timestamp': unified_timestamp(video.get('published_at')), + 'average_rating': float_or_none(video.get('rating')), + 'view_count': int_or_none(video.get('request_count')), + 'thumbnails': thumbnails, + } diff --git a/youtube_dl/extractor/trutv.py b/youtube_dl/extractor/trutv.py index 3a57825..ce892c8 100644 --- a/youtube_dl/extractor/trutv.py +++ b/youtube_dl/extractor/trutv.py @@ -4,44 +4,72 @@ from __future__ import unicode_literals import re from .turner import TurnerBaseIE +from ..utils import ( + int_or_none, + parse_iso8601, +) class TruTVIE(TurnerBaseIE): - _VALID_URL = r'https?://(?:www\.)?trutv\.com(?:(?P<path>/shows/[^/]+/videos/[^/?#]+?)\.html|/full-episodes/[^/]+/(?P<id>\d+))' + _VALID_URL = r'https?://(?:www\.)?trutv\.com/(?:shows|full-episodes)/(?P<series_slug>[0-9A-Za-z-]+)/(?:videos/(?P<clip_slug>[0-9A-Za-z-]+)|(?P<id>\d+))' _TEST = { - 'url': 'http://www.trutv.com/shows/10-things/videos/you-wont-believe-these-sports-bets.html', - 'md5': '2cdc844f317579fed1a7251b087ff417', + 'url': 'https://www.trutv.com/shows/the-carbonaro-effect/videos/sunlight-activated-flower.html', 'info_dict': { - 'id': '/shows/10-things/videos/you-wont-believe-these-sports-bets', + 'id': 'f16c03beec1e84cd7d1a51f11d8fcc29124cc7f1', 'ext': 'mp4', - 'title': 'You Won\'t Believe These Sports Bets', - 'description': 'Jamie Lee sits down with a bookie to discuss the bizarre world of illegal sports betting.', - 'upload_date': '20130305', - } + 'title': 'Sunlight-Activated Flower', + 'description': "A customer is stunned when he sees Michael's sunlight-activated flower.", + }, + 'params': { + # m3u8 download + 'skip_download': True, + }, } def _real_extract(self, url): - path, video_id = re.match(self._VALID_URL, url).groups() - auth_required = False - if path: - data_src = 'http://www.trutv.com/video/cvp/v2/xml/content.xml?id=%s.xml' % path + series_slug, clip_slug, video_id = re.match(self._VALID_URL, url).groups() + + if video_id: + path = 'episode' + display_id = video_id else: - webpage = self._download_webpage(url, video_id) - video_id = self._search_regex( - r"TTV\.TVE\.episodeId\s*=\s*'([^']+)';", - webpage, 'video id', default=video_id) - auth_required = self._search_regex( - r'TTV\.TVE\.authRequired\s*=\s*(true|false);', - webpage, 'auth required', default='false') == 'true' - data_src = 'http://www.trutv.com/tveverywhere/services/cvpXML.do?titleId=' + video_id - return self._extract_cvp_info( - data_src, path, { - 'secure': { - 'media_src': 'http://androidhls-secure.cdn.turner.com/trutv/big', - 'tokenizer_src': 'http://www.trutv.com/tveverywhere/processors/services/token_ipadAdobe.do', - }, - }, { + path = 'series/clip' + display_id = clip_slug + + data = self._download_json( + 'https://api.trutv.com/v2/web/%s/%s/%s' % (path, series_slug, display_id), + display_id) + video_data = data['episode'] if video_id else data['info'] + media_id = video_data['mediaId'] + title = video_data['title'].strip() + + info = self._extract_ngtv_info( + media_id, {}, { 'url': url, 'site_name': 'truTV', - 'auth_required': auth_required, + 'auth_required': video_data.get('isAuthRequired'), }) + + thumbnails = [] + for image in video_data.get('images', []): + image_url = image.get('srcUrl') + if not image_url: + continue + thumbnails.append({ + 'url': image_url, + 'width': int_or_none(image.get('width')), + 'height': int_or_none(image.get('height')), + }) + + info.update({ + 'id': media_id, + 'display_id': display_id, + 'title': title, + 'description': video_data.get('description'), + 'thumbnails': thumbnails, + 'timestamp': parse_iso8601(video_data.get('publicationDate')), + 'series': video_data.get('showTitle'), + 'season_number': int_or_none(video_data.get('seasonNum')), + 'episode_number': int_or_none(video_data.get('episodeNum')), + }) + return info diff --git a/youtube_dl/extractor/tvnow.py b/youtube_dl/extractor/tvnow.py index 3c6a60c..9c8a8a0 100644 --- a/youtube_dl/extractor/tvnow.py +++ b/youtube_dl/extractor/tvnow.py @@ -47,15 +47,23 @@ class TVNowBaseIE(InfoExtractor): r'\.ism/(?:[^.]*\.(?:m3u8|mpd)|[Mm]anifest)', '.ism/' + suffix, manifest_url)) - formats = self._extract_mpd_formats( - url_repl('dash', '.mpd'), video_id, - mpd_id='dash', fatal=False) - formats.extend(self._extract_ism_formats( - url_repl('hss', 'Manifest'), - video_id, ism_id='mss', fatal=False)) - formats.extend(self._extract_m3u8_formats( - url_repl('hls', '.m3u8'), video_id, 'mp4', - 'm3u8_native', m3u8_id='hls', fatal=False)) + def make_urls(proto, suffix): + urls = [url_repl(proto, suffix)] + hd_url = urls[0].replace('/manifest/', '/ngvod/') + if hd_url != urls[0]: + urls.append(hd_url) + return urls + + for man_url in make_urls('dash', '.mpd'): + formats = self._extract_mpd_formats( + man_url, video_id, mpd_id='dash', fatal=False) + for man_url in make_urls('hss', 'Manifest'): + formats.extend(self._extract_ism_formats( + man_url, video_id, ism_id='mss', fatal=False)) + for man_url in make_urls('hls', '.m3u8'): + formats.extend(self._extract_m3u8_formats( + man_url, video_id, 'mp4', 'm3u8_native', m3u8_id='hls', + fatal=False)) if formats: break else: @@ -207,7 +215,7 @@ class TVNowNewBaseIE(InfoExtractor): return result -""" +r""" TODO: new apigw.tvnow.de based version of TVNowIE. Replace old TVNowIE with it when api.tvnow.de is shut down. This version can't bypass premium checks though. class TVNowIE(TVNowNewBaseIE): diff --git a/youtube_dl/extractor/tvp.py b/youtube_dl/extractor/tvp.py index 3954f0b..accff75 100644 --- a/youtube_dl/extractor/tvp.py +++ b/youtube_dl/extractor/tvp.py @@ -1,14 +1,16 @@ # coding: utf-8 from __future__ import unicode_literals +import itertools import re from .common import InfoExtractor from ..utils import ( - determine_ext, clean_html, - get_element_by_attribute, + determine_ext, ExtractorError, + get_element_by_attribute, + orderedSet, ) @@ -19,12 +21,12 @@ class TVPIE(InfoExtractor): _TESTS = [{ 'url': 'https://vod.tvp.pl/video/czas-honoru,i-seria-odc-13,194536', - 'md5': '8aa518c15e5cc32dfe8db400dc921fbb', + 'md5': 'a21eb0aa862f25414430f15fdfb9e76c', 'info_dict': { 'id': '194536', 'ext': 'mp4', - 'title': 'Czas honoru, I seria â odc. 13', - 'description': 'md5:381afa5bca72655fe94b05cfe82bf53d', + 'title': 'Czas honoru, odc. 13 â WÅadek', + 'description': 'md5:437f48b93558370b031740546b696e24', }, }, { 'url': 'http://www.tvp.pl/there-can-be-anything-so-i-shortened-it/17916176', @@ -45,6 +47,7 @@ class TVPIE(InfoExtractor): 'title': 'WiadomoÅci, 28.09.2017, 19:30', 'description': 'Wydanie gÅówne codziennego serwisu informacyjnego.' }, + 'skip': 'HTTP Error 404: Not Found', }, { 'url': 'http://vod.tvp.pl/seriale/obyczajowe/na-sygnale/sezon-2-27-/odc-39/17834272', 'only_matching': True, @@ -75,8 +78,10 @@ class TVPIE(InfoExtractor): return { '_type': 'url_transparent', 'url': 'tvp:' + video_id, - 'description': self._og_search_description(webpage, default=None), - 'thumbnail': self._og_search_thumbnail(webpage), + 'description': self._og_search_description( + webpage, default=None) or self._html_search_meta( + 'description', webpage, default=None), + 'thumbnail': self._og_search_thumbnail(webpage, default=None), 'ie_key': 'TVPEmbed', } @@ -87,6 +92,15 @@ class TVPEmbedIE(InfoExtractor): _VALID_URL = r'(?:tvp:|https?://[^/]+\.tvp\.(?:pl|info)/sess/tvplayer\.php\?.*?object_id=)(?P<id>\d+)' _TESTS = [{ + 'url': 'tvp:194536', + 'md5': 'a21eb0aa862f25414430f15fdfb9e76c', + 'info_dict': { + 'id': '194536', + 'ext': 'mp4', + 'title': 'Czas honoru, odc. 13 â WÅadek', + }, + }, { + # not available 'url': 'http://www.tvp.pl/sess/tvplayer.php?object_id=22670268', 'md5': '8c9cd59d16edabf39331f93bf8a766c7', 'info_dict': { @@ -94,6 +108,7 @@ class TVPEmbedIE(InfoExtractor): 'ext': 'mp4', 'title': 'Panorama, 07.12.2015, 15:40', }, + 'skip': 'Transmisja zostaÅa zakoÅczona lub materiaÅ niedostÄpny', }, { 'url': 'tvp:22670268', 'only_matching': True, @@ -105,10 +120,13 @@ class TVPEmbedIE(InfoExtractor): webpage = self._download_webpage( 'http://www.tvp.pl/sess/tvplayer.php?object_id=%s' % video_id, video_id) - error_massage = get_element_by_attribute('class', 'msg error', webpage) - if error_massage: + error = self._html_search_regex( + r'(?s)<p[^>]+\bclass=["\']notAvailable__text["\'][^>]*>(.+?)</p>', + webpage, 'error', default=None) or clean_html( + get_element_by_attribute('class', 'msg error', webpage)) + if error: raise ExtractorError('%s said: %s' % ( - self.IE_NAME, clean_html(error_massage)), expected=True) + self.IE_NAME, clean_html(error)), expected=True) title = self._search_regex( r'name\s*:\s*([\'"])Title\1\s*,\s*value\s*:\s*\1(?P<title>.+?)\1', @@ -180,48 +198,55 @@ class TVPEmbedIE(InfoExtractor): } -class TVPSeriesIE(InfoExtractor): +class TVPWebsiteIE(InfoExtractor): IE_NAME = 'tvp:series' - _VALID_URL = r'https?://vod\.tvp\.pl/(?:[^/]+/){2}(?P<id>[^/]+)/?$' + _VALID_URL = r'https?://vod\.tvp\.pl/website/(?P<display_id>[^,]+),(?P<id>\d+)' _TESTS = [{ - 'url': 'http://vod.tvp.pl/filmy-fabularne/filmy-za-darmo/ogniem-i-mieczem', + # series + 'url': 'https://vod.tvp.pl/website/lzy-cennet,38678312/video', 'info_dict': { - 'title': 'Ogniem i mieczem', - 'id': '4278026', + 'id': '38678312', }, - 'playlist_count': 4, + 'playlist_count': 115, }, { - 'url': 'http://vod.tvp.pl/audycje/podroze/boso-przez-swiat', + # film + 'url': 'https://vod.tvp.pl/website/gloria,35139666', 'info_dict': { - 'title': 'Boso przez Åwiat', - 'id': '9329207', + 'id': '36637049', + 'ext': 'mp4', + 'title': 'Gloria, Gloria', + }, + 'params': { + 'skip_download': True, }, - 'playlist_count': 86, + 'add_ie': ['TVPEmbed'], + }, { + 'url': 'https://vod.tvp.pl/website/lzy-cennet,38678312', + 'only_matching': True, }] - def _real_extract(self, url): - display_id = self._match_id(url) - webpage = self._download_webpage(url, display_id, tries=5) - - title = self._html_search_regex( - r'(?s) id=[\'"]path[\'"]>(?:.*? / ){2}(.*?)</span>', webpage, 'series') - playlist_id = self._search_regex(r'nodeId:\s*(\d+)', webpage, 'playlist id') - playlist = self._download_webpage( - 'http://vod.tvp.pl/vod/seriesAjax?type=series&nodeId=%s&recommend' - 'edId=0&sort=&page=0&pageSize=10000' % playlist_id, display_id, tries=5, - note='Downloading playlist') - - videos_paths = re.findall( - '(?s)class="shortTitle">.*?href="(/[^"]+)', playlist) - entries = [ - self.url_result('http://vod.tvp.pl%s' % v_path, ie=TVPIE.ie_key()) - for v_path in videos_paths] + def _entries(self, display_id, playlist_id): + url = 'https://vod.tvp.pl/website/%s,%s/video' % (display_id, playlist_id) + for page_num in itertools.count(1): + page = self._download_webpage( + url, display_id, 'Downloading page %d' % page_num, + query={'page': page_num}) - return { - '_type': 'playlist', - 'id': playlist_id, - 'display_id': display_id, - 'title': title, - 'entries': entries, - } + video_ids = orderedSet(re.findall( + r'<a[^>]+\bhref=["\']/video/%s,[^,]+,(\d+)' % display_id, + page)) + + if not video_ids: + break + + for video_id in video_ids: + yield self.url_result( + 'tvp:%s' % video_id, ie=TVPEmbedIE.ie_key(), + video_id=video_id) + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + display_id, playlist_id = mobj.group('display_id', 'id') + return self.playlist_result( + self._entries(display_id, playlist_id), playlist_id) diff --git a/youtube_dl/extractor/tvplay.py b/youtube_dl/extractor/tvplay.py index 8f1ff3b..d82d48f 100644 --- a/youtube_dl/extractor/tvplay.py +++ b/youtube_dl/extractor/tvplay.py @@ -493,10 +493,9 @@ class TVPlayHomeIE(InfoExtractor): webpage = self._download_webpage(url, video_id) video_id = self._search_regex( - r'data-asset-id\s*=\s*["\'](\d{5,7})\b', webpage, 'video id', - default=None) + r'data-asset-id\s*=\s*["\'](\d{5,})\b', webpage, 'video id') - if video_id: + if len(video_id) < 8: return self.url_result( 'mtg:%s' % video_id, ie=TVPlayIE.ie_key(), video_id=video_id) @@ -537,8 +536,9 @@ class TVPlayHomeIE(InfoExtractor): r'(\d+)(?:[.\s]+sezona|\s+HOOAEG)', season or '', 'season number', default=None)) episode = self._search_regex( - r'(["\'])(?P<value>(?:(?!\1).)+)\1', webpage, 'episode', - default=None, group='value') + (r'\bepisode\s*:\s*(["\'])(?P<value>(?:(?!\1).)+)\1', + r'data-subtitle\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1'), webpage, + 'episode', default=None, group='value') episode_number = int_or_none(self._search_regex( r'(?:S[eÄ]rija|Osa)\s+(\d+)', episode or '', 'episode number', default=None)) diff --git a/youtube_dl/extractor/twentyfourvideo.py b/youtube_dl/extractor/twentyfourvideo.py index 4b3b3e7..1d66eea 100644 --- a/youtube_dl/extractor/twentyfourvideo.py +++ b/youtube_dl/extractor/twentyfourvideo.py @@ -14,7 +14,18 @@ from ..utils import ( class TwentyFourVideoIE(InfoExtractor): IE_NAME = '24video' - _VALID_URL = r'https?://(?P<host>(?:www\.)?24video\.(?:net|me|xxx|sexy?|tube|adult))/(?:video/(?:view|xml)/|player/new24_play\.swf\?id=)(?P<id>\d+)' + _VALID_URL = r'''(?x) + https?:// + (?P<host> + (?:(?:www|porno)\.)?24video\. + (?:net|me|xxx|sexy?|tube|adult|site) + )/ + (?: + video/(?:(?:view|xml)/)?| + player/new24_play\.swf\?id= + ) + (?P<id>\d+) + ''' _TESTS = [{ 'url': 'http://www.24video.net/video/view/1044982', @@ -42,6 +53,12 @@ class TwentyFourVideoIE(InfoExtractor): }, { 'url': 'http://www.24video.tube/video/view/2363750', 'only_matching': True, + }, { + 'url': 'https://www.24video.site/video/view/2640421', + 'only_matching': True, + }, { + 'url': 'https://porno.24video.net/video/2640421-vsya-takaya-gibkaya-i-v-masle', + 'only_matching': True, }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/twitcasting.py b/youtube_dl/extractor/twitcasting.py index 05f8aa9..2dbe89f 100644 --- a/youtube_dl/extractor/twitcasting.py +++ b/youtube_dl/extractor/twitcasting.py @@ -2,19 +2,20 @@ from __future__ import unicode_literals from .common import InfoExtractor +from ..utils import urlencode_postdata import re class TwitCastingIE(InfoExtractor): _VALID_URL = r'https?://(?:[^/]+\.)?twitcasting\.tv/(?P<uploader_id>[^/]+)/movie/(?P<id>\d+)' - _TEST = { + _TESTS = [{ 'url': 'https://twitcasting.tv/ivetesangalo/movie/2357609', 'md5': '745243cad58c4681dc752490f7540d7f', 'info_dict': { 'id': '2357609', 'ext': 'mp4', - 'title': 'Recorded Live #2357609', + 'title': 'Live #2357609', 'uploader_id': 'ivetesangalo', 'description': "Moi! I'm live on TwitCasting from my iPhone.", 'thumbnail': r're:^https?://.*\.jpg$', @@ -22,14 +23,34 @@ class TwitCastingIE(InfoExtractor): 'params': { 'skip_download': True, }, - } + }, { + 'url': 'https://twitcasting.tv/mttbernardini/movie/3689740', + 'info_dict': { + 'id': '3689740', + 'ext': 'mp4', + 'title': 'Live playing something #3689740', + 'uploader_id': 'mttbernardini', + 'description': "I'm live on TwitCasting from my iPad. password: abc (Santa Marinella/Lazio, Italia)", + 'thumbnail': r're:^https?://.*\.jpg$', + }, + 'params': { + 'skip_download': True, + 'videopassword': 'abc', + }, + }] def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) video_id = mobj.group('id') uploader_id = mobj.group('uploader_id') - webpage = self._download_webpage(url, video_id) + video_password = self._downloader.params.get('videopassword') + request_data = None + if video_password: + request_data = urlencode_postdata({ + 'password': video_password, + }) + webpage = self._download_webpage(url, video_id, data=request_data) title = self._html_search_regex( r'(?s)<[^>]+id=["\']movietitle[^>]+>(.+?)</', diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index 4016156..dc5ff29 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -134,9 +134,14 @@ class TwitchBaseIE(InfoExtractor): def _prefer_source(self, formats): try: source = next(f for f in formats if f['format_id'] == 'Source') - source['preference'] = 10 + source['quality'] = 10 except StopIteration: - pass # No Source stream present + for f in formats: + if '/chunked/' in f['url']: + f.update({ + 'quality': 10, + 'format_note': 'Source', + }) self._sort_formats(formats) diff --git a/youtube_dl/extractor/udemy.py b/youtube_dl/extractor/udemy.py index 105826e..2a4faec 100644 --- a/youtube_dl/extractor/udemy.py +++ b/youtube_dl/extractor/udemy.py @@ -29,7 +29,7 @@ class UdemyIE(InfoExtractor): IE_NAME = 'udemy' _VALID_URL = r'''(?x) https?:// - www\.udemy\.com/ + (?:[^/]+\.)?udemy\.com/ (?: [^#]+\#/lecture/| lecture/view/?\?lectureId=| @@ -64,6 +64,9 @@ class UdemyIE(InfoExtractor): # only outputs rendition 'url': 'https://www.udemy.com/how-you-can-help-your-local-community-5-amazing-examples/learn/v4/t/lecture/3225750?start=0', 'only_matching': True, + }, { + 'url': 'https://wipro.udemy.com/java-tutorial/#/lecture/172757', + 'only_matching': True, }] def _extract_course_info(self, webpage, video_id): @@ -73,7 +76,10 @@ class UdemyIE(InfoExtractor): webpage, 'course', default='{}')), video_id, fatal=False) or {} course_id = course.get('id') or self._search_regex( - r'data-course-id=["\'](\d+)', webpage, 'course id') + [ + r'data-course-id=["\'](\d+)', + r'"courseId"\s*:\s*(\d+)' + ], webpage, 'course id') return course_id, course.get('title') def _enroll_course(self, base_url, webpage, course_id): @@ -123,10 +129,22 @@ class UdemyIE(InfoExtractor): def _download_webpage_handle(self, *args, **kwargs): headers = kwargs.get('headers', {}).copy() - headers['User-Agent'] = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4' + headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.109 Safari/537.36' kwargs['headers'] = headers - return super(UdemyIE, self)._download_webpage_handle( + ret = super(UdemyIE, self)._download_webpage_handle( *args, **compat_kwargs(kwargs)) + if not ret: + return ret + webpage, _ = ret + if any(p in webpage for p in ( + '>Please verify you are a human', + 'Access to this page has been denied because we believe you are using automation tools to browse the website', + '"_pxCaptcha"')): + raise ExtractorError( + 'Udemy asks you to solve a CAPTCHA. Login with browser, ' + 'solve CAPTCHA, then export cookies and pass cookie file to ' + 'youtube-dl with --cookies.', expected=True) + return ret def _download_json(self, url_or_request, *args, **kwargs): headers = { @@ -360,7 +378,7 @@ class UdemyIE(InfoExtractor): }, res)) # react rendition since 2017.04.15 (see - # https://github.com/rg3/youtube-dl/issues/12744) + # https://github.com/ytdl-org/youtube-dl/issues/12744) data = self._parse_json( self._search_regex( r'videojs-setup-data=(["\'])(?P<data>{.+?})\1', view_html, @@ -403,8 +421,14 @@ class UdemyIE(InfoExtractor): class UdemyCourseIE(UdemyIE): IE_NAME = 'udemy:course' - _VALID_URL = r'https?://(?:www\.)?udemy\.com/(?P<id>[^/?#&]+)' - _TESTS = [] + _VALID_URL = r'https?://(?:[^/]+\.)?udemy\.com/(?P<id>[^/?#&]+)' + _TESTS = [{ + 'url': 'https://www.udemy.com/java-tutorial/', + 'only_matching': True, + }, { + 'url': 'https://wipro.udemy.com/java-tutorial/', + 'only_matching': True, + }] @classmethod def suitable(cls, url): diff --git a/youtube_dl/extractor/urplay.py b/youtube_dl/extractor/urplay.py index 8e6fd47..6030b7c 100644 --- a/youtube_dl/extractor/urplay.py +++ b/youtube_dl/extractor/urplay.py @@ -2,18 +2,31 @@ from __future__ import unicode_literals from .common import InfoExtractor +from ..utils import unified_timestamp class URPlayIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?ur(?:play|skola)\.se/(?:program|Produkter)/(?P<id>[0-9]+)' _TESTS = [{ - 'url': 'http://urplay.se/program/190031-tripp-trapp-trad-sovkudde', - 'md5': 'ad5f0de86f16ca4c8062cd103959a9eb', + 'url': 'https://urplay.se/program/203704-ur-samtiden-livet-universum-och-rymdens-markliga-musik-om-vetenskap-kritiskt-tankande-och-motstand', + 'md5': 'ff5b0c89928f8083c74bbd5099c9292d', + 'info_dict': { + 'id': '203704', + 'ext': 'mp4', + 'title': 'UR Samtiden - Livet, universum och rymdens märkliga musik : Om vetenskap, kritiskt tänkande och motstÃ¥nd', + 'description': 'md5:5344508a52aa78c1ced6c1b8b9e44e9a', + 'timestamp': 1513512768, + 'upload_date': '20171217', + }, + }, { + 'url': 'https://urskola.se/Produkter/190031-Tripp-Trapp-Trad-Sovkudde', 'info_dict': { 'id': '190031', 'ext': 'mp4', 'title': 'Tripp, Trapp, Träd : Sovkudde', 'description': 'md5:b86bffdae04a7e9379d1d7e5947df1d1', + 'timestamp': 1440093600, + 'upload_date': '20150820', }, }, { 'url': 'http://urskola.se/Produkter/155794-Smasagor-meankieli-Grodan-i-vida-varlden', @@ -51,6 +64,7 @@ class URPlayIE(InfoExtractor): 'title': urplayer_data['title'], 'description': self._og_search_description(webpage), 'thumbnail': urplayer_data.get('image'), + 'timestamp': unified_timestamp(self._html_search_meta(('uploadDate', 'schema:uploadDate'), webpage, 'timestamp')), 'series': urplayer_data.get('series_title'), 'subtitles': subtitles, 'formats': formats, diff --git a/youtube_dl/extractor/usatoday.py b/youtube_dl/extractor/usatoday.py index e5678dc..b210344 100644 --- a/youtube_dl/extractor/usatoday.py +++ b/youtube_dl/extractor/usatoday.py @@ -3,21 +3,23 @@ from __future__ import unicode_literals from .common import InfoExtractor from ..utils import ( + ExtractorError, get_element_by_attribute, parse_duration, + try_get, update_url_query, - ExtractorError, ) from ..compat import compat_str class USATodayIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?usatoday\.com/(?:[^/]+/)*(?P<id>[^?/#]+)' - _TEST = { + _TESTS = [{ + # Brightcove Partner ID = 29906170001 'url': 'http://www.usatoday.com/media/cinematic/video/81729424/us-france-warn-syrian-regime-ahead-of-new-peace-talks/', - 'md5': '4d40974481fa3475f8bccfd20c5361f8', + 'md5': '033587d2529dc3411a1ab3644c3b8827', 'info_dict': { - 'id': '81729424', + 'id': '4799374959001', 'ext': 'mp4', 'title': 'US, France warn Syrian regime ahead of new peace talks', 'timestamp': 1457891045, @@ -25,8 +27,20 @@ class USATodayIE(InfoExtractor): 'uploader_id': '29906170001', 'upload_date': '20160313', } - } - BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/29906170001/38a9eecc-bdd8-42a3-ba14-95397e48b3f8_default/index.html?videoId=%s' + }, { + # ui-video-data[asset_metadata][items][brightcoveaccount] = 28911775001 + 'url': 'https://www.usatoday.com/story/tech/science/2018/08/21/yellowstone-supervolcano-eruption-stop-worrying-its-blow/973633002/', + 'info_dict': { + 'id': '5824495846001', + 'ext': 'mp4', + 'title': 'Yellowstone more likely to crack rather than explode', + 'timestamp': 1534790612, + 'description': 'md5:3715e7927639a4f16b474e9391687c62', + 'uploader_id': '28911775001', + 'upload_date': '20180820', + } + }] + BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s' def _real_extract(self, url): display_id = self._match_id(url) @@ -35,10 +49,11 @@ class USATodayIE(InfoExtractor): if not ui_video_data: raise ExtractorError('no video on the webpage', expected=True) video_data = self._parse_json(ui_video_data, display_id) + item = try_get(video_data, lambda x: x['asset_metadata']['items'], dict) or {} return { '_type': 'url_transparent', - 'url': self.BRIGHTCOVE_URL_TEMPLATE % video_data['brightcove_id'], + 'url': self.BRIGHTCOVE_URL_TEMPLATE % (item.get('brightcoveaccount', '29906170001'), item.get('brightcoveid') or video_data['brightcove_id']), 'id': compat_str(video_data['id']), 'title': video_data['title'], 'thumbnail': video_data.get('thumbnail'), diff --git a/youtube_dl/extractor/ustream.py b/youtube_dl/extractor/ustream.py index 5737d4d..582090d 100644 --- a/youtube_dl/extractor/ustream.py +++ b/youtube_dl/extractor/ustream.py @@ -165,7 +165,7 @@ class UstreamIE(InfoExtractor): m = re.match(self._VALID_URL, url) video_id = m.group('id') - # some sites use this embed format (see: https://github.com/rg3/youtube-dl/issues/2990) + # some sites use this embed format (see: https://github.com/ytdl-org/youtube-dl/issues/2990) if m.group('type') == 'embed/recorded': video_id = m.group('id') desktop_url = 'http://www.ustream.tv/recorded/' + video_id diff --git a/youtube_dl/extractor/veehd.py b/youtube_dl/extractor/veehd.py index 0d8d832..a6dc3c8 100644 --- a/youtube_dl/extractor/veehd.py +++ b/youtube_dl/extractor/veehd.py @@ -54,7 +54,7 @@ class VeeHDIE(InfoExtractor): video_id = self._match_id(url) # VeeHD seems to send garbage on the first request. - # See https://github.com/rg3/youtube-dl/issues/2102 + # See https://github.com/ytdl-org/youtube-dl/issues/2102 self._download_webpage(url, video_id, 'Requesting webpage') webpage = self._download_webpage(url, video_id) diff --git a/youtube_dl/extractor/veoh.py b/youtube_dl/extractor/veoh.py index 071774a..1c44c14 100644 --- a/youtube_dl/extractor/veoh.py +++ b/youtube_dl/extractor/veoh.py @@ -1,13 +1,10 @@ from __future__ import unicode_literals -import re -import json - from .common import InfoExtractor from ..utils import ( int_or_none, - ExtractorError, - sanitized_Request, + parse_duration, + qualities, ) @@ -16,9 +13,9 @@ class VeohIE(InfoExtractor): _TESTS = [{ 'url': 'http://www.veoh.com/watch/v56314296nk7Zdmz3', - 'md5': '620e68e6a3cff80086df3348426c9ca3', + 'md5': '9e7ecc0fd8bbee7a69fe38953aeebd30', 'info_dict': { - 'id': '56314296', + 'id': 'v56314296nk7Zdmz3', 'ext': 'mp4', 'title': 'Straight Backs Are Stronger', 'uploader': 'LUMOback', @@ -56,29 +53,6 @@ class VeohIE(InfoExtractor): 'only_matching': True, }] - def _extract_formats(self, source): - formats = [] - link = source.get('aowPermalink') - if link: - formats.append({ - 'url': link, - 'ext': 'mp4', - 'format_id': 'aow', - }) - link = source.get('fullPreviewHashLowPath') - if link: - formats.append({ - 'url': link, - 'format_id': 'low', - }) - link = source.get('fullPreviewHashHighPath') - if link: - formats.append({ - 'url': link, - 'format_id': 'high', - }) - return formats - def _extract_video(self, source): return { 'id': source.get('videoId'), @@ -93,38 +67,37 @@ class VeohIE(InfoExtractor): } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - - if video_id.startswith('v'): - rsp = self._download_xml( - r'http://www.veoh.com/api/findByPermalink?permalink=%s' % video_id, video_id, 'Downloading video XML') - stat = rsp.get('stat') - if stat == 'ok': - return self._extract_video(rsp.find('./videoList/video')) - elif stat == 'fail': - raise ExtractorError( - '%s said: %s' % (self.IE_NAME, rsp.find('./errorList/error').get('errorMessage')), expected=True) - - webpage = self._download_webpage(url, video_id) - age_limit = 0 - if 'class="adultwarning-container"' in webpage: - self.report_age_confirmation() - age_limit = 18 - request = sanitized_Request(url) - request.add_header('Cookie', 'confirmedAdult=true') - webpage = self._download_webpage(request, video_id) + video_id = self._match_id(url) + video = self._download_json( + 'https://www.veoh.com/watch/getVideo/' + video_id, + video_id)['video'] + title = video['title'] - m_youtube = re.search(r'http://www\.youtube\.com/v/(.*?)(\&|"|\?)', webpage) - if m_youtube is not None: - youtube_id = m_youtube.group(1) - self.to_screen('%s: detected Youtube video.' % video_id) - return self.url_result(youtube_id, 'Youtube') - - info = json.loads( - self._search_regex(r'videoDetailsJSON = \'({.*?})\';', webpage, 'info').replace('\\\'', '\'')) - - video = self._extract_video(info) - video['age_limit'] = age_limit + thumbnail_url = None + q = qualities(['HQ', 'Regular']) + formats = [] + for f_id, f_url in video.get('src', {}).items(): + if not f_url: + continue + if f_id == 'poster': + thumbnail_url = f_url + else: + formats.append({ + 'format_id': f_id, + 'quality': q(f_id), + 'url': f_url, + }) + self._sort_formats(formats) - return video + return { + 'id': video_id, + 'title': title, + 'description': video.get('description'), + 'thumbnail': thumbnail_url, + 'uploader': video.get('author', {}).get('nickname'), + 'duration': int_or_none(video.get('lengthBySec')) or parse_duration(video.get('length')), + 'view_count': int_or_none(video.get('views')), + 'formats': formats, + 'average_rating': int_or_none(video.get('rating')), + 'comment_count': int_or_none(video.get('numOfComments')), + } diff --git a/youtube_dl/extractor/vevo.py b/youtube_dl/extractor/vevo.py index 890a149..232e058 100644 --- a/youtube_dl/extractor/vevo.py +++ b/youtube_dl/extractor/vevo.py @@ -200,7 +200,7 @@ class VevoIE(VevoBaseIE): fatal=False) # Some videos are only available via webpage (e.g. - # https://github.com/rg3/youtube-dl/issues/9366) + # https://github.com/ytdl-org/youtube-dl/issues/9366) if not video_versions: webpage = self._download_webpage(url, video_id) json_data = self._extract_json(webpage, video_id) @@ -275,8 +275,8 @@ class VevoIE(VevoBaseIE): genres = video_info.get('genres') genre = ( - genres[0] if genres and isinstance(genres, list) and - isinstance(genres[0], compat_str) else None) + genres[0] if genres and isinstance(genres, list) + and isinstance(genres[0], compat_str) else None) is_explicit = video_info.get('isExplicit') if is_explicit is True: diff --git a/youtube_dl/extractor/vice.py b/youtube_dl/extractor/vice.py index 5382586..8fdfd74 100644 --- a/youtube_dl/extractor/vice.py +++ b/youtube_dl/extractor/vice.py @@ -94,7 +94,6 @@ class ViceIE(AdobePassIE): 'url': 'https://www.viceland.com/en_us/video/thursday-march-1-2018/5a8f2d7ff1cdb332dd446ec1', 'only_matching': True, }] - _PREPLAY_HOST = 'vms.vice' @staticmethod def _extract_urls(webpage): @@ -158,9 +157,8 @@ class ViceIE(AdobePassIE): }) try: - host = 'www.viceland' if is_locked else self._PREPLAY_HOST preplay = self._download_json( - 'https://%s.com/%s/video/preplay/%s' % (host, locale, video_id), + 'https://vms.vice.com/%s/video/preplay/%s' % (locale, video_id), video_id, query=query) except ExtractorError as e: if isinstance(e.cause, compat_HTTPError) and e.cause.code in (400, 401): diff --git a/youtube_dl/extractor/viddler.py b/youtube_dl/extractor/viddler.py index 67808e7..6423584 100644 --- a/youtube_dl/extractor/viddler.py +++ b/youtube_dl/extractor/viddler.py @@ -1,19 +1,16 @@ from __future__ import unicode_literals +import re + from .common import InfoExtractor -from ..compat import ( - compat_urllib_parse_urlencode, - compat_urlparse, -) from ..utils import ( float_or_none, int_or_none, - sanitized_Request, ) class ViddlerIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?viddler\.com/(?:v|embed|player)/(?P<id>[a-z0-9]+)' + _VALID_URL = r'https?://(?:www\.)?viddler\.com/(?:v|embed|player)/(?P<id>[a-z0-9]+)(?:.+?\bsecret=(\d+))?' _TESTS = [{ 'url': 'http://www.viddler.com/v/43903784', 'md5': '9eee21161d2c7f5b39690c3e325fab2f', @@ -78,23 +75,18 @@ class ViddlerIE(InfoExtractor): }] def _real_extract(self, url): - video_id = self._match_id(url) + video_id, secret = re.match(self._VALID_URL, url).groups() query = { 'video_id': video_id, 'key': 'v0vhrt7bg2xq1vyxhkct', } - - qs = compat_urlparse.parse_qs(compat_urlparse.urlparse(url).query) - secret = qs.get('secret', [None])[0] if secret: query['secret'] = secret - headers = {'Referer': 'http://static.cdn-ec.viddler.com/js/arpeggio/v2/embed.html'} - request = sanitized_Request( - 'http://api.viddler.com/api/v2/viddler.videos.getPlaybackDetails.json?%s' - % compat_urllib_parse_urlencode(query), None, headers) - data = self._download_json(request, video_id)['video'] + data = self._download_json( + 'http://api.viddler.com/api/v2/viddler.videos.getPlaybackDetails.json', + video_id, headers={'Referer': url}, query=query)['video'] formats = [] for filed in data['files']: diff --git a/youtube_dl/extractor/videomega.py b/youtube_dl/extractor/videomega.py deleted file mode 100644 index c02830d..0000000 --- a/youtube_dl/extractor/videomega.py +++ /dev/null @@ -1,60 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..utils import ( - decode_packed_codes, - sanitized_Request, -) - - -class VideoMegaIE(InfoExtractor): - _VALID_URL = r'(?:videomega:|https?://(?:www\.)?videomega\.tv/(?:(?:view|iframe|cdn)\.php)?\?ref=)(?P<id>[A-Za-z0-9]+)' - _TESTS = [{ - 'url': 'http://videomega.tv/cdn.php?ref=AOSQBJYKIDDIKYJBQSOA', - 'md5': 'cc1920a58add3f05c6a93285b84fb3aa', - 'info_dict': { - 'id': 'AOSQBJYKIDDIKYJBQSOA', - 'ext': 'mp4', - 'title': '1254207', - 'thumbnail': r're:^https?://.*\.jpg$', - } - }, { - 'url': 'http://videomega.tv/cdn.php?ref=AOSQBJYKIDDIKYJBQSOA&width=1070&height=600', - 'only_matching': True, - }, { - 'url': 'http://videomega.tv/view.php?ref=090051111052065112106089103052052103089106112065052111051090', - 'only_matching': True, - }] - - def _real_extract(self, url): - video_id = self._match_id(url) - - iframe_url = 'http://videomega.tv/cdn.php?ref=%s' % video_id - req = sanitized_Request(iframe_url) - req.add_header('Referer', url) - req.add_header('Cookie', 'noadvtday=0') - webpage = self._download_webpage(req, video_id) - - title = self._html_search_regex( - r'<title>(.+?)</title>', webpage, 'title') - title = re.sub( - r'(?:^[Vv]ideo[Mm]ega\.tv\s-\s*|\s*-\svideomega\.tv$)', '', title) - thumbnail = self._search_regex( - r'<video[^>]+?poster="([^"]+)"', webpage, 'thumbnail', fatal=False) - - real_codes = decode_packed_codes(webpage) - video_url = self._search_regex( - r'"src"\s*,\s*"([^"]+)"', real_codes, 'video URL') - - return { - 'id': video_id, - 'title': title, - 'url': video_url, - 'thumbnail': thumbnail, - 'http_headers': { - 'Referer': iframe_url, - }, - } diff --git a/youtube_dl/extractor/videomore.py b/youtube_dl/extractor/videomore.py index 9b56630..e3eda33 100644 --- a/youtube_dl/extractor/videomore.py +++ b/youtube_dl/extractor/videomore.py @@ -4,8 +4,14 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..compat import compat_str from ..utils import ( int_or_none, + orderedSet, + parse_duration, + str_or_none, + unified_strdate, + url_or_none, xpath_element, xpath_text, ) @@ -13,7 +19,19 @@ from ..utils import ( class VideomoreIE(InfoExtractor): IE_NAME = 'videomore' - _VALID_URL = r'videomore:(?P<sid>\d+)$|https?://videomore\.ru/(?:(?:embed|[^/]+/[^/]+)/|[^/]+\?.*\btrack_id=)(?P<id>\d+)(?:[/?#&]|\.(?:xml|json)|$)' + _VALID_URL = r'''(?x) + videomore:(?P<sid>\d+)$| + https?://(?:player\.)?videomore\.ru/ + (?: + (?: + embed| + [^/]+/[^/]+ + )/| + [^/]*\?.*?\btrack_id= + ) + (?P<id>\d+) + (?:[/?#&]|\.(?:xml|json)|$) + ''' _TESTS = [{ 'url': 'http://videomore.ru/kino_v_detalayah/5_sezon/367617', 'md5': '44455a346edc0d509ac5b5a5b531dc35', @@ -79,6 +97,9 @@ class VideomoreIE(InfoExtractor): }, { 'url': 'videomore:367617', 'only_matching': True, + }, { + 'url': 'https://player.videomore.ru/?partner_id=97&track_id=736234&autoplay=0&userToken=', + 'only_matching': True, }] @staticmethod @@ -136,7 +157,7 @@ class VideomoreIE(InfoExtractor): class VideomoreVideoIE(InfoExtractor): IE_NAME = 'videomore:video' - _VALID_URL = r'https?://videomore\.ru/(?:(?:[^/]+/){2})?(?P<id>[^/?#&]+)[/?#&]*$' + _VALID_URL = r'https?://videomore\.ru/(?:(?:[^/]+/){2})?(?P<id>[^/?#&]+)(?:/*|[?#&].*?)$' _TESTS = [{ # single video with og:video:iframe 'url': 'http://videomore.ru/elki_3', @@ -176,6 +197,9 @@ class VideomoreVideoIE(InfoExtractor): 'params': { 'skip_download': True, }, + }, { + 'url': 'https://videomore.ru/molodezhka/6_sezon/29_seriya?utm_so', + 'only_matching': True, }] @classmethod @@ -196,13 +220,16 @@ class VideomoreVideoIE(InfoExtractor): r'track-id=["\'](\d+)', r'xcnt_product_id\s*=\s*(\d+)'), webpage, 'video id') video_url = 'videomore:%s' % video_id + else: + video_id = None - return self.url_result(video_url, VideomoreIE.ie_key()) + return self.url_result( + video_url, ie=VideomoreIE.ie_key(), video_id=video_id) class VideomoreSeasonIE(InfoExtractor): IE_NAME = 'videomore:season' - _VALID_URL = r'https?://videomore\.ru/(?!embed)(?P<id>[^/]+/[^/?#&]+)[/?#&]*$' + _VALID_URL = r'https?://videomore\.ru/(?!embed)(?P<id>[^/]+/[^/?#&]+)(?:/*|[?#&].*?)$' _TESTS = [{ 'url': 'http://videomore.ru/molodezhka/sezon_promo', 'info_dict': { @@ -210,8 +237,16 @@ class VideomoreSeasonIE(InfoExtractor): 'title': 'Ðолодежка ÐÑомо', }, 'playlist_mincount': 12, + }, { + 'url': 'http://videomore.ru/molodezhka/sezon_promo?utm_so', + 'only_matching': True, }] + @classmethod + def suitable(cls, url): + return (False if (VideomoreIE.suitable(url) or VideomoreVideoIE.suitable(url)) + else super(VideomoreSeasonIE, cls).suitable(url)) + def _real_extract(self, url): display_id = self._match_id(url) @@ -219,9 +254,54 @@ class VideomoreSeasonIE(InfoExtractor): title = self._og_search_title(webpage) - entries = [ - self.url_result(item) for item in re.findall( - r'<a[^>]+href="((?:https?:)?//videomore\.ru/%s/[^/]+)"[^>]+class="widget-item-desc"' - % display_id, webpage)] + data = self._parse_json( + self._html_search_regex( + r'\bclass=["\']seasons-tracks["\'][^>]+\bdata-custom-data=(["\'])(?P<value>{.+?})\1', + webpage, 'data', default='{}', group='value'), + display_id, fatal=False) + + entries = [] + + if data: + episodes = data.get('episodes') + if isinstance(episodes, list): + for ep in episodes: + if not isinstance(ep, dict): + continue + ep_id = int_or_none(ep.get('id')) + ep_url = url_or_none(ep.get('url')) + if ep_id: + e = { + 'url': 'videomore:%s' % ep_id, + 'id': compat_str(ep_id), + } + elif ep_url: + e = {'url': ep_url} + else: + continue + e.update({ + '_type': 'url', + 'ie_key': VideomoreIE.ie_key(), + 'title': str_or_none(ep.get('title')), + 'thumbnail': url_or_none(ep.get('image')), + 'duration': parse_duration(ep.get('duration')), + 'episode_number': int_or_none(ep.get('number')), + 'upload_date': unified_strdate(ep.get('date')), + }) + entries.append(e) + + if not entries: + entries = [ + self.url_result( + 'videomore:%s' % video_id, ie=VideomoreIE.ie_key(), + video_id=video_id) + for video_id in orderedSet(re.findall( + r':(?:id|key)=["\'](\d+)["\']', webpage))] + + if not entries: + entries = [ + self.url_result(item) for item in re.findall( + r'<a[^>]+href="((?:https?:)?//videomore\.ru/%s/[^/]+)"[^>]+class="widget-item-desc"' + % display_id, webpage)] return self.playlist_result(entries, display_id, title) diff --git a/youtube_dl/extractor/viki.py b/youtube_dl/extractor/viki.py index 546de95..b0dcdc0 100644 --- a/youtube_dl/extractor/viki.py +++ b/youtube_dl/extractor/viki.py @@ -21,7 +21,7 @@ from ..utils import ( class VikiBaseIE(InfoExtractor): _VALID_URL_BASE = r'https?://(?:www\.)?viki\.(?:com|net|mx|jp|fr)/' _API_QUERY_TEMPLATE = '/v4/%sapp=%s&t=%s&site=www.viki.com' - _API_URL_TEMPLATE = 'http://api.viki.io%s&sig=%s' + _API_URL_TEMPLATE = 'https://api.viki.io%s&sig=%s' _APP = '100005a' _APP_VERSION = '2.2.5.1428709186' @@ -377,7 +377,7 @@ class VikiChannelIE(VikiBaseIE): for video in page['response']: video_id = video['id'] entries.append(self.url_result( - 'http://www.viki.com/videos/%s' % video_id, 'Viki')) + 'https://www.viki.com/videos/%s' % video_id, 'Viki')) if not page['pagination']['next']: break diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py index 5e15f06..a41178b 100644 --- a/youtube_dl/extractor/vimeo.py +++ b/youtube_dl/extractor/vimeo.py @@ -1,6 +1,7 @@ # coding: utf-8 from __future__ import unicode_literals +import base64 import json import re import itertools @@ -108,23 +109,9 @@ class VimeoBaseInfoExtractor(InfoExtractor): def _parse_config(self, config, video_id): video_data = config['video'] - # Extract title video_title = video_data['title'] - - # Extract uploader, uploader_url and uploader_id - video_uploader = video_data.get('owner', {}).get('name') - video_uploader_url = video_data.get('owner', {}).get('url') - video_uploader_id = video_uploader_url.split('/')[-1] if video_uploader_url else None - - # Extract video thumbnail - video_thumbnail = video_data.get('thumbnail') - if video_thumbnail is None: - video_thumbs = video_data.get('thumbs') - if video_thumbs and isinstance(video_thumbs, dict): - _, video_thumbnail = sorted((int(width if width.isdigit() else 0), t_url) for (width, t_url) in video_thumbs.items())[-1] - - # Extract video duration - video_duration = int_or_none(video_data.get('duration')) + live_event = video_data.get('live_event') or {} + is_live = live_event.get('status') == 'started' formats = [] config_files = video_data.get('files') or config['request'].get('files', {}) @@ -141,6 +128,7 @@ class VimeoBaseInfoExtractor(InfoExtractor): 'tbr': int_or_none(f.get('bitrate')), }) + # TODO: fix handling of 308 status code returned for live archive manifest requests for files_type in ('hls', 'dash'): for cdn_name, cdn_data in config_files.get(files_type, {}).get('cdns', {}).items(): manifest_url = cdn_data.get('url') @@ -150,7 +138,7 @@ class VimeoBaseInfoExtractor(InfoExtractor): if files_type == 'hls': formats.extend(self._extract_m3u8_formats( manifest_url, video_id, 'mp4', - 'm3u8_native', m3u8_id=format_id, + 'm3u8' if is_live else 'm3u8_native', m3u8_id=format_id, note='Downloading %s m3u8 information' % cdn_name, fatal=False)) elif files_type == 'dash': @@ -163,6 +151,10 @@ class VimeoBaseInfoExtractor(InfoExtractor): else: mpd_manifest_urls = [(format_id, manifest_url)] for f_id, m_url in mpd_manifest_urls: + if 'json=1' in m_url: + real_m_url = (self._download_json(m_url, video_id, fatal=False) or {}).get('url') + if real_m_url: + m_url = real_m_url mpd_formats = self._extract_mpd_formats( m_url.replace('/master.json', '/master.mpd'), video_id, f_id, 'Downloading %s MPD information' % cdn_name, @@ -174,6 +166,15 @@ class VimeoBaseInfoExtractor(InfoExtractor): f['preference'] = -40 formats.extend(mpd_formats) + live_archive = live_event.get('archive') or {} + live_archive_source_url = live_archive.get('source_url') + if live_archive_source_url and live_archive.get('status') == 'done': + formats.append({ + 'format_id': 'live-archive-source', + 'url': live_archive_source_url, + 'preference': 1, + }) + subtitles = {} text_tracks = config['request'].get('text_tracks') if text_tracks: @@ -183,17 +184,61 @@ class VimeoBaseInfoExtractor(InfoExtractor): 'url': 'https://vimeo.com' + tt['url'], }] + thumbnails = [] + if not is_live: + for key, thumb in video_data.get('thumbs', {}).items(): + thumbnails.append({ + 'id': key, + 'width': int_or_none(key), + 'url': thumb, + }) + thumbnail = video_data.get('thumbnail') + if thumbnail: + thumbnails.append({ + 'url': thumbnail, + }) + + owner = video_data.get('owner') or {} + video_uploader_url = owner.get('url') + return { - 'title': video_title, - 'uploader': video_uploader, - 'uploader_id': video_uploader_id, + 'title': self._live_title(video_title) if is_live else video_title, + 'uploader': owner.get('name'), + 'uploader_id': video_uploader_url.split('/')[-1] if video_uploader_url else None, 'uploader_url': video_uploader_url, - 'thumbnail': video_thumbnail, - 'duration': video_duration, + 'thumbnails': thumbnails, + 'duration': int_or_none(video_data.get('duration')), 'formats': formats, 'subtitles': subtitles, + 'is_live': is_live, } + def _extract_original_format(self, url, video_id): + download_data = self._download_json( + url, video_id, fatal=False, + query={'action': 'load_download_config'}, + headers={'X-Requested-With': 'XMLHttpRequest'}) + if download_data: + source_file = download_data.get('source_file') + if isinstance(source_file, dict): + download_url = source_file.get('download_url') + if download_url and not source_file.get('is_cold') and not source_file.get('is_defrosting'): + source_name = source_file.get('public_name', 'Original') + if self._is_valid_url(download_url, video_id, '%s video' % source_name): + ext = (try_get( + source_file, lambda x: x['extension'], + compat_str) or determine_ext( + download_url, None) or 'mp4').lower() + return { + 'url': download_url, + 'ext': ext, + 'width': int_or_none(source_file.get('width')), + 'height': int_or_none(source_file.get('height')), + 'filesize': parse_filesize(source_file.get('size')), + 'format_id': source_name, + 'preference': 1, + } + class VimeoIE(VimeoBaseInfoExtractor): """Information extractor for vimeo.com.""" @@ -392,6 +437,22 @@ class VimeoIE(VimeoBaseInfoExtractor): 'skip_download': True, }, }, + { + 'url': 'http://player.vimeo.com/video/68375962', + 'md5': 'aaf896bdb7ddd6476df50007a0ac0ae7', + 'info_dict': { + 'id': '68375962', + 'ext': 'mp4', + 'title': 'youtube-dl password protected test video', + 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/user18948128', + 'uploader_id': 'user18948128', + 'uploader': 'Jaime MarquÃnez Ferrándiz', + 'duration': 10, + }, + 'params': { + 'videopassword': 'youtube-dl', + }, + }, { 'url': 'http://vimeo.com/moogaloop.swf?clip_id=2539741', 'only_matching': True, @@ -418,6 +479,8 @@ class VimeoIE(VimeoBaseInfoExtractor): 'url': 'https://vimeo.com/160743502/abd0e13fb4', 'only_matching': True, } + # https://gettingthingsdone.com/workflowmap/ + # vimeo embed with check-password page protected by Referer header ] @staticmethod @@ -448,18 +511,22 @@ class VimeoIE(VimeoBaseInfoExtractor): urls = VimeoIE._extract_urls(url, webpage) return urls[0] if urls else None - def _verify_player_video_password(self, url, video_id): + def _verify_player_video_password(self, url, video_id, headers): password = self._downloader.params.get('videopassword') if password is None: raise ExtractorError('This video is protected by a password, use the --video-password option') - data = urlencode_postdata({'password': password}) - pass_url = url + '/check-password' - password_request = sanitized_Request(pass_url, data) - password_request.add_header('Content-Type', 'application/x-www-form-urlencoded') - password_request.add_header('Referer', url) - return self._download_json( - password_request, video_id, - 'Verifying the password', 'Wrong password') + data = urlencode_postdata({ + 'password': base64.b64encode(password.encode()), + }) + headers = merge_dicts(headers, { + 'Content-Type': 'application/x-www-form-urlencoded', + }) + checked = self._download_json( + url + '/check-password', video_id, + 'Verifying the password', data=data, headers=headers) + if checked is False: + raise ExtractorError('Wrong video password', expected=True) + return checked def _real_initialize(self): self._login() @@ -479,7 +546,11 @@ class VimeoIE(VimeoBaseInfoExtractor): mobj = re.match(self._VALID_URL, url) video_id = mobj.group('id') orig_url = url - if mobj.group('pro') or mobj.group('player'): + if mobj.group('pro'): + # some videos require portfolio_id to be present in player url + # https://github.com/ytdl-org/youtube-dl/issues/20070 + url = self._extract_url(url, self._download_webpage(url, video_id)) + elif mobj.group('player'): url = 'https://player.vimeo.com/video/' + video_id elif any(p in url for p in ('play_redirect_hls', 'moogaloop.swf')): url = 'https://vimeo.com/' + video_id @@ -532,7 +603,7 @@ class VimeoIE(VimeoBaseInfoExtractor): if not config_url: # Sometimes new react-based page is served instead of old one that require # different config URL extraction approach (see - # https://github.com/rg3/youtube-dl/pull/7209) + # https://github.com/ytdl-org/youtube-dl/pull/7209) vimeo_clip_page_config = self._search_regex( r'vimeo\.clip_page_config\s*=\s*({.+?});', webpage, 'vimeo clip page config') @@ -572,7 +643,7 @@ class VimeoIE(VimeoBaseInfoExtractor): cause=e) else: if config.get('view') == 4: - config = self._verify_player_video_password(redirect_url, video_id) + config = self._verify_player_video_password(redirect_url, video_id, headers) vod = config.get('video', {}).get('vod', {}) @@ -632,29 +703,11 @@ class VimeoIE(VimeoBaseInfoExtractor): comment_count = None formats = [] - download_request = sanitized_Request('https://vimeo.com/%s?action=load_download_config' % video_id, headers={ - 'X-Requested-With': 'XMLHttpRequest'}) - download_data = self._download_json(download_request, video_id, fatal=False) - if download_data: - source_file = download_data.get('source_file') - if isinstance(source_file, dict): - download_url = source_file.get('download_url') - if download_url and not source_file.get('is_cold') and not source_file.get('is_defrosting'): - source_name = source_file.get('public_name', 'Original') - if self._is_valid_url(download_url, video_id, '%s video' % source_name): - ext = (try_get( - source_file, lambda x: x['extension'], - compat_str) or determine_ext( - download_url, None) or 'mp4').lower() - formats.append({ - 'url': download_url, - 'ext': ext, - 'width': int_or_none(source_file.get('width')), - 'height': int_or_none(source_file.get('height')), - 'filesize': parse_filesize(source_file.get('size')), - 'format_id': source_name, - 'preference': 1, - }) + + source_format = self._extract_original_format( + 'https://vimeo.com/' + video_id, video_id) + if source_format: + formats.append(source_format) info_dict_config = self._parse_config(config, video_id) formats.extend(info_dict_config['formats']) @@ -913,7 +966,7 @@ class VimeoGroupsIE(VimeoAlbumIE): class VimeoReviewIE(VimeoBaseInfoExtractor): IE_NAME = 'vimeo:review' IE_DESC = 'Review pages on vimeo' - _VALID_URL = r'https://vimeo\.com/[^/]+/review/(?P<id>[^/]+)' + _VALID_URL = r'(?P<url>https://vimeo\.com/[^/]+/review/(?P<id>[^/]+)/[0-9a-f]{10})' _TESTS = [{ 'url': 'https://vimeo.com/user21297594/review/75524534/3c257a1b5d', 'md5': 'c507a72f780cacc12b2248bb4006d253', @@ -965,7 +1018,8 @@ class VimeoReviewIE(VimeoBaseInfoExtractor): data = self._parse_json(self._search_regex( r'window\s*=\s*_extend\(window,\s*({.+?})\);', webpage, 'data', default=NO_DEFAULT if video_password_verified else '{}'), video_id) - config_url = data.get('vimeo_esi', {}).get('config', {}).get('configUrl') + config = data.get('vimeo_esi', {}).get('config', {}) + config_url = config.get('configUrl') or try_get(config, lambda x: x['clipData']['configUrl']) if config_url is None: self._verify_video_password(webpage_url, video_id, webpage) config_url = self._get_config_url( @@ -973,10 +1027,13 @@ class VimeoReviewIE(VimeoBaseInfoExtractor): return config_url def _real_extract(self, url): - video_id = self._match_id(url) + page_url, video_id = re.match(self._VALID_URL, url).groups() config_url = self._get_config_url(url, video_id) config = self._download_json(config_url, video_id) info_dict = self._parse_config(config, video_id) + source_format = self._extract_original_format(page_url, video_id) + if source_format: + info_dict['formats'].append(source_format) self._vimeo_sort_formats(info_dict['formats']) info_dict['id'] = video_id return info_dict diff --git a/youtube_dl/extractor/vk.py b/youtube_dl/extractor/vk.py index b52d15a..f57ed22 100644 --- a/youtube_dl/extractor/vk.py +++ b/youtube_dl/extractor/vk.py @@ -3,13 +3,9 @@ from __future__ import unicode_literals import collections import re -import sys from .common import InfoExtractor -from ..compat import ( - compat_str, - compat_urlparse, -) +from ..compat import compat_urlparse from ..utils import ( clean_html, ExtractorError, @@ -48,24 +44,9 @@ class VKBaseIE(InfoExtractor): 'pass': password.encode('cp1251'), }) - # https://new.vk.com/ serves two same remixlhk cookies in Set-Cookie header - # and expects the first one to be set rather than second (see - # https://github.com/rg3/youtube-dl/issues/9841#issuecomment-227871201). - # As of RFC6265 the newer one cookie should be set into cookie store - # what actually happens. - # We will workaround this VK issue by resetting the remixlhk cookie to - # the first one manually. - for header, cookies in url_handle.headers.items(): - if header.lower() != 'set-cookie': - continue - if sys.version_info[0] >= 3: - cookies = cookies.encode('iso-8859-1') - cookies = cookies.decode('utf-8') - remixlhk = re.search(r'remixlhk=(.+?);.*?\bdomain=(.+?)(?:[,;]|$)', cookies) - if remixlhk: - value, domain = remixlhk.groups() - self._set_cookie(domain, 'remixlhk', value) - break + # vk serves two same remixlhk cookies in Set-Cookie header and expects + # first one to be actually set + self._apply_first_set_cookie_header(url_handle, 'remixlhk') login_page = self._download_webpage( 'https://login.vk.com/?act=login', None, @@ -103,7 +84,7 @@ class VKIE(VKBaseIE): 'url': 'http://vk.com/videos-77521?z=video-77521_162222515%2Fclub77521', 'md5': '7babad3b85ea2e91948005b1b8b0cb84', 'info_dict': { - 'id': '162222515', + 'id': '-77521_162222515', 'ext': 'mp4', 'title': 'ProtivoGunz - Ð¥ÑÑÐ²Ð°Ñ Ð¿ÐµÑнÑ', 'uploader': 're:(?:Noize MC|Alexander Ilyashenko).*', @@ -117,7 +98,7 @@ class VKIE(VKBaseIE): 'url': 'http://vk.com/video205387401_165548505', 'md5': '6c0aeb2e90396ba97035b9cbde548700', 'info_dict': { - 'id': '165548505', + 'id': '205387401_165548505', 'ext': 'mp4', 'title': 'No name', 'uploader': 'Tom Cruise', @@ -132,7 +113,7 @@ class VKIE(VKBaseIE): 'url': 'http://vk.com/video_ext.php?oid=32194266&id=162925554&hash=7d8c2e0d5e05aeaa&hd=1', 'md5': 'c7ce8f1f87bec05b3de07fdeafe21a0a', 'info_dict': { - 'id': '162925554', + 'id': '32194266_162925554', 'ext': 'mp4', 'uploader': 'Vladimir Gavrin', 'title': 'Lin Dan', @@ -149,7 +130,7 @@ class VKIE(VKBaseIE): 'md5': 'a590bcaf3d543576c9bd162812387666', 'note': 'Only available for registered users', 'info_dict': { - 'id': '164049491', + 'id': '-8871596_164049491', 'ext': 'mp4', 'uploader': 'ТÑиллеÑÑ', 'title': '⺠ÐойÑовÑкий клÑб / Fight Club 1999 [HD 720]', @@ -163,7 +144,7 @@ class VKIE(VKBaseIE): 'url': 'http://vk.com/hd_kino_mania?z=video-43215063_168067957%2F15c66b9b533119788d', 'md5': '4d7a5ef8cf114dfa09577e57b2993202', 'info_dict': { - 'id': '168067957', + 'id': '-43215063_168067957', 'ext': 'mp4', 'uploader': 'ÐÐ¸Ð½Ð¾Ð¼Ð°Ð½Ð¸Ñ - лÑÑÑее из миÑа кино', 'title': ' ', @@ -177,7 +158,7 @@ class VKIE(VKBaseIE): 'md5': '0c45586baa71b7cb1d0784ee3f4e00a6', 'note': 'ivi.ru embed', 'info_dict': { - 'id': '60690', + 'id': '-43215063_169084319', 'ext': 'mp4', 'title': 'Ðнига ÐлаÑ', 'duration': 6771, @@ -191,7 +172,7 @@ class VKIE(VKBaseIE): 'url': 'https://vk.com/video30481095_171201961?list=8764ae2d21f14088d4', 'md5': '091287af5402239a1051c37ec7b92913', 'info_dict': { - 'id': '171201961', + 'id': '30481095_171201961', 'ext': 'mp4', 'title': 'ТÑменÑевÐÐ_09.07.2015', 'uploader': 'Anton Ivanov', @@ -206,10 +187,10 @@ class VKIE(VKBaseIE): 'url': 'https://vk.com/video276849682_170681728', 'info_dict': { 'id': 'V3K4mi0SYkc', - 'ext': 'webm', + 'ext': 'mp4', 'title': "DSWD Awards 'Children's Joy Foundation, Inc.' Certificate of Registration and License to Operate", 'description': 'md5:bf9c26cfa4acdfb146362682edd3827a', - 'duration': 179, + 'duration': 178, 'upload_date': '20130116', 'uploader': "Children's Joy Foundation Inc.", 'uploader_id': 'thecjf', @@ -239,7 +220,7 @@ class VKIE(VKBaseIE): 'url': 'http://vk.com/video-110305615_171782105', 'md5': 'e13fcda136f99764872e739d13fac1d1', 'info_dict': { - 'id': '171782105', + 'id': '-110305615_171782105', 'ext': 'mp4', 'title': 'S-Dance, ÑепеÑиÑии к The way show', 'uploader': 'THE WAY SHOW | 17 апÑелÑ', @@ -254,14 +235,17 @@ class VKIE(VKBaseIE): { # finished live stream, postlive_mp4 'url': 'https://vk.com/videos-387766?z=video-387766_456242764%2Fpl_-387766_-2', - 'md5': '90d22d051fccbbe9becfccc615be6791', 'info_dict': { - 'id': '456242764', + 'id': '-387766_456242764', 'ext': 'mp4', - 'title': 'ÐгÑоÐÐ¸Ñ 2016 â Ð´ÐµÐ½Ñ 1', + 'title': 'ÐгÑоÐÐ¸Ñ 2016 ÐÐµÐ½Ñ 1 â ÐгÑÐ¾Ð¼Ð°Ð½Ð¸Ñ Ð£ÑÑом', 'uploader': 'ÐгÑоманиÑ', 'duration': 5239, - 'view_count': int, + # TODO: use act=show to extract view_count + # 'view_count': int, + 'upload_date': '20160929', + 'uploader_id': '-387766', + 'timestamp': 1475137527, }, }, { @@ -443,8 +427,8 @@ class VKIE(VKBaseIE): format_url = url_or_none(format_url) if not format_url or not format_url.startswith(('http', '//', 'rtmp')): continue - if (format_id.startswith(('url', 'cache')) or - format_id in ('extra_data', 'live_mp4', 'postlive_mp4')): + if (format_id.startswith(('url', 'cache')) + or format_id in ('extra_data', 'live_mp4', 'postlive_mp4')): height = int_or_none(self._search_regex( r'^(?:url|cache)(\d+)', format_id, 'height', default=None)) formats.append({ @@ -465,7 +449,7 @@ class VKIE(VKBaseIE): self._sort_formats(formats) return { - 'id': compat_str(data.get('vid') or video_id), + 'id': video_id, 'formats': formats, 'title': title, 'thumbnail': data.get('jpg'), diff --git a/youtube_dl/extractor/vlive.py b/youtube_dl/extractor/vlive.py index 0b5165f..c3429f7 100644 --- a/youtube_dl/extractor/vlive.py +++ b/youtube_dl/extractor/vlive.py @@ -24,6 +24,7 @@ from ..utils import ( class VLiveIE(InfoExtractor): IE_NAME = 'vlive' _VALID_URL = r'https?://(?:(?:www|m)\.)?vlive\.tv/video/(?P<id>[0-9]+)' + _NETRC_MACHINE = 'vlive' _TESTS = [{ 'url': 'http://www.vlive.tv/video/1326', 'md5': 'cc7314812855ce56de70a06a27314983', @@ -47,12 +48,55 @@ class VLiveIE(InfoExtractor): 'params': { 'skip_download': True, }, + }, { + 'url': 'https://www.vlive.tv/video/129100', + 'md5': 'ca2569453b79d66e5b919e5d308bff6b', + 'info_dict': { + 'id': '129100', + 'ext': 'mp4', + 'title': '[V LIVE] [BTS+] Run BTS! 2019 - EP.71 :: Behind the scene', + 'creator': 'BTS+', + 'view_count': int, + 'subtitles': 'mincount:10', + }, + 'skip': 'This video is only available for CH+ subscribers', }] @classmethod def suitable(cls, url): return False if VLivePlaylistIE.suitable(url) else super(VLiveIE, cls).suitable(url) + def _real_initialize(self): + self._login() + + def _login(self): + email, password = self._get_login_info() + if None in (email, password): + return + + def is_logged_in(): + login_info = self._download_json( + 'https://www.vlive.tv/auth/loginInfo', None, + note='Downloading login info', + headers={'Referer': 'https://www.vlive.tv/home'}) + return try_get( + login_info, lambda x: x['message']['login'], bool) or False + + LOGIN_URL = 'https://www.vlive.tv/auth/email/login' + self._request_webpage( + LOGIN_URL, None, note='Downloading login cookies') + + self._download_webpage( + LOGIN_URL, None, note='Logging in', + data=urlencode_postdata({'email': email, 'pwd': password}), + headers={ + 'Referer': LOGIN_URL, + 'Content-Type': 'application/x-www-form-urlencoded' + }) + + if not is_logged_in(): + raise ExtractorError('Unable to log in', expected=True) + def _real_extract(self, url): video_id = self._match_id(url) @@ -77,10 +121,7 @@ class VLiveIE(InfoExtractor): if status in ('LIVE_ON_AIR', 'BIG_EVENT_ON_AIR'): return self._live(video_id, webpage) elif status in ('VOD_ON_AIR', 'BIG_EVENT_INTRO'): - if long_video_id and key: - return self._replay(video_id, webpage, long_video_id, key) - else: - status = 'COMING_SOON' + return self._replay(video_id, webpage, long_video_id, key) if status == 'LIVE_END': raise ExtractorError('Uploading for replay. Please wait...', @@ -91,13 +132,15 @@ class VLiveIE(InfoExtractor): raise ExtractorError('We are sorry, ' 'but the live broadcast has been canceled.', expected=True) + elif status == 'ONLY_APP': + raise ExtractorError('Unsupported video type', expected=True) else: raise ExtractorError('Unknown status %s' % status) def _get_common_fields(self, webpage): title = self._og_search_title(webpage) creator = self._html_search_regex( - r'<div[^>]+class="info_area"[^>]*>\s*<a\s+[^>]*>([^<]+)', + r'<div[^>]+class="info_area"[^>]*>\s*(?:<em[^>]*>.*?</em\s*>\s*)?<a\s+[^>]*>([^<]+)', webpage, 'creator', fatal=False) thumbnail = self._og_search_thumbnail(webpage) return { @@ -107,14 +150,7 @@ class VLiveIE(InfoExtractor): } def _live(self, video_id, webpage): - init_page = self._download_webpage( - 'https://www.vlive.tv/video/init/view', - video_id, note='Downloading live webpage', - data=urlencode_postdata({'videoSeq': video_id}), - headers={ - 'Referer': 'https://www.vlive.tv/video/%s' % video_id, - 'Content-Type': 'application/x-www-form-urlencoded' - }) + init_page = self._download_init_page(video_id) live_params = self._search_regex( r'"liveStreamInfo"\s*:\s*(".*"),', @@ -140,6 +176,17 @@ class VLiveIE(InfoExtractor): return info def _replay(self, video_id, webpage, long_video_id, key): + if '' in (long_video_id, key): + init_page = self._download_init_page(video_id) + video_info = self._parse_json(self._search_regex( + (r'(?s)oVideoStatus\s*=\s*({.+?})\s*</script', + r'(?s)oVideoStatus\s*=\s*({.+})'), init_page, 'video info'), + video_id) + if video_info.get('status') == 'NEED_CHANNEL_PLUS': + self.raise_login_required( + 'This video is only available for CH+ subscribers') + long_video_id, key = video_info['vid'], video_info['inkey'] + playinfo = self._download_json( 'http://global.apis.naver.com/rmcnmv/rmcnmv/vod_play_videoInfo.json?%s' % compat_urllib_parse_urlencode({ @@ -180,6 +227,16 @@ class VLiveIE(InfoExtractor): }) return info + def _download_init_page(self, video_id): + return self._download_webpage( + 'https://www.vlive.tv/video/init/view', + video_id, note='Downloading live webpage', + data=urlencode_postdata({'videoSeq': video_id}), + headers={ + 'Referer': 'https://www.vlive.tv/video/%s' % video_id, + 'Content-Type': 'application/x-www-form-urlencoded' + }) + class VLiveChannelIE(InfoExtractor): IE_NAME = 'vlive:channel' @@ -239,7 +296,7 @@ class VLiveChannelIE(InfoExtractor): # Large values of maxNumOfRows (~300 or above) may cause # empty responses (see [1]), e.g. this happens for [2] that # has more than 300 videos. - # 1. https://github.com/rg3/youtube-dl/issues/13830 + # 1. https://github.com/ytdl-org/youtube-dl/issues/13830 # 2. http://channels.vlive.tv/EDBF. 'maxNumOfRows': 100, '_': int(time.time()), @@ -275,26 +332,45 @@ class VLiveChannelIE(InfoExtractor): class VLivePlaylistIE(InfoExtractor): IE_NAME = 'vlive:playlist' _VALID_URL = r'https?://(?:(?:www|m)\.)?vlive\.tv/video/(?P<video_id>[0-9]+)/playlist/(?P<id>[0-9]+)' - _TEST = { + _VIDEO_URL_TEMPLATE = 'http://www.vlive.tv/video/%s' + _TESTS = [{ + # regular working playlist + 'url': 'https://www.vlive.tv/video/117956/playlist/117963', + 'info_dict': { + 'id': '117963', + 'title': 'ìì´ë룸(IDOL ROOM) 41í - (áá §áá ¡)áá ¡áá µáá ³á¯' + }, + 'playlist_mincount': 10 + }, { + # playlist with no playlistVideoSeqs 'url': 'http://www.vlive.tv/video/22867/playlist/22912', 'info_dict': { - 'id': '22912', - 'title': 'Valentine Day Message from TWICE' + 'id': '22867', + 'ext': 'mp4', + 'title': '[V LIVE] Valentine Day Message from MINA', + 'creator': 'TWICE', + 'view_count': int }, - 'playlist_mincount': 9 - } + 'params': { + 'skip_download': True, + } + }] + + def _build_video_result(self, video_id, message): + self.to_screen(message) + return self.url_result( + self._VIDEO_URL_TEMPLATE % video_id, + ie=VLiveIE.ie_key(), video_id=video_id) def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) video_id, playlist_id = mobj.group('video_id', 'id') - VIDEO_URL_TEMPLATE = 'http://www.vlive.tv/video/%s' if self._downloader.params.get('noplaylist'): - self.to_screen( - 'Downloading just video %s because of --no-playlist' % video_id) - return self.url_result( - VIDEO_URL_TEMPLATE % video_id, - ie=VLiveIE.ie_key(), video_id=video_id) + return self._build_video_result( + video_id, + 'Downloading just video %s because of --no-playlist' + % video_id) self.to_screen( 'Downloading playlist %s - add --no-playlist to just download video' @@ -304,15 +380,21 @@ class VLivePlaylistIE(InfoExtractor): 'http://www.vlive.tv/video/%s/playlist/%s' % (video_id, playlist_id), playlist_id) - item_ids = self._parse_json( - self._search_regex( - r'playlistVideoSeqs\s*=\s*(\[[^]]+\])', webpage, - 'playlist video seqs'), - playlist_id) + raw_item_ids = self._search_regex( + r'playlistVideoSeqs\s*=\s*(\[[^]]+\])', webpage, + 'playlist video seqs', default=None, fatal=False) + + if not raw_item_ids: + return self._build_video_result( + video_id, + 'Downloading just video %s because no playlist was found' + % video_id) + + item_ids = self._parse_json(raw_item_ids, playlist_id) entries = [ self.url_result( - VIDEO_URL_TEMPLATE % item_id, ie=VLiveIE.ie_key(), + self._VIDEO_URL_TEMPLATE % item_id, ie=VLiveIE.ie_key(), video_id=compat_str(item_id)) for item_id in item_ids] diff --git a/youtube_dl/extractor/vporn.py b/youtube_dl/extractor/vporn.py deleted file mode 100644 index 858ac9e..0000000 --- a/youtube_dl/extractor/vporn.py +++ /dev/null @@ -1,123 +0,0 @@ -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..utils import ( - ExtractorError, - parse_duration, - str_to_int, - urljoin, -) - - -class VpornIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?vporn\.com/[^/]+/(?P<display_id>[^/]+)/(?P<id>\d+)' - _TESTS = [ - { - 'url': 'http://www.vporn.com/masturbation/violet-on-her-th-birthday/497944/', - 'md5': 'facf37c1b86546fa0208058546842c55', - 'info_dict': { - 'id': '497944', - 'display_id': 'violet-on-her-th-birthday', - 'ext': 'mp4', - 'title': 'Violet on her 19th birthday', - 'description': 'Violet dances in front of the camera which is sure to get you horny.', - 'thumbnail': r're:^https?://.*\.jpg$', - 'uploader': 'kileyGrope', - 'categories': ['Masturbation', 'Teen'], - 'duration': 393, - 'age_limit': 18, - 'view_count': int, - }, - 'skip': 'video removed', - }, - { - 'url': 'http://www.vporn.com/female/hana-shower/523564/', - 'md5': 'ced35a4656198a1664cf2cda1575a25f', - 'info_dict': { - 'id': '523564', - 'display_id': 'hana-shower', - 'ext': 'mp4', - 'title': 'Hana Shower', - 'description': 'Hana showers at the bathroom.', - 'thumbnail': r're:^https?://.*\.jpg$', - 'uploader': 'Hmmmmm', - 'categories': ['Big Boobs', 'Erotic', 'Teen', 'Female', '720p'], - 'duration': 588, - 'age_limit': 18, - 'view_count': int, - } - }, - ] - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - display_id = mobj.group('display_id') - - webpage = self._download_webpage(url, display_id) - - errmsg = 'This video has been deleted due to Copyright Infringement or by the account owner!' - if errmsg in webpage: - raise ExtractorError('%s said: %s' % (self.IE_NAME, errmsg), expected=True) - - title = self._html_search_regex( - r'videoname\s*=\s*\'([^\']+)\'', webpage, 'title').strip() - description = self._html_search_regex( - r'class="(?:descr|description_txt)">(.*?)</div>', - webpage, 'description', fatal=False) - thumbnail = urljoin('http://www.vporn.com', self._html_search_regex( - r'flashvars\.imageUrl\s*=\s*"([^"]+)"', webpage, 'description', - default=None)) - - uploader = self._html_search_regex( - r'(?s)Uploaded by:.*?<a href="/user/[^"]+"[^>]*>(.+?)</a>', - webpage, 'uploader', fatal=False) - - categories = re.findall(r'<a href="/cat/[^"]+"[^>]*>([^<]+)</a>', webpage) - - duration = parse_duration(self._search_regex( - r'Runtime:\s*</span>\s*(\d+ min \d+ sec)', - webpage, 'duration', fatal=False)) - - view_count = str_to_int(self._search_regex( - r'class="views">([\d,\.]+) [Vv]iews<', - webpage, 'view count', fatal=False)) - comment_count = str_to_int(self._html_search_regex( - r"'Comments \(([\d,\.]+)\)'", - webpage, 'comment count', default=None)) - - formats = [] - - for video in re.findall(r'flashvars\.videoUrl([^=]+?)\s*=\s*"(https?://[^"]+)"', webpage): - video_url = video[1] - fmt = { - 'url': video_url, - 'format_id': video[0], - } - m = re.search(r'_(?P<width>\d+)x(?P<height>\d+)_(?P<vbr>\d+)k\.mp4$', video_url) - if m: - fmt.update({ - 'width': int(m.group('width')), - 'height': int(m.group('height')), - 'vbr': int(m.group('vbr')), - }) - formats.append(fmt) - - self._sort_formats(formats) - - return { - 'id': video_id, - 'display_id': display_id, - 'title': title, - 'description': description, - 'thumbnail': thumbnail, - 'uploader': uploader, - 'categories': categories, - 'duration': duration, - 'view_count': view_count, - 'comment_count': comment_count, - 'age_limit': 18, - 'formats': formats, - } diff --git a/youtube_dl/extractor/vrt.py b/youtube_dl/extractor/vrt.py index 444295d..4220252 100644 --- a/youtube_dl/extractor/vrt.py +++ b/youtube_dl/extractor/vrt.py @@ -5,150 +5,83 @@ import re from .common import InfoExtractor from ..utils import ( + extract_attributes, float_or_none, + get_element_by_class, + strip_or_none, + unified_timestamp, ) class VRTIE(InfoExtractor): - IE_DESC = 'deredactie.be, sporza.be, cobra.be and cobra.canvas.be' - _VALID_URL = r'https?://(?:deredactie|sporza|cobra(?:\.canvas)?)\.be/cm/(?:[^/]+/)+(?P<id>[^/]+)/*' - _TESTS = [ - # deredactie.be - { - 'url': 'http://deredactie.be/cm/vrtnieuws/videozone/programmas/journaal/EP_141025_JOL', - 'md5': '4cebde1eb60a53782d4f3992cbd46ec8', - 'info_dict': { - 'id': '2129880', - 'ext': 'flv', - 'title': 'Het journaal L - 25/10/14', - 'description': None, - 'timestamp': 1414271750.949, - 'upload_date': '20141025', - 'duration': 929, - }, - 'skip': 'HTTP Error 404: Not Found', + IE_DESC = 'VRT NWS, Flanders News, Flandern Info and Sporza' + _VALID_URL = r'https?://(?:www\.)?(?P<site>vrt\.be/vrtnws|sporza\.be)/[a-z]{2}/\d{4}/\d{2}/\d{2}/(?P<id>[^/?&#]+)' + _TESTS = [{ + 'url': 'https://www.vrt.be/vrtnws/nl/2019/05/15/beelden-van-binnenkant-notre-dame-een-maand-na-de-brand/', + 'md5': 'e1663accf5cf13f375f3cd0d10476669', + 'info_dict': { + 'id': 'pbs-pub-7855fc7b-1448-49bc-b073-316cb60caa71$vid-2ca50305-c38a-4762-9890-65cbd098b7bd', + 'ext': 'mp4', + 'title': 'Beelden van binnenkant Notre-Dame, één maand na de brand', + 'description': 'Op maandagavond 15 april ging een deel van het dakgebinte van de Parijse kathedraal in vlammen op.', + 'timestamp': 1557924660, + 'upload_date': '20190515', + 'duration': 31.2, }, - # sporza.be - { - 'url': 'http://sporza.be/cm/sporza/videozone/programmas/extratime/EP_141020_Extra_time', - 'md5': '11f53088da9bf8e7cfc42456697953ff', - 'info_dict': { - 'id': '2124639', - 'ext': 'flv', - 'title': 'Bekijk Extra Time van 20 oktober', - 'description': 'md5:83ac5415a4f1816c6a93f8138aef2426', - 'timestamp': 1413835980.560, - 'upload_date': '20141020', - 'duration': 3238, - }, - 'skip': 'HTTP Error 404: Not Found', + }, { + 'url': 'https://sporza.be/nl/2019/05/15/de-belgian-cats-zijn-klaar-voor-het-ek/', + 'md5': '910bba927566e9ab992278f647eb4b75', + 'info_dict': { + 'id': 'pbs-pub-f2c86a46-8138-413a-a4b9-a0015a16ce2c$vid-1f112b31-e58e-4379-908d-aca6d80f8818', + 'ext': 'mp4', + 'title': 'De Belgian Cats zijn klaar voor het EK mét Ann Wauters', + 'timestamp': 1557923760, + 'upload_date': '20190515', + 'duration': 115.17, }, - # cobra.be - { - 'url': 'http://cobra.be/cm/cobra/videozone/rubriek/film-videozone/141022-mv-ellis-cafecorsari', - 'md5': '78a2b060a5083c4f055449a72477409d', - 'info_dict': { - 'id': '2126050', - 'ext': 'flv', - 'title': 'Bret Easton Ellis in Café Corsari', - 'description': 'md5:f699986e823f32fd6036c1855a724ee9', - 'timestamp': 1413967500.494, - 'upload_date': '20141022', - 'duration': 661, - }, - 'skip': 'HTTP Error 404: Not Found', - }, - { - # YouTube video - 'url': 'http://deredactie.be/cm/vrtnieuws/videozone/nieuws/cultuurenmedia/1.2622957', - 'md5': 'b8b93da1df1cea6c8556255a796b7d61', - 'info_dict': { - 'id': 'Wji-BZ0oCwg', - 'ext': 'mp4', - 'title': 'ROGUE ONE: A STAR WARS STORY Official Teaser Trailer', - 'description': 'md5:8e468944dce15567a786a67f74262583', - 'uploader': 'Star Wars', - 'uploader_id': 'starwars', - 'upload_date': '20160407', - }, - 'add_ie': ['Youtube'], - }, - { - 'url': 'http://cobra.canvas.be/cm/cobra/videozone/rubriek/film-videozone/1.2377055', - 'info_dict': { - 'id': '2377055', - 'ext': 'mp4', - 'title': 'Cafe Derby', - 'description': 'Lenny Van Wesemael debuteert met de langspeelfilm Café Derby. Een waar gebeurd maar ook verzonnen verhaal.', - 'upload_date': '20150626', - 'timestamp': 1435305240.769, - }, - 'params': { - # m3u8 download - 'skip_download': True, - } - } - ] + }, { + 'url': 'https://www.vrt.be/vrtnws/en/2019/05/15/belgium_s-eurovision-entry-falls-at-the-first-hurdle/', + 'only_matching': True, + }, { + 'url': 'https://www.vrt.be/vrtnws/de/2019/05/15/aus-fuer-eliott-im-halbfinale-des-eurosongfestivals/', + 'only_matching': True, + }] + _CLIENT_MAP = { + 'vrt.be/vrtnws': 'vrtnieuws', + 'sporza.be': 'sporza', + } def _real_extract(self, url): - video_id = self._match_id(url) - - webpage = self._download_webpage(url, video_id) - - video_id = self._search_regex( - r'data-video-id="([^"]+)_[^"]+"', webpage, 'video id', fatal=False) - - src = self._search_regex( - r'data-video-src="([^"]+)"', webpage, 'video src', default=None) - - video_type = self._search_regex( - r'data-video-type="([^"]+)"', webpage, 'video type', default=None) - - if video_type == 'YouTubeVideo': - return self.url_result(src, 'Youtube') - - formats = [] - - mobj = re.search( - r'data-video-iphone-server="(?P<server>[^"]+)"\s+data-video-iphone-path="(?P<path>[^"]+)"', - webpage) - if mobj: - formats.extend(self._extract_m3u8_formats( - '%s/%s' % (mobj.group('server'), mobj.group('path')), - video_id, 'mp4', m3u8_id='hls', fatal=False)) - - if src: - formats = self._extract_wowza_formats(src, video_id) - if 'data-video-geoblocking="true"' not in webpage: - for f in formats: - if f['url'].startswith('rtsp://'): - http_format = f.copy() - http_format.update({ - 'url': f['url'].replace('rtsp://', 'http://').replace('vod.', 'download.').replace('/_definst_/', '/').replace('mp4:', ''), - 'format_id': f['format_id'].replace('rtsp', 'http'), - 'protocol': 'http', - }) - formats.append(http_format) - - if not formats and 'data-video-geoblocking="true"' in webpage: - self.raise_geo_restricted('This video is only available in Belgium') - - self._sort_formats(formats) - - title = self._og_search_title(webpage) - description = self._og_search_description(webpage, default=None) - thumbnail = self._og_search_thumbnail(webpage) - timestamp = float_or_none(self._search_regex( - r'data-video-sitestat-pubdate="(\d+)"', webpage, 'timestamp', fatal=False), 1000) - duration = float_or_none(self._search_regex( - r'data-video-duration="(\d+)"', webpage, 'duration', fatal=False), 1000) + site, display_id = re.match(self._VALID_URL, url).groups() + webpage = self._download_webpage(url, display_id) + attrs = extract_attributes(self._search_regex( + r'(<[^>]+class="vrtvideo"[^>]*>)', webpage, 'vrt video')) + + asset_id = attrs['data-videoid'] + publication_id = attrs.get('data-publicationid') + if publication_id: + asset_id = publication_id + '$' + asset_id + client = attrs.get('data-client') or self._CLIENT_MAP[site] + + title = strip_or_none(get_element_by_class( + 'vrt-title', webpage) or self._html_search_meta( + ['og:title', 'twitter:title', 'name'], webpage)) + description = self._html_search_meta( + ['og:description', 'twitter:description', 'description'], webpage) + if description == 'â¦': + description = None + timestamp = unified_timestamp(self._html_search_meta( + 'article:published_time', webpage)) return { - 'id': video_id, + '_type': 'url_transparent', + 'id': asset_id, + 'display_id': display_id, 'title': title, 'description': description, - 'thumbnail': thumbnail, + 'thumbnail': attrs.get('data-posterimage'), 'timestamp': timestamp, - 'duration': duration, - 'formats': formats, + 'duration': float_or_none(attrs.get('data-duration'), 1000), + 'url': 'https://mediazone.vrt.be/api/v1/%s/assets/%s' % (client, asset_id), + 'ie_key': 'Canvas', } diff --git a/youtube_dl/extractor/vrv.py b/youtube_dl/extractor/vrv.py index 483a3be..c814a8a 100644 --- a/youtube_dl/extractor/vrv.py +++ b/youtube_dl/extractor/vrv.py @@ -11,10 +11,12 @@ import time from .common import InfoExtractor from ..compat import ( + compat_HTTPError, compat_urllib_parse_urlencode, compat_urllib_parse, ) from ..utils import ( + ExtractorError, float_or_none, int_or_none, ) @@ -24,29 +26,41 @@ class VRVBaseIE(InfoExtractor): _API_DOMAIN = None _API_PARAMS = {} _CMS_SIGNING = {} + _TOKEN = None + _TOKEN_SECRET = '' def _call_api(self, path, video_id, note, data=None): + # https://tools.ietf.org/html/rfc5849#section-3 base_url = self._API_DOMAIN + '/core/' + path - encoded_query = compat_urllib_parse_urlencode({ - 'oauth_consumer_key': self._API_PARAMS['oAuthKey'], - 'oauth_nonce': ''.join([random.choice(string.ascii_letters) for _ in range(32)]), - 'oauth_signature_method': 'HMAC-SHA1', - 'oauth_timestamp': int(time.time()), - 'oauth_version': '1.0', - }) + query = [ + ('oauth_consumer_key', self._API_PARAMS['oAuthKey']), + ('oauth_nonce', ''.join([random.choice(string.ascii_letters) for _ in range(32)])), + ('oauth_signature_method', 'HMAC-SHA1'), + ('oauth_timestamp', int(time.time())), + ] + if self._TOKEN: + query.append(('oauth_token', self._TOKEN)) + encoded_query = compat_urllib_parse_urlencode(query) headers = self.geo_verification_headers() if data: data = json.dumps(data).encode() headers['Content-Type'] = 'application/json' - method = 'POST' if data else 'GET' - base_string = '&'.join([method, compat_urllib_parse.quote(base_url, ''), compat_urllib_parse.quote(encoded_query, '')]) + base_string = '&'.join([ + 'POST' if data else 'GET', + compat_urllib_parse.quote(base_url, ''), + compat_urllib_parse.quote(encoded_query, '')]) oauth_signature = base64.b64encode(hmac.new( - (self._API_PARAMS['oAuthSecret'] + '&').encode('ascii'), + (self._API_PARAMS['oAuthSecret'] + '&' + self._TOKEN_SECRET).encode('ascii'), base_string.encode(), hashlib.sha1).digest()).decode() encoded_query += '&oauth_signature=' + compat_urllib_parse.quote(oauth_signature, '') - return self._download_json( - '?'.join([base_url, encoded_query]), video_id, - note='Downloading %s JSON metadata' % note, headers=headers, data=data) + try: + return self._download_json( + '?'.join([base_url, encoded_query]), video_id, + note='Downloading %s JSON metadata' % note, headers=headers, data=data) + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code == 401: + raise ExtractorError(json.loads(e.cause.read().decode())['message'], expected=True) + raise def _call_cms(self, path, video_id, note): if not self._CMS_SIGNING: @@ -55,19 +69,22 @@ class VRVBaseIE(InfoExtractor): self._API_DOMAIN + path, video_id, query=self._CMS_SIGNING, note='Downloading %s JSON metadata' % note, headers=self.geo_verification_headers()) - def _set_api_params(self, webpage, video_id): - if not self._API_PARAMS: - self._API_PARAMS = self._parse_json(self._search_regex( - r'window\.__APP_CONFIG__\s*=\s*({.+?})</script>', - webpage, 'api config'), video_id)['cxApiParams'] - self._API_DOMAIN = self._API_PARAMS.get('apiDomain', 'https://api.vrv.co') - def _get_cms_resource(self, resource_key, video_id): return self._call_api( 'cms_resource', video_id, 'resource path', data={ 'resource_key': resource_key, })['__links__']['cms_resource']['href'] + def _real_initialize(self): + webpage = self._download_webpage( + 'https://vrv.co/', None, headers=self.geo_verification_headers()) + self._API_PARAMS = self._parse_json(self._search_regex( + [ + r'window\.__APP_CONFIG__\s*=\s*({.+?})(?:</script>|;)', + r'window\.__APP_CONFIG__\s*=\s*({.+})' + ], webpage, 'app config'), None)['cxApiParams'] + self._API_DOMAIN = self._API_PARAMS.get('apiDomain', 'https://api.vrv.co') + class VRVIE(VRVBaseIE): IE_NAME = 'vrv' @@ -85,28 +102,53 @@ class VRVIE(VRVBaseIE): # m3u8 download 'skip_download': True, }, + }, { + # movie listing + 'url': 'https://vrv.co/watch/G6NQXZ1J6/Lily-CAT', + 'info_dict': { + 'id': 'G6NQXZ1J6', + 'title': 'Lily C.A.T', + 'description': 'md5:988b031e7809a6aeb60968be4af7db07', + }, + 'playlist_count': 2, }] + _NETRC_MACHINE = 'vrv' + + def _real_initialize(self): + super(VRVIE, self)._real_initialize() + + email, password = self._get_login_info() + if email is None: + return + + token_credentials = self._call_api( + 'authenticate/by:credentials', None, 'Token Credentials', data={ + 'email': email, + 'password': password, + }) + self._TOKEN = token_credentials['oauth_token'] + self._TOKEN_SECRET = token_credentials['oauth_token_secret'] def _extract_vrv_formats(self, url, video_id, stream_format, audio_lang, hardsub_lang): - if not url or stream_format not in ('hls', 'dash'): + if not url or stream_format not in ('hls', 'dash', 'adaptive_hls'): return [] - assert audio_lang or hardsub_lang stream_id_list = [] if audio_lang: stream_id_list.append('audio-%s' % audio_lang) if hardsub_lang: stream_id_list.append('hardsub-%s' % hardsub_lang) - stream_id = '-'.join(stream_id_list) - format_id = '%s-%s' % (stream_format, stream_id) - if stream_format == 'hls': + format_id = stream_format + if stream_id_list: + format_id += '-' + '-'.join(stream_id_list) + if 'hls' in stream_format: adaptive_formats = self._extract_m3u8_formats( url, video_id, 'mp4', m3u8_id=format_id, - note='Downloading %s m3u8 information' % stream_id, + note='Downloading %s information' % format_id, fatal=False) elif stream_format == 'dash': adaptive_formats = self._extract_mpd_formats( url, video_id, mpd_id=format_id, - note='Downloading %s MPD information' % stream_id, + note='Downloading %s information' % format_id, fatal=False) if audio_lang: for f in adaptive_formats: @@ -116,28 +158,34 @@ class VRVIE(VRVBaseIE): def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage( - url, video_id, - headers=self.geo_verification_headers()) - media_resource = self._parse_json(self._search_regex( - [ - r'window\.__INITIAL_STATE__\s*=\s*({.+?})(?:</script>|;)', - r'window\.__INITIAL_STATE__\s*=\s*({.+})' - ], webpage, 'inital state'), video_id).get('watch', {}).get('mediaResource') or {} - - video_data = media_resource.get('json') - if not video_data: - self._set_api_params(webpage, video_id) - episode_path = self._get_cms_resource( - 'cms:/episodes/' + video_id, video_id) - video_data = self._call_cms(episode_path, video_id, 'video') + + object_data = self._call_cms(self._get_cms_resource( + 'cms:/objects/' + video_id, video_id), video_id, 'object')['items'][0] + resource_path = object_data['__links__']['resource']['href'] + video_data = self._call_cms(resource_path, video_id, 'video') title = video_data['title'] + description = video_data.get('description') - streams_json = media_resource.get('streams', {}).get('json', {}) - if not streams_json: - self._set_api_params(webpage, video_id) - streams_path = video_data['__links__']['streams']['href'] - streams_json = self._call_cms(streams_path, video_id, 'streams') + if video_data.get('__class__') == 'movie_listing': + items = self._call_cms( + video_data['__links__']['movie_listing/movies']['href'], + video_id, 'movie listing').get('items') or [] + if len(items) != 1: + entries = [] + for item in items: + item_id = item.get('id') + if not item_id: + continue + entries.append(self.url_result( + 'https://vrv.co/watch/' + item_id, + self.ie_key(), item_id, item.get('title'))) + return self.playlist_result(entries, video_id, title, description) + video_data = items[0] + + streams_path = video_data['__links__'].get('streams', {}).get('href') + if not streams_path: + self.raise_login_required() + streams_json = self._call_cms(streams_path, video_id, 'streams') audio_locale = streams_json.get('audio_locale') formats = [] @@ -150,14 +198,15 @@ class VRVIE(VRVBaseIE): self._sort_formats(formats) subtitles = {} - for subtitle in streams_json.get('subtitles', {}).values(): - subtitle_url = subtitle.get('url') - if not subtitle_url: - continue - subtitles.setdefault(subtitle.get('locale', 'en-US'), []).append({ - 'url': subtitle_url, - 'ext': subtitle.get('format', 'ass'), - }) + for k in ('captions', 'subtitles'): + for subtitle in streams_json.get(k, {}).values(): + subtitle_url = subtitle.get('url') + if not subtitle_url: + continue + subtitles.setdefault(subtitle.get('locale', 'en-US'), []).append({ + 'url': subtitle_url, + 'ext': subtitle.get('format', 'ass'), + }) thumbnails = [] for thumbnail in video_data.get('images', {}).get('thumbnails', []): @@ -176,7 +225,7 @@ class VRVIE(VRVBaseIE): 'formats': formats, 'subtitles': subtitles, 'thumbnails': thumbnails, - 'description': video_data.get('description'), + 'description': description, 'duration': float_or_none(video_data.get('duration_ms'), 1000), 'uploader_id': video_data.get('channel_id'), 'series': video_data.get('series_title'), @@ -202,11 +251,7 @@ class VRVSeriesIE(VRVBaseIE): def _real_extract(self, url): series_id = self._match_id(url) - webpage = self._download_webpage( - url, series_id, - headers=self.geo_verification_headers()) - self._set_api_params(webpage, series_id) seasons_path = self._get_cms_resource( 'cms:/seasons?series_id=' + series_id, series_id) seasons_data = self._call_cms(seasons_path, series_id, 'seasons') diff --git a/youtube_dl/extractor/vshare.py b/youtube_dl/extractor/vshare.py index e4ec778..c631ac1 100644 --- a/youtube_dl/extractor/vshare.py +++ b/youtube_dl/extractor/vshare.py @@ -48,7 +48,7 @@ class VShareIE(InfoExtractor): webpage = self._download_webpage( 'https://vshare.io/v/%s/width-650/height-430/1' % video_id, - video_id) + video_id, headers={'Referer': url}) title = self._html_search_regex( r'<title>([^<]+)</title>', webpage, 'title') diff --git a/youtube_dl/extractor/vvvvid.py b/youtube_dl/extractor/vvvvid.py index 3d0dc40..6906cd2 100644 --- a/youtube_dl/extractor/vvvvid.py +++ b/youtube_dl/extractor/vvvvid.py @@ -12,7 +12,7 @@ from ..utils import ( class VVVVIDIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?vvvvid\.it/#!(?:show|anime|film|series)/(?P<show_id>\d+)/[^/]+/(?P<season_id>\d+)/(?P<id>[0-9]+)' + _VALID_URL = r'https?://(?:www\.)?vvvvid\.it/(?:#!)?(?:show|anime|film|series)/(?P<show_id>\d+)/[^/]+/(?P<season_id>\d+)/(?P<id>[0-9]+)' _TESTS = [{ # video_type == 'video/vvvvid' 'url': 'https://www.vvvvid.it/#!show/434/perche-dovrei-guardarlo-di-dario-moccia/437/489048/ping-pong', diff --git a/youtube_dl/extractor/wakanim.py b/youtube_dl/extractor/wakanim.py new file mode 100644 index 0000000..f9a2395 --- /dev/null +++ b/youtube_dl/extractor/wakanim.py @@ -0,0 +1,66 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + ExtractorError, + merge_dicts, + urljoin, +) + + +class WakanimIE(InfoExtractor): + _VALID_URL = r'https://(?:www\.)?wakanim\.tv/[^/]+/v2/catalogue/episode/(?P<id>\d+)' + _TESTS = [{ + 'url': 'https://www.wakanim.tv/de/v2/catalogue/episode/2997/the-asterisk-war-omu-staffel-1-episode-02-omu', + 'info_dict': { + 'id': '2997', + 'ext': 'mp4', + 'title': 'Episode 02', + 'description': 'md5:2927701ea2f7e901de8bfa8d39b2852d', + 'series': 'The Asterisk War (OmU.)', + 'season_number': 1, + 'episode': 'Episode 02', + 'episode_number': 2, + }, + 'params': { + 'format': 'bestvideo', + 'skip_download': True, + }, + }, { + # DRM Protected + 'url': 'https://www.wakanim.tv/de/v2/catalogue/episode/7843/sword-art-online-alicization-omu-arc-2-folge-15-omu', + 'only_matching': True, + }] + + def _real_extract(self, url): + video_id = self._match_id(url) + + webpage = self._download_webpage(url, video_id) + + m3u8_url = urljoin(url, self._search_regex( + r'file\s*:\s*(["\'])(?P<url>(?:(?!\1).)+)\1', webpage, 'm3u8 url', + group='url')) + # https://docs.microsoft.com/en-us/azure/media-services/previous/media-services-content-protection-overview#streaming-urls + encryption = self._search_regex( + r'encryption%3D(c(?:enc|bc(?:s-aapl)?))', + m3u8_url, 'encryption', default=None) + if encryption and encryption in ('cenc', 'cbcs-aapl'): + raise ExtractorError('This video is DRM protected.', expected=True) + + formats = self._extract_m3u8_formats( + m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native', + m3u8_id='hls') + + info = self._search_json_ld(webpage, video_id, default={}) + + title = self._search_regex( + (r'<h1[^>]+\bclass=["\']episode_h1[^>]+\btitle=(["\'])(?P<title>(?:(?!\1).)+)\1', + r'<span[^>]+\bclass=["\']episode_title["\'][^>]*>(?P<title>[^<]+)'), + webpage, 'title', default=None, group='title') + + return merge_dicts(info, { + 'id': video_id, + 'title': title, + 'formats': formats, + }) diff --git a/youtube_dl/extractor/weibo.py b/youtube_dl/extractor/weibo.py index 3cb4d71..621df5b 100644 --- a/youtube_dl/extractor/weibo.py +++ b/youtube_dl/extractor/weibo.py @@ -19,7 +19,7 @@ from ..utils import ( class WeiboIE(InfoExtractor): - _VALID_URL = r'https?://weibo\.com/[0-9]+/(?P<id>[a-zA-Z0-9]+)' + _VALID_URL = r'https?://(?:www\.)?weibo\.com/[0-9]+/(?P<id>[a-zA-Z0-9]+)' _TEST = { 'url': 'https://weibo.com/6275294458/Fp6RGfbff?type=comment', 'info_dict': { diff --git a/youtube_dl/extractor/wrzuta.py b/youtube_dl/extractor/wrzuta.py deleted file mode 100644 index 0f53f1b..0000000 --- a/youtube_dl/extractor/wrzuta.py +++ /dev/null @@ -1,158 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -import re - -from .common import InfoExtractor -from ..utils import ( - ExtractorError, - int_or_none, - qualities, - remove_start, -) - - -class WrzutaIE(InfoExtractor): - IE_NAME = 'wrzuta.pl' - - _VALID_URL = r'https?://(?P<uploader>[0-9a-zA-Z]+)\.wrzuta\.pl/(?P<typ>film|audio)/(?P<id>[0-9a-zA-Z]+)' - - _TESTS = [{ - 'url': 'http://laboratoriumdextera.wrzuta.pl/film/aq4hIZWrkBu/nike_football_the_last_game', - 'md5': '9e67e05bed7c03b82488d87233a9efe7', - 'info_dict': { - 'id': 'aq4hIZWrkBu', - 'ext': 'mp4', - 'title': 'Nike Football: The Last Game', - 'duration': 307, - 'uploader_id': 'laboratoriumdextera', - 'description': 'md5:7fb5ef3c21c5893375fda51d9b15d9cd', - }, - 'skip': 'Redirected to wrzuta.pl', - }, { - 'url': 'http://vexling.wrzuta.pl/audio/01xBFabGXu6/james_horner_-_into_the_na_39_vi_world_bonus', - 'md5': 'f80564fb5a2ec6ec59705ae2bf2ba56d', - 'info_dict': { - 'id': '01xBFabGXu6', - 'ext': 'mp3', - 'title': 'James Horner - Into The Na\'vi World [Bonus]', - 'description': 'md5:30a70718b2cd9df3120fce4445b0263b', - 'duration': 95, - 'uploader_id': 'vexling', - }, - }] - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - video_id = mobj.group('id') - typ = mobj.group('typ') - uploader = mobj.group('uploader') - - webpage, urlh = self._download_webpage_handle(url, video_id) - - if urlh.geturl() == 'http://www.wrzuta.pl/': - raise ExtractorError('Video removed', expected=True) - - quality = qualities(['SD', 'MQ', 'HQ', 'HD']) - - audio_table = {'flv': 'mp3', 'webm': 'ogg', '???': 'mp3'} - - embedpage = self._download_json('http://www.wrzuta.pl/npp/embed/%s/%s' % (uploader, video_id), video_id) - - formats = [] - for media in embedpage['url']: - fmt = media['type'].split('@')[0] - if typ == 'audio': - ext = audio_table.get(fmt, fmt) - else: - ext = fmt - - formats.append({ - 'format_id': '%s_%s' % (ext, media['quality'].lower()), - 'url': media['url'], - 'ext': ext, - 'quality': quality(media['quality']), - }) - - self._sort_formats(formats) - - return { - 'id': video_id, - 'title': self._og_search_title(webpage), - 'thumbnail': self._og_search_thumbnail(webpage), - 'formats': formats, - 'duration': int_or_none(embedpage['duration']), - 'uploader_id': uploader, - 'description': self._og_search_description(webpage), - 'age_limit': embedpage.get('minimalAge', 0), - } - - -class WrzutaPlaylistIE(InfoExtractor): - """ - this class covers extraction of wrzuta playlist entries - the extraction process bases on following steps: - * collect information of playlist size - * download all entries provided on - the playlist webpage (the playlist is split - on two pages: first directly reached from webpage - second: downloaded on demand by ajax call and rendered - using the ajax call response) - * in case size of extracted entries not reached total number of entries - use the ajax call to collect the remaining entries - """ - - IE_NAME = 'wrzuta.pl:playlist' - _VALID_URL = r'https?://(?P<uploader>[0-9a-zA-Z]+)\.wrzuta\.pl/playlista/(?P<id>[0-9a-zA-Z]+)' - _TESTS = [{ - 'url': 'http://miromak71.wrzuta.pl/playlista/7XfO4vE84iR/moja_muza', - 'playlist_mincount': 14, - 'info_dict': { - 'id': '7XfO4vE84iR', - 'title': 'Moja muza', - }, - }, { - 'url': 'http://heroesf70.wrzuta.pl/playlista/6Nj3wQHx756/lipiec_-_lato_2015_muzyka_swiata', - 'playlist_mincount': 144, - 'info_dict': { - 'id': '6Nj3wQHx756', - 'title': 'Lipiec - Lato 2015 Muzyka Åwiata', - }, - }, { - 'url': 'http://miromak71.wrzuta.pl/playlista/7XfO4vE84iR', - 'only_matching': True, - }] - - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - playlist_id = mobj.group('id') - uploader = mobj.group('uploader') - - webpage = self._download_webpage(url, playlist_id) - - playlist_size = int_or_none(self._html_search_regex( - (r'<div[^>]+class=["\']playlist-counter["\'][^>]*>\d+/(\d+)', - r'<div[^>]+class=["\']all-counter["\'][^>]*>(.+?)</div>'), - webpage, 'playlist size', default=None)) - - playlist_title = remove_start( - self._og_search_title(webpage), 'Playlista: ') - - entries = [] - if playlist_size: - entries = [ - self.url_result(entry_url) - for _, entry_url in re.findall( - r'<a[^>]+href=(["\'])(http.+?)\1[^>]+class=["\']playlist-file-page', - webpage)] - if playlist_size > len(entries): - playlist_content = self._download_json( - 'http://%s.wrzuta.pl/xhr/get_playlist_offset/%s' % (uploader, playlist_id), - playlist_id, - 'Downloading playlist JSON', - 'Unable to download playlist JSON') - entries.extend([ - self.url_result(entry['filelink']) - for entry in playlist_content.get('files', []) if entry.get('filelink')]) - - return self.playlist_result(entries, playlist_id, playlist_title) diff --git a/youtube_dl/extractor/xhamster.py b/youtube_dl/extractor/xhamster.py index 68a4803..d268372 100644 --- a/youtube_dl/extractor/xhamster.py +++ b/youtube_dl/extractor/xhamster.py @@ -20,7 +20,7 @@ from ..utils import ( class XHamsterIE(InfoExtractor): _VALID_URL = r'''(?x) https?:// - (?:.+?\.)?xhamster\.com/ + (?:.+?\.)?xhamster\.(?:com|one)/ (?: movies/(?P<id>\d+)/(?P<display_id>[^/]*)\.html| videos/(?P<display_id_2>[^/]*)-(?P<id_2>\d+) @@ -91,6 +91,9 @@ class XHamsterIE(InfoExtractor): # new URL schema 'url': 'https://pt.xhamster.com/videos/euro-pedal-pumping-7937821', 'only_matching': True, + }, { + 'url': 'https://xhamster.one/videos/femaleagent-shy-beauty-takes-the-bait-1509445', + 'only_matching': True, }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/xvideos.py b/youtube_dl/extractor/xvideos.py index ec2d913..166bcf4 100644 --- a/youtube_dl/extractor/xvideos.py +++ b/youtube_dl/extractor/xvideos.py @@ -57,10 +57,17 @@ class XVideosIE(InfoExtractor): webpage, 'title', default=None, group='title') or self._og_search_title(webpage) - thumbnail = self._search_regex( - (r'setThumbUrl\(\s*(["\'])(?P<thumbnail>(?:(?!\1).)+)\1', - r'url_bigthumb=(?P<thumbnail>.+?)&'), - webpage, 'thumbnail', fatal=False, group='thumbnail') + thumbnails = [] + for preference, thumbnail in enumerate(('', '169')): + thumbnail_url = self._search_regex( + r'setThumbUrl%s\(\s*(["\'])(?P<thumbnail>(?:(?!\1).)+)\1' % thumbnail, + webpage, 'thumbnail', default=None, group='thumbnail') + if thumbnail_url: + thumbnails.append({ + 'url': thumbnail_url, + 'preference': preference, + }) + duration = int_or_none(self._og_search_property( 'duration', webpage, default=None)) or parse_duration( self._search_regex( @@ -98,6 +105,6 @@ class XVideosIE(InfoExtractor): 'formats': formats, 'title': title, 'duration': duration, - 'thumbnail': thumbnail, + 'thumbnails': thumbnails, 'age_limit': 18, } diff --git a/youtube_dl/extractor/yahoo.py b/youtube_dl/extractor/yahoo.py index 552013a..a3b5f00 100644 --- a/youtube_dl/extractor/yahoo.py +++ b/youtube_dl/extractor/yahoo.py @@ -477,3 +477,82 @@ class YahooSearchIE(SearchInfoExtractor): 'id': query, 'entries': entries, } + + +class YahooGyaOPlayerIE(InfoExtractor): + IE_NAME = 'yahoo:gyao:player' + _VALID_URL = r'https?://(?:gyao\.yahoo\.co\.jp/(?:player|episode/[^/]+)|streaming\.yahoo\.co\.jp/c/y)/(?P<id>\d+/v\d+/v\d+|[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})' + _TESTS = [{ + 'url': 'https://gyao.yahoo.co.jp/player/00998/v00818/v0000000000000008564/', + 'info_dict': { + 'id': '5993125228001', + 'ext': 'mp4', + 'title': 'ãã¥ã¼ãªã¼ããåå¹çã', + 'description': 'md5:21e691c798a15330eda4db17a8fe45a5', + 'uploader_id': '4235717419001', + 'upload_date': '20190124', + 'timestamp': 1548294365, + }, + 'params': { + # m3u8 download + 'skip_download': True, + }, + }, { + 'url': 'https://streaming.yahoo.co.jp/c/y/01034/v00133/v0000000000000000706/', + 'only_matching': True, + }, { + 'url': 'https://gyao.yahoo.co.jp/episode/%E3%81%8D%E3%81%AE%E3%81%86%E4%BD%95%E9%A3%9F%E3%81%B9%E3%81%9F%EF%BC%9F%20%E7%AC%AC2%E8%A9%B1%202019%2F4%2F12%E6%94%BE%E9%80%81%E5%88%86/5cb02352-b725-409e-9f8d-88f947a9f682', + 'only_matching': True, + }] + + def _real_extract(self, url): + video_id = self._match_id(url).replace('/', ':') + video = self._download_json( + 'https://gyao.yahoo.co.jp/dam/v1/videos/' + video_id, + video_id, query={ + 'fields': 'longDescription,title,videoId', + }, headers={ + 'X-User-Agent': 'Unknown Pc GYAO!/2.0.0 Web', + }) + return { + '_type': 'url_transparent', + 'id': video_id, + 'title': video['title'], + 'url': smuggle_url( + 'http://players.brightcove.net/4235717419001/default_default/index.html?videoId=' + video['videoId'], + {'geo_countries': ['JP']}), + 'description': video.get('longDescription'), + 'ie_key': BrightcoveNewIE.ie_key(), + } + + +class YahooGyaOIE(InfoExtractor): + IE_NAME = 'yahoo:gyao' + _VALID_URL = r'https?://(?:gyao\.yahoo\.co\.jp/(?:p|title/[^/]+)|streaming\.yahoo\.co\.jp/p/y)/(?P<id>\d+/v\d+|[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12})' + _TESTS = [{ + 'url': 'https://gyao.yahoo.co.jp/p/00449/v03102/', + 'info_dict': { + 'id': '00449:v03102', + }, + 'playlist_count': 2, + }, { + 'url': 'https://streaming.yahoo.co.jp/p/y/01034/v00133/', + 'only_matching': True, + }, { + 'url': 'https://gyao.yahoo.co.jp/title/%E3%81%97%E3%82%83%E3%81%B9%E3%81%8F%E3%82%8A007/5b025a49-b2e5-4dc7-945c-09c6634afacf', + 'only_matching': True, + }] + + def _real_extract(self, url): + program_id = self._match_id(url).replace('/', ':') + videos = self._download_json( + 'https://gyao.yahoo.co.jp/api/programs/%s/videos' % program_id, program_id)['videos'] + entries = [] + for video in videos: + video_id = video.get('id') + if not video_id: + continue + entries.append(self.url_result( + 'https://gyao.yahoo.co.jp/player/%s/' % video_id.replace(':', '/'), + YahooGyaOPlayerIE.ie_key(), video_id)) + return self.playlist_result(entries, program_id) diff --git a/youtube_dl/extractor/yandexmusic.py b/youtube_dl/extractor/yandexmusic.py index 0092038..1dfee59 100644 --- a/youtube_dl/extractor/yandexmusic.py +++ b/youtube_dl/extractor/yandexmusic.py @@ -69,25 +69,28 @@ class YandexMusicTrackIE(YandexMusicBaseIE): 'skip': 'Travis CI servers blocked by YandexMusic', } - def _get_track_url(self, storage_dir, track_id): - data = self._download_json( - 'http://music.yandex.ru/api/v1.5/handlers/api-jsonp.jsx?action=getTrackSrc&p=download-info/%s' - % storage_dir, - track_id, 'Downloading track location JSON') + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + album_id, track_id = mobj.group('album_id'), mobj.group('id') - # Each string is now wrapped in a list, this is probably only temporarily thus - # supporting both scenarios (see https://github.com/rg3/youtube-dl/issues/10193) - for k, v in data.items(): - if v and isinstance(v, list): - data[k] = v[0] + track = self._download_json( + 'http://music.yandex.ru/handlers/track.jsx?track=%s:%s' % (track_id, album_id), + track_id, 'Downloading track JSON')['track'] + track_title = track['title'] - key = hashlib.md5(('XGRlBW9FXlekgbPrRHuSiA' + data['path'][1:] + data['s']).encode('utf-8')).hexdigest() - storage = storage_dir.split('.') + download_data = self._download_json( + 'https://music.yandex.ru/api/v2.1/handlers/track/%s:%s/web-album_track-track-track-main/download/m' % (track_id, album_id), + track_id, 'Downloading track location url JSON', + headers={'X-Retpath-Y': url}) - return ('http://%s/get-mp3/%s/%s?track-id=%s&from=service-10-track&similarities-experiment=default' - % (data['host'], key, data['ts'] + data['path'], storage[1])) + fd_data = self._download_json( + download_data['src'], track_id, + 'Downloading track location JSON', + query={'format': 'json'}) + key = hashlib.md5(('XGRlBW9FXlekgbPrRHuSiA' + fd_data['path'][1:] + fd_data['s']).encode('utf-8')).hexdigest() + storage = track['storageDir'].split('.') + f_url = 'http://%s/get-mp3/%s/%s?track-id=%s ' % (fd_data['host'], key, fd_data['ts'] + fd_data['path'], storage[1]) - def _get_track_info(self, track): thumbnail = None cover_uri = track.get('albums', [{}])[0].get('coverUri') if cover_uri: @@ -95,15 +98,16 @@ class YandexMusicTrackIE(YandexMusicBaseIE): if not thumbnail.startswith('http'): thumbnail = 'http://' + thumbnail - track_title = track['title'] track_info = { - 'id': track['id'], + 'id': track_id, 'ext': 'mp3', - 'url': self._get_track_url(track['storageDir'], track['id']), + 'url': f_url, 'filesize': int_or_none(track.get('fileSize')), 'duration': float_or_none(track.get('durationMs'), 1000), 'thumbnail': thumbnail, 'track': track_title, + 'acodec': download_data.get('codec'), + 'abr': int_or_none(download_data.get('bitrate')), } def extract_artist(artist_list): @@ -131,17 +135,8 @@ class YandexMusicTrackIE(YandexMusicBaseIE): }) else: track_info['title'] = track_title - return track_info - def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - album_id, track_id = mobj.group('album_id'), mobj.group('id') - - track = self._download_json( - 'http://music.yandex.ru/handlers/track.jsx?track=%s:%s' % (track_id, album_id), - track_id, 'Downloading track JSON')['track'] - - return self._get_track_info(track) + return track_info class YandexMusicPlaylistBaseIE(YandexMusicBaseIE): @@ -200,7 +195,7 @@ class YandexMusicPlaylistIE(YandexMusicPlaylistBaseIE): 'skip': 'Travis CI servers blocked by YandexMusic', }, { # playlist exceeding the limit of 150 tracks shipped with webpage (see - # https://github.com/rg3/youtube-dl/issues/6666) + # https://github.com/ytdl-org/youtube-dl/issues/6666) 'url': 'https://music.yandex.ru/users/ya.playlist/playlists/1036', 'info_dict': { 'id': '1036', diff --git a/youtube_dl/extractor/yandexvideo.py b/youtube_dl/extractor/yandexvideo.py new file mode 100644 index 0000000..1aea953 --- /dev/null +++ b/youtube_dl/extractor/yandexvideo.py @@ -0,0 +1,90 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor +from ..utils import ( + int_or_none, + url_or_none, +) + + +class YandexVideoIE(InfoExtractor): + _VALID_URL = r'''(?x) + https?:// + (?: + yandex\.ru(?:/portal/(?:video|efir))?/?\?.*?stream_id=| + frontend\.vh\.yandex\.ru/player/ + ) + (?P<id>[\da-f]+) + ''' + _TESTS = [{ + 'url': 'https://yandex.ru/portal/video?stream_id=4dbb262b4fe5cf15a215de4f34eee34d', + 'md5': '33955d7ae052f15853dc41f35f17581c', + 'info_dict': { + 'id': '4dbb262b4fe5cf15a215de4f34eee34d', + 'ext': 'mp4', + 'title': 'Ð ÐÑÑ-ÐоÑке баÑжи и ÑÐµÐ¿Ð»Ð¾Ñ Ð¾Ð´ оÑоÑвалиÑÑ Ð¾Ñ Ð¿ÑиÑала и ÑаÑплÑлиÑÑ Ð¿Ð¾ ÐÑдзонÑ', + 'description': '', + 'thumbnail': r're:^https?://.*\.jpg$', + 'timestamp': 0, + 'duration': 30, + 'age_limit': 18, + }, + }, { + 'url': 'https://yandex.ru/portal/efir?stream_id=4dbb36ec4e0526d58f9f2dc8f0ecf374&from=morda', + 'only_matching': True, + }, { + 'url': 'https://yandex.ru/?stream_id=4dbb262b4fe5cf15a215de4f34eee34d', + 'only_matching': True, + }, { + 'url': 'https://frontend.vh.yandex.ru/player/4dbb262b4fe5cf15a215de4f34eee34d?from=morda', + 'only_matching': True, + }, { + # vod-episode, series episode + 'url': 'https://yandex.ru/portal/video?stream_id=45b11db6e4b68797919c93751a938cee', + 'only_matching': True, + }, { + # episode, sports + 'url': 'https://yandex.ru/?stream_channel=1538487871&stream_id=4132a07f71fb0396be93d74b3477131d', + 'only_matching': True, + }] + + def _real_extract(self, url): + video_id = self._match_id(url) + + content = self._download_json( + 'https://frontend.vh.yandex.ru/v22/player/%s.json' % video_id, + video_id, query={ + 'stream_options': 'hires', + 'disable_trackings': 1, + })['content'] + + m3u8_url = url_or_none(content.get('content_url')) or url_or_none( + content['streams'][0]['url']) + title = content.get('title') or content.get('computed_title') + + formats = self._extract_m3u8_formats( + m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native', + m3u8_id='hls') + self._sort_formats(formats) + + description = content.get('description') + thumbnail = content.get('thumbnail') + timestamp = (int_or_none(content.get('release_date')) + or int_or_none(content.get('release_date_ut')) + or int_or_none(content.get('start_time'))) + duration = int_or_none(content.get('duration')) + series = content.get('program_title') + age_limit = int_or_none(content.get('restriction_age')) + + return { + 'id': video_id, + 'title': title, + 'description': description, + 'thumbnail': thumbnail, + 'timestamp': timestamp, + 'duration': duration, + 'series': series, + 'age_limit': age_limit, + 'formats': formats, + } diff --git a/youtube_dl/extractor/youku.py b/youtube_dl/extractor/youku.py index 2f5a7b0..61d1ab2 100644 --- a/youtube_dl/extractor/youku.py +++ b/youtube_dl/extractor/youku.py @@ -258,8 +258,8 @@ class YoukuShowIE(InfoExtractor): transform_source=lambda s: js_to_json(strip_jsonp(s))).get('html') if playlist_data is None: return [None, None] - drama_list = (get_element_by_class('p-drama-grid', playlist_data) or - get_element_by_class('p-drama-half-row', playlist_data)) + drama_list = (get_element_by_class('p-drama-grid', playlist_data) + or get_element_by_class('p-drama-half-row', playlist_data)) if drama_list is None: raise ExtractorError('No episodes found') video_urls = re.findall(r'<a[^>]+href="([^"]+)"', drama_list) diff --git a/youtube_dl/extractor/yourporn.py b/youtube_dl/extractor/yourporn.py index c8dc29b..b1d1eb6 100644 --- a/youtube_dl/extractor/yourporn.py +++ b/youtube_dl/extractor/yourporn.py @@ -1,12 +1,15 @@ from __future__ import unicode_literals from .common import InfoExtractor -from ..utils import urljoin +from ..utils import ( + parse_duration, + urljoin, +) class YourPornIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?yourporn\.sexy/post/(?P<id>[^/?#&.]+)' - _TEST = { + _VALID_URL = r'https?://(?:www\.)?(?:yourporn\.sexy|sxyprn\.com)/post/(?P<id>[^/?#&.]+)' + _TESTS = [{ 'url': 'https://yourporn.sexy/post/57ffcb2e1179b.html', 'md5': '6f8682b6464033d87acaa7a8ff0c092e', 'info_dict': { @@ -14,9 +17,16 @@ class YourPornIE(InfoExtractor): 'ext': 'mp4', 'title': 'md5:c9f43630bd968267672651ba905a7d35', 'thumbnail': r're:^https?://.*\.jpg$', - 'age_limit': 18 + 'duration': 165, + 'age_limit': 18, }, - } + 'params': { + 'skip_download': True, + }, + }, { + 'url': 'https://sxyprn.com/post/57ffcb2e1179b.html', + 'only_matching': True, + }] def _real_extract(self, url): video_id = self._match_id(url) @@ -27,17 +37,21 @@ class YourPornIE(InfoExtractor): self._search_regex( r'data-vnfo=(["\'])(?P<data>{.+?})\1', webpage, 'data info', group='data'), - video_id)[video_id]).replace('/cdn/', '/cdn3/') + video_id)[video_id]).replace('/cdn/', '/cdn4/') title = (self._search_regex( r'<[^>]+\bclass=["\']PostEditTA[^>]+>([^<]+)', webpage, 'title', default=None) or self._og_search_description(webpage)).strip() thumbnail = self._og_search_thumbnail(webpage) + duration = parse_duration(self._search_regex( + r'duration\s*:\s*<[^>]+>([\d:]+)', webpage, 'duration', + default=None)) return { 'id': video_id, 'url': video_url, 'title': title, 'thumbnail': thumbnail, - 'age_limit': 18 + 'duration': duration, + 'age_limit': 18, } diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index c8bf98b..963c73a 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -16,6 +16,7 @@ from ..jsinterp import JSInterpreter from ..swfinterp import SWFInterpreter from ..compat import ( compat_chr, + compat_HTTPError, compat_kwargs, compat_parse_qs, compat_urllib_parse_unquote, @@ -27,6 +28,7 @@ from ..compat import ( ) from ..utils import ( clean_html, + dict_get, error_to_compat_str, ExtractorError, float_or_none, @@ -287,10 +289,25 @@ class YoutubeEntryListBaseInfoExtractor(YoutubeBaseInfoExtractor): if not mobj: break - more = self._download_json( - 'https://youtube.com/%s' % mobj.group('more'), playlist_id, - 'Downloading page #%s' % page_num, - transform_source=uppercase_escape) + count = 0 + retries = 3 + while count <= retries: + try: + # Downloading page may result in intermittent 5xx HTTP error + # that is usually worked around with a retry + more = self._download_json( + 'https://youtube.com/%s' % mobj.group('more'), playlist_id, + 'Downloading page #%s%s' + % (page_num, ' (retry #%d)' % count if count else ''), + transform_source=uppercase_escape) + break + except ExtractorError as e: + if isinstance(e.cause, compat_HTTPError) and e.cause.code in (500, 503): + count += 1 + if count <= retries: + continue + raise + content_html = more['content_html'] if not content_html.strip(): # Some webpages show a "Load more" button but they don't @@ -351,7 +368,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor): (?:www\.)?hooktube\.com/| (?:www\.)?yourepeat\.com/| tube\.majestyc\.net/| - (?:www\.)?invidio\.us/| + (?:(?:www|dev)\.)?invidio\.us/| + (?:www\.)?invidiou\.sh/| + (?:www\.)?invidious\.snopyta\.org/| + (?:www\.)?invidious\.kabi\.tk/| + (?:www\.)?vid\.wxzm\.sx/| youtube\.googleapis\.com/) # the various hostnames, with wildcard subdomains (?:.*?\#/)? # handle anchor (#/) redirect urls (?: # the various things that can precede the ID: @@ -427,7 +448,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): '135': {'ext': 'mp4', 'height': 480, 'format_note': 'DASH video', 'vcodec': 'h264'}, '136': {'ext': 'mp4', 'height': 720, 'format_note': 'DASH video', 'vcodec': 'h264'}, '137': {'ext': 'mp4', 'height': 1080, 'format_note': 'DASH video', 'vcodec': 'h264'}, - '138': {'ext': 'mp4', 'format_note': 'DASH video', 'vcodec': 'h264'}, # Height can vary (https://github.com/rg3/youtube-dl/issues/4559) + '138': {'ext': 'mp4', 'format_note': 'DASH video', 'vcodec': 'h264'}, # Height can vary (https://github.com/ytdl-org/youtube-dl/issues/4559) '160': {'ext': 'mp4', 'height': 144, 'format_note': 'DASH video', 'vcodec': 'h264'}, '212': {'ext': 'mp4', 'height': 480, 'format_note': 'DASH video', 'vcodec': 'h264'}, '264': {'ext': 'mp4', 'height': 1440, 'format_note': 'DASH video', 'vcodec': 'h264'}, @@ -480,7 +501,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): # RTMP (unnamed) '_rtmp': {'protocol': 'rtmp'}, } - _SUBTITLE_FORMATS = ('ttml', 'vtt') + _SUBTITLE_FORMATS = ('srv1', 'srv2', 'srv3', 'ttml', 'vtt') _GEO_BYPASS = False @@ -692,7 +713,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'age_limit': 18, }, }, - # video_info is None (https://github.com/rg3/youtube-dl/issues/4421) + # video_info is None (https://github.com/ytdl-org/youtube-dl/issues/4421) # YouTube Red ad is not captured for creator { 'url': '__2ABJjxzNo', @@ -713,7 +734,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'DASH manifest missing', ] }, - # Olympics (https://github.com/rg3/youtube-dl/issues/4431) + # Olympics (https://github.com/ytdl-org/youtube-dl/issues/4431) { 'url': 'lqQg6PlCWgI', 'info_dict': { @@ -764,7 +785,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): }, 'skip': 'This live event has ended.', }, - # Extraction from multiple DASH manifests (https://github.com/rg3/youtube-dl/pull/6097) + # Extraction from multiple DASH manifests (https://github.com/ytdl-org/youtube-dl/pull/6097) { 'url': 'https://www.youtube.com/watch?v=FIl7x6_3R5Y', 'info_dict': { @@ -867,7 +888,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'skip': 'This video is not available.', }, { - # Multifeed video with comma in title (see https://github.com/rg3/youtube-dl/issues/8536) + # Multifeed video with comma in title (see https://github.com/ytdl-org/youtube-dl/issues/8536) 'url': 'https://www.youtube.com/watch?v=gVfLd0zydlo', 'info_dict': { 'id': 'gVfLd0zydlo', @@ -885,10 +906,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'only_matching': True, }, { - # Title with JS-like syntax "};" (see https://github.com/rg3/youtube-dl/issues/7468) + # Title with JS-like syntax "};" (see https://github.com/ytdl-org/youtube-dl/issues/7468) # Also tests cut-off URL expansion in video description (see - # https://github.com/rg3/youtube-dl/issues/1892, - # https://github.com/rg3/youtube-dl/issues/8164) + # https://github.com/ytdl-org/youtube-dl/issues/1892, + # https://github.com/ytdl-org/youtube-dl/issues/8164) 'url': 'https://www.youtube.com/watch?v=lsguqyKfVQg', 'info_dict': { 'id': 'lsguqyKfVQg', @@ -904,13 +925,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'creator': 'Todd Haberman, Daniel Law Heath and Aaron Kaplan', 'track': 'Dark Walk - Position Music', 'artist': 'Todd Haberman, Daniel Law Heath and Aaron Kaplan', + 'album': 'Position Music - Production Music Vol. 143 - Dark Walk', }, 'params': { 'skip_download': True, }, }, { - # Tags with '};' (see https://github.com/rg3/youtube-dl/issues/7468) + # Tags with '};' (see https://github.com/ytdl-org/youtube-dl/issues/7468) 'url': 'https://www.youtube.com/watch?v=Ms7iBXnlUO8', 'only_matching': True, }, @@ -974,7 +996,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'only_matching': True, }, { - # YouTube Red paid video (https://github.com/rg3/youtube-dl/issues/10059) + # YouTube Red paid video (https://github.com/ytdl-org/youtube-dl/issues/10059) 'url': 'https://www.youtube.com/watch?v=i1Ko8UG-Tdo', 'only_matching': True, }, @@ -1082,7 +1104,95 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'skip_download': True, 'youtube_include_dash_manifest': False, }, - } + }, + { + # Youtube Music Auto-generated description + 'url': 'https://music.youtube.com/watch?v=MgNrAu2pzNs', + 'info_dict': { + 'id': 'MgNrAu2pzNs', + 'ext': 'mp4', + 'title': 'Voyeur Girl', + 'description': 'md5:7ae382a65843d6df2685993e90a8628f', + 'upload_date': '20190312', + 'uploader': 'Various Artists - Topic', + 'uploader_id': 'UCVWKBi1ELZn0QX2CBLSkiyw', + 'artist': 'Stephen', + 'track': 'Voyeur Girl', + 'album': 'it\'s too much love to know my dear', + 'release_date': '20190313', + 'release_year': 2019, + }, + 'params': { + 'skip_download': True, + }, + }, + { + # Youtube Music Auto-generated description + # Retrieve 'artist' field from 'Artist:' in video description + # when it is present on youtube music video + 'url': 'https://www.youtube.com/watch?v=k0jLE7tTwjY', + 'info_dict': { + 'id': 'k0jLE7tTwjY', + 'ext': 'mp4', + 'title': 'Latch Feat. Sam Smith', + 'description': 'md5:3cb1e8101a7c85fcba9b4fb41b951335', + 'upload_date': '20150110', + 'uploader': 'Various Artists - Topic', + 'uploader_id': 'UCNkEcmYdjrH4RqtNgh7BZ9w', + 'artist': 'Disclosure', + 'track': 'Latch Feat. Sam Smith', + 'album': 'Latch Featuring Sam Smith', + 'release_date': '20121008', + 'release_year': 2012, + }, + 'params': { + 'skip_download': True, + }, + }, + { + # Youtube Music Auto-generated description + # handle multiple artists on youtube music video + 'url': 'https://www.youtube.com/watch?v=74qn0eJSjpA', + 'info_dict': { + 'id': '74qn0eJSjpA', + 'ext': 'mp4', + 'title': 'Eastside', + 'description': 'md5:290516bb73dcbfab0dcc4efe6c3de5f2', + 'upload_date': '20180710', + 'uploader': 'Benny Blanco - Topic', + 'uploader_id': 'UCzqz_ksRu_WkIzmivMdIS7A', + 'artist': 'benny blanco, Halsey, Khalid', + 'track': 'Eastside', + 'album': 'Eastside', + 'release_date': '20180713', + 'release_year': 2018, + }, + 'params': { + 'skip_download': True, + }, + }, + { + # Youtube Music Auto-generated description + # handle youtube music video with release_year and no release_date + 'url': 'https://www.youtube.com/watch?v=-hcAI0g-f5M', + 'info_dict': { + 'id': '-hcAI0g-f5M', + 'ext': 'mp4', + 'title': 'Put It On Me', + 'description': 'md5:93c55acc682ae7b0c668f2e34e1c069e', + 'upload_date': '20180426', + 'uploader': 'Matt Maeson - Topic', + 'uploader_id': 'UCnEkIGqtGcQMLk73Kp-Q5LQ', + 'artist': 'Matt Maeson', + 'track': 'Put It On Me', + 'album': 'The Hearse', + 'release_date': None, + 'release_year': 2018, + }, + 'params': { + 'skip_download': True, + }, + }, ] def __init__(self, *args, **kwargs): @@ -1280,8 +1390,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): # regex won't capture the whole JSON. Yet working around by trying more # concrete regex first keeping in mind proper quoted string handling # to be implemented in future that will replace this workaround (see - # https://github.com/rg3/youtube-dl/issues/7468, - # https://github.com/rg3/youtube-dl/pull/7599) + # https://github.com/ytdl-org/youtube-dl/issues/7468, + # https://github.com/ytdl-org/youtube-dl/pull/7599) r';ytplayer\.config\s*=\s*({.+?});ytplayer', r';ytplayer\.config\s*=\s*({.+?});', ) @@ -1559,6 +1669,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): def extract_view_count(v_info): return int_or_none(try_get(v_info, lambda x: x['view_count'][0])) + def extract_token(v_info): + return dict_get(v_info, ('account_playback_token', 'accountPlaybackToken', 'token')) + player_response = {} # Get video info @@ -1596,7 +1709,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): add_dash_mpd(video_info) # Rental video is not rented but preview is available (e.g. # https://www.youtube.com/watch?v=yYr8q0y5Jfg, - # https://github.com/rg3/youtube-dl/issues/10532) + # https://github.com/ytdl-org/youtube-dl/issues/10532) if not video_info and args.get('ypc_vid'): return self.url_result( args['ypc_vid'], YoutubeIE.ie_key(), video_id=args['ypc_vid']) @@ -1616,9 +1729,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): # are missing from DASH manifest pointed by webpage's dashmpd, some - from DASH # manifest pointed by get_video_info's dashmpd). # The general idea is to take a union of itags of both DASH manifests (for example - # video with such 'manifest behavior' see https://github.com/rg3/youtube-dl/issues/6093) + # video with such 'manifest behavior' see https://github.com/ytdl-org/youtube-dl/issues/6093) self.report_video_info_webpage_download(video_id) - for el in ('info', 'embedded', 'detailpage', 'vevo', ''): + for el in ('embedded', 'detailpage', 'vevo', ''): query = { 'video_id': video_id, 'ps': 'default', @@ -1648,17 +1761,19 @@ class YoutubeIE(YoutubeBaseInfoExtractor): view_count = extract_view_count(get_video_info) if not video_info: video_info = get_video_info - if 'token' in get_video_info: + get_token = extract_token(get_video_info) + if get_token: # Different get_video_info requests may report different results, e.g. # some may report video unavailability, but some may serve it without - # any complaint (see https://github.com/rg3/youtube-dl/issues/7362, + # any complaint (see https://github.com/ytdl-org/youtube-dl/issues/7362, # the original webpage as well as el=info and el=embedded get_video_info # requests report video unavailability due to geo restriction while # el=detailpage succeeds and returns valid data). This is probably # due to YouTube measures against IP ranges of hosting providers. # Working around by preferring the first succeeded video_info containing # the token if no such video_info yet was found. - if 'token' not in video_info: + token = extract_token(video_info) + if not token: video_info = get_video_info break @@ -1667,29 +1782,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor): r'(?s)<h1[^>]+id="unavailable-message"[^>]*>(.+?)</h1>', video_webpage, 'unavailable message', default=None) - if 'token' not in video_info: - if 'reason' in video_info: - if 'The uploader has not made this video available in your country.' in video_info['reason']: - regions_allowed = self._html_search_meta( - 'regionsAllowed', video_webpage, default=None) - countries = regions_allowed.split(',') if regions_allowed else None - self.raise_geo_restricted( - msg=video_info['reason'][0], countries=countries) - reason = video_info['reason'][0] - if 'Invalid parameters' in reason: - unavailable_message = extract_unavailable_message() - if unavailable_message: - reason = unavailable_message - raise ExtractorError( - 'YouTube said: %s' % reason, - expected=True, video_id=video_id) - else: - raise ExtractorError( - '"token" parameter not in video info for unknown reason', - video_id=video_id) - - if video_info.get('license_info'): - raise ExtractorError('This video is DRM protected.', expected=True) + if not video_info: + unavailable_message = extract_unavailable_message() + if not unavailable_message: + unavailable_message = 'Unable to extract video data' + raise ExtractorError( + 'YouTube said: %s' % unavailable_message, expected=True, video_id=video_id) video_details = try_get( player_response, lambda x: x['videoDetails'], dict) or {} @@ -1747,7 +1845,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): for feed in multifeed_metadata_list.split(','): # Unquote should take place before split on comma (,) since textual # fields may contain comma as well (see - # https://github.com/rg3/youtube-dl/issues/8536) + # https://github.com/ytdl-org/youtube-dl/issues/8536) feed_data = compat_parse_qs(compat_urllib_parse_unquote_plus(feed)) entries.append({ '_type': 'url_transparent', @@ -1772,7 +1870,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): # Check for "rental" videos if 'ypc_video_rental_bar_text' in video_info and 'author' not in video_info: - raise ExtractorError('"rental" videos not supported. See https://github.com/rg3/youtube-dl/issues/359 for more information.', expected=True) + raise ExtractorError('"rental" videos not supported. See https://github.com/ytdl-org/youtube-dl/issues/359 for more information.', expected=True) def _extract_filesize(media_url): return int_or_none(self._search_regex( @@ -1789,7 +1887,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): elif not is_live and (len(video_info.get('url_encoded_fmt_stream_map', [''])[0]) >= 1 or len(video_info.get('adaptive_fmts', [''])[0]) >= 1): encoded_url_map = video_info.get('url_encoded_fmt_stream_map', [''])[0] + ',' + video_info.get('adaptive_fmts', [''])[0] if 'rtmpe%3Dyes' in encoded_url_map: - raise ExtractorError('rtmpe downloads are not supported, see https://github.com/rg3/youtube-dl/issues/343 for more information.', expected=True) + raise ExtractorError('rtmpe downloads are not supported, see https://github.com/ytdl-org/youtube-dl/issues/343 for more information.', expected=True) formats_spec = {} fmt_list = video_info.get('fmt_list', [''])[0] if fmt_list: @@ -1826,7 +1924,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): formats = [] for url_data_str in encoded_url_map.split(','): url_data = compat_parse_qs(url_data_str) - if 'itag' not in url_data or 'url' not in url_data: + if 'itag' not in url_data or 'url' not in url_data or url_data.get('drm_families'): continue stream_type = int_or_none(try_get(url_data, lambda x: x['stream_type'][0])) # Unsupported FORMAT_STREAM_TYPE_OTF @@ -1886,7 +1984,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): signature = self._decrypt_signature( encrypted_sig, video_id, player_url, age_gate) - url += '&signature=' + signature + sp = try_get(url_data, lambda x: x['sp'][0], compat_str) or 'signature' + url += '&%s=%s' % (sp, signature) if 'ratebypass' not in url: url += '&ratebypass=yes' @@ -1901,7 +2000,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): dct.update(formats_spec[format_id]) # Some itags are not included in DASH manifest thus corresponding formats will - # lack metadata (see https://github.com/rg3/youtube-dl/pull/5993). + # lack metadata (see https://github.com/ytdl-org/youtube-dl/pull/5993). # Trying to extract metadata from url_encoded_fmt_stream_map entry. mobj = re.search(r'^(?P<width>\d+)[xX](?P<height>\d+)$', url_data.get('size', [''])[0]) width, height = (int(mobj.group('width')), int(mobj.group('height'))) if mobj else (None, None) @@ -1950,8 +2049,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): url_or_none(try_get( player_response, lambda x: x['streamingData']['hlsManifestUrl'], - compat_str)) or - url_or_none(try_get( + compat_str)) + or url_or_none(try_get( video_info, lambda x: x['hlsvp'][0], compat_str))) if manifest_url: formats = [] @@ -1999,8 +2098,13 @@ class YoutubeIE(YoutubeBaseInfoExtractor): else: self._downloader.report_warning('unable to extract uploader nickname') - channel_id = self._html_search_meta( - 'channelId', video_webpage, 'channel id') + channel_id = ( + str_or_none(video_details.get('channelId')) + or self._html_search_meta( + 'channelId', video_webpage, 'channel id', default=None) + or self._search_regex( + r'data-channel-external-id=(["\'])(?P<id>(?:(?!\1).)+)\1', + video_webpage, 'channel id', default=None, group='id')) channel_url = 'http://www.youtube.com/channel/%s' % channel_id if channel_id else None # thumbnail image @@ -2059,6 +2163,27 @@ class YoutubeIE(YoutubeBaseInfoExtractor): track = extract_meta('Song') artist = extract_meta('Artist') + album = extract_meta('Album') + + # Youtube Music Auto-generated description + release_date = release_year = None + if video_description: + mobj = re.search(r'(?s)Provided to YouTube by [^\n]+\n+(?P<track>[^·]+)·(?P<artist>[^\n]+)\n+(?P<album>[^\n]+)(?:.+?â\s*(?P<release_year>\d{4})(?!\d))?(?:.+?Released on\s*:\s*(?P<release_date>\d{4}-\d{2}-\d{2}))?(.+?\nArtist\s*:\s*(?P<clean_artist>[^\n]+))?', video_description) + if mobj: + if not track: + track = mobj.group('track').strip() + if not artist: + artist = mobj.group('clean_artist') or ', '.join(a.strip() for a in mobj.group('artist').split('·')) + if not album: + album = mobj.group('album'.strip()) + release_year = mobj.group('release_year') + release_date = mobj.group('release_date') + if release_date: + release_date = release_date.replace('-', '') + if not release_year: + release_year = int(release_date[:4]) + if release_year: + release_year = int(release_year) m_episode = re.search( r'<div[^>]+id="watch7-headline"[^>]*>\s*<span[^>]*>.*?>(?P<series>[^<]+)</a></b>\s*S(?P<season>\d+)\s*â¢\s*E(?P<episode>\d+)</span>', @@ -2099,6 +2224,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor): r'<[^>]+class=["\']watch-view-count[^>]+>\s*([\d,\s]+)', video_webpage, 'view count', default=None)) + average_rating = ( + float_or_none(video_details.get('averageRating')) + or try_get(video_info, lambda x: float_or_none(x['avg_rating'][0]))) + # subtitles video_subtitles = self.extract_subtitles(video_id, video_webpage) automatic_captions = self.extract_automatic_captions(video_id, video_webpage) @@ -2152,7 +2281,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): # Remove the formats we found through non-DASH, they # contain less info and it can be wrong, because we use # fixed values (for example the resolution). See - # https://github.com/rg3/youtube-dl/issues/5774 for an + # https://github.com/ytdl-org/youtube-dl/issues/5774 for an # example. formats = [f for f in formats if f['format_id'] not in dash_formats.keys()] formats.extend(dash_formats.values()) @@ -2172,6 +2301,32 @@ class YoutubeIE(YoutubeBaseInfoExtractor): if f.get('vcodec') != 'none': f['stretched_ratio'] = ratio + if not formats: + token = extract_token(video_info) + if not token: + if 'reason' in video_info: + if 'The uploader has not made this video available in your country.' in video_info['reason']: + regions_allowed = self._html_search_meta( + 'regionsAllowed', video_webpage, default=None) + countries = regions_allowed.split(',') if regions_allowed else None + self.raise_geo_restricted( + msg=video_info['reason'][0], countries=countries) + reason = video_info['reason'][0] + if 'Invalid parameters' in reason: + unavailable_message = extract_unavailable_message() + if unavailable_message: + reason = unavailable_message + raise ExtractorError( + 'YouTube said: %s' % reason, + expected=True, video_id=video_id) + else: + raise ExtractorError( + '"token" parameter not in video info for unknown reason', + video_id=video_id) + + if not formats and (video_info.get('license_info') or try_get(player_response, lambda x: x['streamingData']['licenseInfos'])): + raise ExtractorError('This video is DRM protected.', expected=True) + self._sort_formats(formats) self.mark_watched(video_id, video_info, player_response) @@ -2202,7 +2357,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'view_count': view_count, 'like_count': like_count, 'dislike_count': dislike_count, - 'average_rating': float_or_none(video_info.get('avg_rating', [None])[0]), + 'average_rating': average_rating, 'formats': formats, 'is_live': is_live, 'start_time': start_time, @@ -2212,6 +2367,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'episode_number': episode_number, 'track': track, 'artist': artist, + 'album': album, + 'release_date': release_date, + 'release_year': release_year, } @@ -2410,9 +2568,9 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): search_title = lambda class_name: get_element_by_attribute('class', class_name, webpage) title_span = ( - search_title('playlist-title') or - search_title('title long-title') or - search_title('title')) + search_title('playlist-title') + or search_title('title long-title') + or search_title('title')) title = clean_html(title_span) return self.playlist_result(url_results, playlist_id, title) @@ -2421,7 +2579,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): url = self._TEMPLATE_URL % playlist_id page = self._download_webpage(url, playlist_id) - # the yt-alert-message now has tabindex attribute (see https://github.com/rg3/youtube-dl/issues/11604) + # the yt-alert-message now has tabindex attribute (see https://github.com/ytdl-org/youtube-dl/issues/11604) for match in re.findall(r'<div class="yt-alert-message"[^>]*>([^<]+)</div>', page): match = match.strip() # Check if the playlist exists or is private @@ -2514,7 +2672,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): return playlist # Some playlist URLs don't actually serve a playlist (see - # https://github.com/rg3/youtube-dl/issues/10537). + # https://github.com/ytdl-org/youtube-dl/issues/10537). # Fallback to plain video extraction if there is a video id # along with playlist id. return self.url_result(video_id, 'Youtube', video_id=video_id) diff --git a/youtube_dl/extractor/zattoo.py b/youtube_dl/extractor/zattoo.py index 8962763..6bac302 100644 --- a/youtube_dl/extractor/zattoo.py +++ b/youtube_dl/extractor/zattoo.py @@ -86,8 +86,8 @@ class ZattooPlatformBaseIE(InfoExtractor): return next( chan['cid'] for chan in channel_list if chan.get('cid') and ( - chan.get('display_alias') == channel_name or - chan.get('cid') == channel_name)) + chan.get('display_alias') == channel_name + or chan.get('cid') == channel_name)) except StopIteration: raise ExtractorError('Could not extract channel id') @@ -420,3 +420,14 @@ class EinsUndEinsTVIE(ZattooIE): 'url': 'https://www.1und1.tv/watch/abc/123-abc', 'only_matching': True, }] + + +class SaltTVIE(ZattooIE): + _NETRC_MACHINE = 'salttv' + _HOST = 'tv.salt.ch' + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://tv.salt.ch/watch/abc/123-abc', + 'only_matching': True, + }] diff --git a/youtube_dl/options.py b/youtube_dl/options.py index e7d8e89..1ffabc6 100644 --- a/youtube_dl/options.py +++ b/youtube_dl/options.py @@ -45,7 +45,7 @@ def parseOpts(overrideArguments=None): except IOError: return default # silently skip if file is not present try: - # FIXME: https://github.com/rg3/youtube-dl/commit/dfe5fa49aed02cf36ba9f743b11b0903554b5e56 + # FIXME: https://github.com/ytdl-org/youtube-dl/commit/dfe5fa49aed02cf36ba9f743b11b0903554b5e56 contents = optionf.read() if sys.version_info < (3,): contents = contents.decode(preferredencoding()) diff --git a/youtube_dl/postprocessor/ffmpeg.py b/youtube_dl/postprocessor/ffmpeg.py index 39a9053..70416c2 100644 --- a/youtube_dl/postprocessor/ffmpeg.py +++ b/youtube_dl/postprocessor/ffmpeg.py @@ -9,9 +9,6 @@ import re from .common import AudioConversionError, PostProcessor -from ..compat import ( - compat_subprocess_get_DEVNULL, -) from ..utils import ( encodeArgument, encodeFilename, @@ -165,27 +162,45 @@ class FFmpegPostProcessor(PostProcessor): return self._paths[self.probe_basename] def get_audio_codec(self, path): - if not self.probe_available: - raise PostProcessingError('ffprobe or avprobe not found. Please install one.') + if not self.probe_available and not self.available: + raise PostProcessingError('ffprobe/avprobe and ffmpeg/avconv not found. Please install one.') try: - cmd = [ - encodeFilename(self.probe_executable, True), - encodeArgument('-show_streams'), - encodeFilename(self._ffmpeg_filename_argument(path), True)] + if self.probe_available: + cmd = [ + encodeFilename(self.probe_executable, True), + encodeArgument('-show_streams')] + else: + cmd = [ + encodeFilename(self.executable, True), + encodeArgument('-i')] + cmd.append(encodeFilename(self._ffmpeg_filename_argument(path), True)) if self._downloader.params.get('verbose', False): - self._downloader.to_screen('[debug] %s command line: %s' % (self.basename, shell_quote(cmd))) - handle = subprocess.Popen(cmd, stderr=compat_subprocess_get_DEVNULL(), stdout=subprocess.PIPE, stdin=subprocess.PIPE) - output = handle.communicate()[0] - if handle.wait() != 0: + self._downloader.to_screen( + '[debug] %s command line: %s' % (self.basename, shell_quote(cmd))) + handle = subprocess.Popen( + cmd, stderr=subprocess.PIPE, + stdout=subprocess.PIPE, stdin=subprocess.PIPE) + stdout_data, stderr_data = handle.communicate() + expected_ret = 0 if self.probe_available else 1 + if handle.wait() != expected_ret: return None except (IOError, OSError): return None - audio_codec = None - for line in output.decode('ascii', 'ignore').split('\n'): - if line.startswith('codec_name='): - audio_codec = line.split('=')[1].strip() - elif line.strip() == 'codec_type=audio' and audio_codec is not None: - return audio_codec + output = (stdout_data if self.probe_available else stderr_data).decode('ascii', 'ignore') + if self.probe_available: + audio_codec = None + for line in output.split('\n'): + if line.startswith('codec_name='): + audio_codec = line.split('=')[1].strip() + elif line.strip() == 'codec_type=audio' and audio_codec is not None: + return audio_codec + else: + # Stream #FILE_INDEX:STREAM_INDEX[STREAM_ID](LANGUAGE): CODEC_TYPE: CODEC_NAME + mobj = re.search( + r'Stream\s*#\d+:\d+(?:\[0x[0-9a-f]+\])?(?:\([a-z]{3}\))?:\s*Audio:\s*([0-9a-z]+)', + output) + if mobj: + return mobj.group(1) return None def run_ffmpeg_multiple_files(self, input_paths, out_path, opts): @@ -202,10 +217,13 @@ class FFmpegPostProcessor(PostProcessor): encodeArgument('-i'), encodeFilename(self._ffmpeg_filename_argument(path), True) ]) - cmd = ([encodeFilename(self.executable, True), encodeArgument('-y')] + - files_cmd + - [encodeArgument(o) for o in opts] + - [encodeFilename(self._ffmpeg_filename_argument(out_path), True)]) + cmd = [encodeFilename(self.executable, True), encodeArgument('-y')] + # avconv does not have repeat option + if self.basename == 'ffmpeg': + cmd += [encodeArgument('-loglevel'), encodeArgument('repeat+info')] + cmd += (files_cmd + + [encodeArgument(o) for o in opts] + + [encodeFilename(self._ffmpeg_filename_argument(out_path), True)]) if self._downloader.params.get('verbose', False): self._downloader.to_screen('[debug] ffmpeg command line: %s' % shell_quote(cmd)) @@ -308,8 +326,8 @@ class FFmpegExtractAudioPP(FFmpegPostProcessor): information['ext'] = extension # If we download foo.mp3 and convert it to... foo.mp3, then don't delete foo.mp3, silly. - if (new_path == path or - (self._nopostoverwrites and os.path.exists(encodeFilename(new_path)))): + if (new_path == path + or (self._nopostoverwrites and os.path.exists(encodeFilename(new_path)))): self._downloader.to_screen('[ffmpeg] Post-process file %s exists, skipping' % new_path) return [], information @@ -392,6 +410,9 @@ class FFmpegEmbedSubtitlePP(FFmpegPostProcessor): # Don't copy the existing subtitles, we may be running the # postprocessor a second time '-map', '-0:s', + # Don't copy Apple TV chapters track, bin_data (see #19042, #19024, + # https://trac.ffmpeg.org/ticket/6016) + '-map', '-0:d', ] if information['ext'] == 'mp4': opts += ['-c:s', 'mov_text'] diff --git a/youtube_dl/postprocessor/xattrpp.py b/youtube_dl/postprocessor/xattrpp.py index b0aed9c..814dabe 100644 --- a/youtube_dl/postprocessor/xattrpp.py +++ b/youtube_dl/postprocessor/xattrpp.py @@ -64,8 +64,8 @@ class XAttrMetadataPP(PostProcessor): except XAttrMetadataError as e: if e.reason == 'NO_SPACE': self._downloader.report_warning( - 'There\'s no disk space left, disk quota exceeded or filesystem xattr limit exceeded. ' + - (('Some ' if num_written else '') + 'extended attributes are not written.').capitalize()) + 'There\'s no disk space left, disk quota exceeded or filesystem xattr limit exceeded. ' + + (('Some ' if num_written else '') + 'extended attributes are not written.').capitalize()) elif e.reason == 'VALUE_TOO_LONG': self._downloader.report_warning( 'Unable to write extended attributes due to too long values.') diff --git a/youtube_dl/update.py b/youtube_dl/update.py index ebce966..002ea7f 100644 --- a/youtube_dl/update.py +++ b/youtube_dl/update.py @@ -31,7 +31,7 @@ def rsa_verify(message, signature, key): def update_self(to_screen, verbose, opener): """Update the program file with the latest version from the repository""" - UPDATE_URL = 'https://rg3.github.io/youtube-dl/update/' + UPDATE_URL = 'https://yt-dl.org/update/' VERSION_URL = UPDATE_URL + 'LATEST_VERSION' JSON_URL = UPDATE_URL + 'versions.json' UPDATES_RSA_KEY = (0x9d60ee4d8f805312fdb15a62f87b95bd66177b91df176765d13514a0f1754bcd2057295c5b6f1d35daa6742c3ffc9a82d3e118861c207995a8031e151d863c9927e304576bc80692bc8e094896fcf11b66f3e29e04e3a71e9a11558558acea1840aec37fc396fb6b65dc81a1c4144e03bd1c011de62e3f1357b327d08426fe93, 65537) diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index d2d3c1a..ead9bd8 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -125,8 +125,8 @@ KNOWN_EXTENSIONS = ( # needed for sanitizing filenames in restricted mode ACCENT_CHARS = dict(zip('ÃÃÃÃÃà ÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÃÅÃÅÃÃÃÃÅ°ÃÃÃà áâãäåæçèéêëìÃîïðñòóôõöÅøÅùúûüűýþÿ', - itertools.chain('AAAAAA', ['AE'], 'CEEEEIIIIDNOOOOOOO', ['OE'], 'UUUUUYP', ['ss'], - 'aaaaaa', ['ae'], 'ceeeeiiiionooooooo', ['oe'], 'uuuuuypy'))) + itertools.chain('AAAAAA', ['AE'], 'CEEEEIIIIDNOOOOOOO', ['OE'], 'UUUUUY', ['TH', 'ss'], + 'aaaaaa', ['ae'], 'ceeeeiiiionooooooo', ['oe'], 'uuuuuy', ['th'], 'y'))) DATE_FORMATS = ( '%d %B %Y', @@ -184,7 +184,7 @@ DATE_FORMATS_MONTH_FIRST.extend([ ]) PACKED_CODES_RE = r"}\('(.+)',(\d+),(\d+),'([^']+)'\.split\('\|'\)" -JSON_LD_RE = r'(?is)<script[^>]+type=(["\'])application/ld\+json\1[^>]*>(?P<json_ld>.+?)</script>' +JSON_LD_RE = r'(?is)<script[^>]+type=(["\']?)application/ld\+json\1[^>]*>(?P<json_ld>.+?)</script>' def preferredencoding(): @@ -546,7 +546,7 @@ def sanitize_url(url): return 'http:%s' % url # Fix some common typos seen so far COMMON_TYPOS = ( - # https://github.com/rg3/youtube-dl/issues/15649 + # https://github.com/ytdl-org/youtube-dl/issues/15649 (r'^httpss://', r'https://'), # https://bx1.be/lives/direct-tv/ (r'^rmtp([es]?)://', r'rtmp\1://'), @@ -596,7 +596,7 @@ def _htmlentity_transform(entity_with_semicolon): numstr = '0%s' % numstr else: base = 10 - # See https://github.com/rg3/youtube-dl/issues/7518 + # See https://github.com/ytdl-org/youtube-dl/issues/7518 try: return compat_chr(int(numstr, base)) except ValueError: @@ -861,8 +861,8 @@ class XAttrMetadataError(YoutubeDLError): self.msg = msg # Parsing code and msg - if (self.code in (errno.ENOSPC, errno.EDQUOT) or - 'No space left' in self.msg or 'Disk quota excedded' in self.msg): + if (self.code in (errno.ENOSPC, errno.EDQUOT) + or 'No space left' in self.msg or 'Disk quota excedded' in self.msg): self.reason = 'NO_SPACE' elif self.code == errno.E2BIG or 'Argument list too long' in self.msg: self.reason = 'VALUE_TOO_LONG' @@ -877,7 +877,7 @@ class XAttrUnavailableError(YoutubeDLError): def _create_http_connection(ydl_handler, http_class, is_https, *args, **kwargs): # Working around python 2 bug (see http://bugs.python.org/issue17849) by limiting # expected HTTP responses to meet HTTP/1.0 or later (see also - # https://github.com/rg3/youtube-dl/issues/6727) + # https://github.com/ytdl-org/youtube-dl/issues/6727) if sys.version_info < (3, 0): kwargs['strict'] = True hc = http_class(*args, **compat_kwargs(kwargs)) @@ -1051,7 +1051,7 @@ class YoutubeDLHandler(compat_urllib_request.HTTPHandler): resp.msg = old_resp.msg del resp.headers['Content-encoding'] # Percent-encode redirect URL of Location HTTP header to satisfy RFC 3986 (see - # https://github.com/rg3/youtube-dl/issues/6457). + # https://github.com/ytdl-org/youtube-dl/issues/6457). if 300 <= resp.code < 400: location = resp.headers.get('Location') if location: @@ -1141,6 +1141,8 @@ class YoutubeDLHTTPSHandler(compat_urllib_request.HTTPSHandler): class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar): + _HTTPONLY_PREFIX = '#HttpOnly_' + def save(self, filename=None, ignore_discard=False, ignore_expires=False): # Store session cookies with `expires` set to 0 instead of an empty # string @@ -1150,7 +1152,21 @@ class YoutubeDLCookieJar(compat_cookiejar.MozillaCookieJar): compat_cookiejar.MozillaCookieJar.save(self, filename, ignore_discard, ignore_expires) def load(self, filename=None, ignore_discard=False, ignore_expires=False): - compat_cookiejar.MozillaCookieJar.load(self, filename, ignore_discard, ignore_expires) + """Load cookies from a file.""" + if filename is None: + if self.filename is not None: + filename = self.filename + else: + raise ValueError(compat_cookiejar.MISSING_FILENAME_TEXT) + + cf = io.StringIO() + with open(filename) as f: + for line in f: + if line.startswith(self._HTTPONLY_PREFIX): + line = line[len(self._HTTPONLY_PREFIX):] + cf.write(compat_str(line)) + cf.seek(0) + self._really_load(cf, filename, ignore_discard, ignore_expires) # Session cookies are denoted by either `expires` field set to # an empty string or 0. MozillaCookieJar only recognizes the former # (see [1]). So we need force the latter to be recognized as session @@ -1174,7 +1190,7 @@ class YoutubeDLCookieProcessor(compat_urllib_request.HTTPCookieProcessor): def http_response(self, request, response): # Python 2 will choke on next HTTP request in row if there are non-ASCII # characters in Set-Cookie HTTP header of last response (see - # https://github.com/rg3/youtube-dl/issues/6769). + # https://github.com/ytdl-org/youtube-dl/issues/6769). # In order to at least prevent crashing we will percent encode Set-Cookie # header before HTTPCookieProcessor starts processing it. # if sys.version_info < (3, 0) and response.headers: @@ -1437,8 +1453,8 @@ def _windows_write_string(s, out): def not_a_console(handle): if handle == INVALID_HANDLE_VALUE or handle is None: return True - return ((GetFileType(handle) & ~FILE_TYPE_REMOTE) != FILE_TYPE_CHAR or - GetConsoleMode(handle, ctypes.byref(ctypes.wintypes.DWORD())) == 0) + return ((GetFileType(handle) & ~FILE_TYPE_REMOTE) != FILE_TYPE_CHAR + or GetConsoleMode(handle, ctypes.byref(ctypes.wintypes.DWORD())) == 0) if not_a_console(h): return False @@ -1474,8 +1490,8 @@ def write_string(s, out=None, encoding=None): if _windows_write_string(s, out): return - if ('b' in getattr(out, 'mode', '') or - sys.version_info[0] < 3): # Python 2 lies about mode of sys.stderr + if ('b' in getattr(out, 'mode', '') + or sys.version_info[0] < 3): # Python 2 lies about mode of sys.stderr byt = s.encode(encoding or preferredencoding(), 'ignore') out.write(byt) elif hasattr(out, 'buffer'): @@ -1782,6 +1798,14 @@ def parse_resolution(s): return {} +def parse_bitrate(s): + if not isinstance(s, compat_str): + return + mobj = re.search(r'\b(\d+)\s*kbps', s) + if mobj: + return int(mobj.group(1)) + + def month_by_name(name, lang='en'): """ Return the number of a month by (locale-independently) English name """ @@ -1868,7 +1892,7 @@ def urljoin(base, path): path = path.decode('utf-8') if not isinstance(path, compat_str) or not path: return None - if re.match(r'^(?:https?:)?//', path): + if re.match(r'^(?:[a-zA-Z][a-zA-Z0-9+-.]*:)?//', path): return path if isinstance(base, bytes): base = base.decode('utf-8') @@ -1898,7 +1922,7 @@ def int_or_none(v, scale=1, default=None, get_attr=None, invscale=1): return default try: return int(v) * invscale // scale - except ValueError: + except (ValueError, TypeError): return default @@ -1919,7 +1943,7 @@ def float_or_none(v, scale=1, invscale=1, default=None): return default try: return float(v) * invscale / scale - except ValueError: + except (ValueError, TypeError): return default @@ -1927,8 +1951,8 @@ def bool_or_none(v, default=None): return v if isinstance(v, bool) else default -def strip_or_none(v): - return None if v is None else v.strip() +def strip_or_none(v, default=None): + return v.strip() if isinstance(v, compat_str) else default def url_or_none(url): @@ -2028,7 +2052,7 @@ def get_exe_version(exe, args=['--version'], try: # STDIN should be redirected too. On UNIX-like systems, ffmpeg triggers # SIGTTOU if youtube-dl is run in the background. - # See https://github.com/rg3/youtube-dl/issues/955#issuecomment-209789656 + # See https://github.com/ytdl-org/youtube-dl/issues/955#issuecomment-209789656 out, _ = subprocess.Popen( [encodeArgument(exe)] + args, stdin=subprocess.PIPE, @@ -2304,10 +2328,10 @@ def merge_dicts(*dicts): for k, v in a_dict.items(): if v is None: continue - if (k not in merged or - (isinstance(v, compat_str) and v and - isinstance(merged[k], compat_str) and - not merged[k])): + if (k not in merged + or (isinstance(v, compat_str) and v + and isinstance(merged[k], compat_str) + and not merged[k])): merged[k] = v return merged @@ -2633,14 +2657,14 @@ def _match_one(filter_part, dct): if m: op = COMPARISON_OPERATORS[m.group('op')] actual_value = dct.get(m.group('key')) - if (m.group('quotedstrval') is not None or - m.group('strval') is not None or + if (m.group('quotedstrval') is not None + or m.group('strval') is not None # If the original field is a string and matching comparisonvalue is # a number we should respect the origin of the original field # and process comparison value as a string (see - # https://github.com/rg3/youtube-dl/issues/11082). - actual_value is not None and m.group('intval') is not None and - isinstance(actual_value, compat_str)): + # https://github.com/ytdl-org/youtube-dl/issues/11082). + or actual_value is not None and m.group('intval') is not None + and isinstance(actual_value, compat_str)): if m.group('op') not in ('=', '!='): raise ValueError( 'Operator %s does not support string values!' % m.group('op')) @@ -3788,7 +3812,7 @@ def urshift(val, n): # Based on png2str() written by @gdkchan and improved by @yokrysty -# Originally posted at https://github.com/rg3/youtube-dl/issues/9706 +# Originally posted at https://github.com/ytdl-org/youtube-dl/issues/9706 def decode_png(png_data): # Reference: https://www.w3.org/TR/PNG/ header = png_data[8:] @@ -3903,7 +3927,7 @@ def write_xattr(path, key, value): if hasattr(xattr, 'set'): # pyxattr # Unicode arguments are not supported in python-pyxattr until # version 0.5.0 - # See https://github.com/rg3/youtube-dl/issues/5498 + # See https://github.com/ytdl-org/youtube-dl/issues/5498 pyxattr_required_version = '0.5.0' if version_tuple(xattr.__version__) < version_tuple(pyxattr_required_version): # TODO: fallback to CLI tools @@ -3949,9 +3973,9 @@ def write_xattr(path, key, value): executable = 'xattr' opts = ['-w', key, value] - cmd = ([encodeFilename(executable, True)] + - [encodeArgument(o) for o in opts] + - [encodeFilename(path, True)]) + cmd = ([encodeFilename(executable, True)] + + [encodeArgument(o) for o in opts] + + [encodeFilename(path, True)]) try: p = subprocess.Popen( diff --git a/youtube_dl/version.py b/youtube_dl/version.py index ea3f629..6aa666b 100644 --- a/youtube_dl/version.py +++ b/youtube_dl/version.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '2019.01.17' +__version__ = '2019.06.08' -- 2.41.3