From 5920ef2b4969021b7f83d154b325036d9b598877 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Rog=C3=A9rio=20Brito?= Date: Sat, 10 Nov 2018 23:56:55 -0200 Subject: [PATCH] New upstream version 2018.11.07 --- ChangeLog | 109 +++++++++ README.md | 25 ++- README.txt | 27 ++- docs/supportedsites.md | 24 +- test/helper.py | 10 + test/test_InfoExtractor.py | 42 +++- test/test_downloader_http.py | 12 +- test/test_http.py | 10 +- youtube-dl | Bin 1699181 -> 1706857 bytes youtube-dl.1 | 34 ++- youtube_dl/extractor/adobepass.py | 4 +- youtube_dl/extractor/aparat.py | 95 +++++--- youtube_dl/extractor/asiancrush.py | 42 +++- youtube_dl/extractor/azmedien.py | 235 +++++--------------- youtube_dl/extractor/brightcove.py | 38 +++- youtube_dl/extractor/cliphunter.py | 21 +- youtube_dl/extractor/cnbc.py | 30 +++ youtube_dl/extractor/common.py | 21 +- youtube_dl/extractor/crunchyroll.py | 54 ++++- youtube_dl/extractor/cwtv.py | 8 +- youtube_dl/extractor/dailymail.py | 3 + youtube_dl/extractor/dailymotion.py | 26 ++- youtube_dl/extractor/eporner.py | 16 +- youtube_dl/extractor/extractors.py | 32 ++- youtube_dl/extractor/facebook.py | 2 +- youtube_dl/extractor/fourtube.py | 121 ++++++++-- youtube_dl/extractor/generic.py | 8 +- youtube_dl/extractor/hotstar.py | 168 +++++++------- youtube_dl/extractor/ivi.py | 8 +- youtube_dl/extractor/jamendo.py | 20 +- youtube_dl/extractor/laola1tv.py | 118 ++++++---- youtube_dl/extractor/linkedin.py | 175 +++++++++++++++ youtube_dl/extractor/mediaset.py | 38 +++- youtube_dl/extractor/njpwworld.py | 12 +- youtube_dl/extractor/openload.py | 14 +- youtube_dl/extractor/orf.py | 38 ++-- youtube_dl/extractor/patreon.py | 165 ++++++++------ youtube_dl/extractor/philharmoniedeparis.py | 118 ++++++---- youtube_dl/extractor/pluralsight.py | 40 ++-- youtube_dl/extractor/popcorntv.py | 2 - youtube_dl/extractor/pornhub.py | 9 + youtube_dl/extractor/rai.py | 1 - youtube_dl/extractor/rutube.py | 3 +- youtube_dl/extractor/screencast.py | 9 + youtube_dl/extractor/spike.py | 7 + youtube_dl/extractor/sportbox.py | 48 ++-- youtube_dl/extractor/ted.py | 4 +- youtube_dl/extractor/theplatform.py | 14 +- youtube_dl/extractor/tube8.py | 8 +- youtube_dl/extractor/tv3.py | 34 --- youtube_dl/extractor/twitcasting.py | 60 +++++ youtube_dl/extractor/twitch.py | 12 +- youtube_dl/extractor/udemy.py | 4 +- youtube_dl/extractor/viewster.py | 20 +- youtube_dl/extractor/vimeo.py | 31 ++- youtube_dl/extractor/vrv.py | 8 +- youtube_dl/extractor/vzaar.py | 60 +++-- youtube_dl/extractor/youtube.py | 68 +++++- youtube_dl/extractor/zattoo.py | 207 ++++++++++++++--- youtube_dl/version.py | 2 +- 60 files changed, 1811 insertions(+), 763 deletions(-) create mode 100644 youtube_dl/extractor/linkedin.py delete mode 100644 youtube_dl/extractor/tv3.py create mode 100644 youtube_dl/extractor/twitcasting.py diff --git a/ChangeLog b/ChangeLog index d184f69..fa5de8b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,112 @@ +version 2018.11.07 + +Extractors ++ [youtube] Add another JS signature function name regex (#18091, #18093, + #18094) +* [facebook] Fix tahoe request (#17171) +* [cliphunter] Fix extraction (#18083) ++ [youtube:playlist] Add support for invidio.us (#18077) +* [zattoo] Arrange API hosts for derived extractors (#18035) ++ [youtube] Add fallback metadata extraction from videoDetails (#18052) + + +version 2018.11.03 + +Core +* [extractor/common] Ensure response handle is not prematurely closed before + it can be read if it matches expected_status (#17195, #17846, #17447) + +Extractors +* [laola1tv:embed] Set correct stream access URL scheme (#16341) ++ [ehftv] Add support for ehftv.com (#15408) +* [azmedien] Adopt to major site redesign (#17745, #17746) ++ [twitcasting] Add support for twitcasting.tv (#17981) +* [orf:tvthek] Fix extraction (#17737, #17956, #18024) ++ [openload] Add support for oload.fun (#18045) +* [njpwworld] Fix authentication (#17427) ++ [linkedin:learning] Add support for linkedin.com/learning (#13545) +* [theplatform] Improve error detection (#13222) +* [cnbc] Simplify extraction (#14280, #17110) ++ [cbnc] Add support for new URL schema (#14193) +* [aparat] Improve extraction and extract more metadata (#17445, #18008) +* [aparat] Fix extraction + + +version 2018.10.29 + +Core ++ [extractor/common] Add validation for JSON-LD URLs + +Extractors ++ [sportbox] Add support for matchtv.ru +* [sportbox] Fix extraction (#17978) +* [screencast] Fix extraction (#14590, #14617, #17990) ++ [openload] Add support for oload.icu ++ [ivi] Add support for ivi.tv +* [crunchyroll] Improve extraction failsafeness (#17991) +* [dailymail] Fix formats extraction (#17976) +* [viewster] Reduce format requests +* [cwtv] Handle API errors (#17905) ++ [rutube] Use geo verification headers (#17897) ++ [brightcove:legacy] Add fallbacks to brightcove:new (#13912) +- [tv3] Remove extractor (#10461, #15339) +* [ted] Fix extraction for HTTP and RTMP formats (#5941, #17572, #17894) ++ [openload] Add support for oload.cc (#17823) ++ [patreon] Extract post_file URL (#17792) +* [patreon] Fix extraction (#14502, #10471) + + +version 2018.10.05 + +Extractors +* [pluralsight] Improve authentication (#17762) +* [dailymotion] Fix extraction (#17699) +* [crunchyroll] Switch to HTTPS for RpcApi (#17749) ++ [philharmoniedeparis] Add support for pad.philharmoniedeparis.fr (#17705) +* [philharmoniedeparis] Fix extraction (#17705) ++ [jamendo] Add support for licensing.jamendo.com (#17724) ++ [openload] Add support for oload.cloud (#17710) +* [pluralsight] Fix subtitles extraction (#17726, #17728) ++ [vimeo] Add another config regular expression (#17690) +* [spike] Fix Paramount Network extraction (#17677) +* [hotstar] Fix extraction (#14694, #14931, #17637) + + +version 2018.09.26 + +Extractors +* [pluralsight] Fix subtitles extraction (#17671) +* [mediaset] Improve embed support (#17668) ++ [youtube] Add support for invidio.us (#17613) ++ [zattoo] Add support for more zattoo platform sites +* [zattoo] Fix extraction (#17175, #17542) + + +version 2018.09.18 + +Core ++ [extractor/common] Introduce channel meta fields + +Extractors +* [adobepass] Don't pollute default headers dict +* [udemy] Don't pollute default headers dict +* [twitch] Don't pollute default headers dict +* [youtube] Don't pollute default query dict (#17593) +* [crunchyroll] Prefer hardsubless formats and formats in locale language +* [vrv] Make format ids deterministic +* [vimeo] Fix ondemand playlist extraction (#14591) ++ [pornhub] Extract upload date (#17574) ++ [porntube] Extract channel meta fields ++ [vimeo] Extract channel meta fields ++ [youtube] Extract channel meta fields (#9676, #12939) +* [porntube] Fix extraction (#17541) +* [asiancrush] Fix extraction (#15630) ++ [twitch:clips] Extend URL regular expression (closes #17559) ++ [vzaar] Add support for HLS +* [tube8] Fix metadata extraction (#17520) +* [eporner] Extract JSON-LD (#17519) + + version 2018.09.10 Core diff --git a/README.md b/README.md index dd068a4..35c3de5 100644 --- a/README.md +++ b/README.md @@ -511,6 +511,8 @@ The basic usage is not to set any template arguments when downloading a single f - `timestamp` (numeric): UNIX timestamp of the moment the video became available - `upload_date` (string): Video upload date (YYYYMMDD) - `uploader_id` (string): Nickname or id of the video uploader + - `channel` (string): Full name of the channel the video is uploaded on + - `channel_id` (string): Id of the channel - `location` (string): Physical location where the video was filmed - `duration` (numeric): Length of the video in seconds - `view_count` (numeric): How many users have watched the video on the platform @@ -1166,7 +1168,28 @@ title = self._search_regex( ### Use safe conversion functions -Wrap all extracted numeric data into safe functions from `utils`: `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/rg3/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. + +#### More examples + +##### Safely extract optional description from parsed JSON +```python +description = try_get(response, lambda x: x['result']['video'][0]['summary'], compat_str) +``` + +##### Safely extract more optional metadata +```python +video = try_get(response, lambda x: x['result']['video'][0], dict) or {} +description = video.get('summary') +duration = float_or_none(video.get('durationMs'), scale=1000) +view_count = int_or_none(video.get('views')) +``` # EMBEDDING YOUTUBE-DL diff --git a/README.txt b/README.txt index a0f20fd..19988f9 100644 --- a/README.txt +++ b/README.txt @@ -594,6 +594,8 @@ with sequence type are: available - upload_date (string): Video upload date (YYYYMMDD) - uploader_id (string): Nickname or id of the video uploader +- channel (string): Full name of the channel the video is uploaded on +- channel_id (string): Id of the channel - location (string): Physical location where the video was filmed - duration (numeric): Length of the video in seconds - view_count (numeric): How many users have watched the video on the @@ -1589,9 +1591,28 @@ The code definitely should not look like: Use safe conversion functions -Wrap all extracted numeric data into safe functions from utils: -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: 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 for more useful convenience functions. + +More examples + +Safely extract optional description from parsed JSON + + description = try_get(response, lambda x: x['result']['video'][0]['summary'], compat_str) + +Safely extract more optional metadata + + video = try_get(response, lambda x: x['result']['video'][0], dict) or {} + description = video.get('summary') + duration = float_or_none(video.get('durationMs'), scale=1000) + view_count = int_or_none(video.get('views')) diff --git a/docs/supportedsites.md b/docs/supportedsites.md index 9b86017..24c3254 100644 --- a/docs/supportedsites.md +++ b/docs/supportedsites.md @@ -84,8 +84,6 @@ - **awaan:season** - **awaan:video** - **AZMedien**: AZ Medien videos - - **AZMedienPlaylist**: AZ Medien playlists - - **AZMedienShowPlaylist**: AZ Medien show playlists - **BaiduVideo**: 百度视频 - **bambuser** - **bambuser:channel** @@ -98,6 +96,7 @@ - **bbc.co.uk:article**: BBC articles - **bbc.co.uk:iplayer:playlist** - **bbc.co.uk:playlist** + - **BBVTV** - **Beatport** - **Beeg** - **BehindKink** @@ -177,6 +176,7 @@ - **Clyp** - **cmt.com** - **CNBC** + - **CNBCVideo** - **CNN** - **CNNArticle** - **CNNBlogs** @@ -250,7 +250,9 @@ - **EchoMsk** - **egghead:course**: egghead.io course - **egghead:lesson**: egghead.io lesson + - **ehftv** - **eHow** + - **EinsUndEinsTV** - **Einthusan** - **eitb.tv** - **EllenTube** @@ -268,6 +270,7 @@ - **EsriVideo** - **Europa** - **EveryonesMixtape** + - **EWETV** - **ExpoTV** - **Expressen** - **ExtremeTube** @@ -327,6 +330,7 @@ - **Gfycat** - **GiantBomb** - **Giga** + - **GlattvisionTV** - **Glide**: Glide mobile video messages (glide.me) - **Globo** - **GloboArticle** @@ -356,7 +360,7 @@ - **HitRecord** - **HornBunny** - **HotNewHipHop** - - **HotStar** + - **hotstar** - **hotstar:playlist** - **Howcast** - **HowStuffWorks** @@ -441,6 +445,8 @@ - **limelight:channel** - **limelight:channel_list** - **LineTV** + - **linkedin:learning** + - **linkedin:learning:course** - **LiTV** - **LiveLeak** - **LiveLeakEmbed** @@ -494,6 +500,7 @@ - **Mixer:vod** - **MLB** - **Mnet** + - **MNetTV** - **MoeVideo**: LetitBit video services: moevideo.net, playreplay.net and videochart.net - **Mofosex** - **Mojvideo** @@ -525,6 +532,7 @@ - **Myvi** - **MyVidster** - **MyviEmbed** + - **MyVisionTV** - **n-tv.de** - **natgeo** - **natgeo:episodeguide** @@ -550,6 +558,7 @@ - **netease:program**: 网易云音乐 - 电台节目 - **netease:singer**: 网易云音乐 - 歌手 - **netease:song**: 网易云音乐 + - **NetPlus** - **Netzkino** - **Newgrounds** - **NewgroundsPlaylist** @@ -626,6 +635,7 @@ - **orf:iptv**: iptv.ORF.at - **orf:oe1**: Radio Österreich 1 - **orf:tvthek**: ORF TVthek + - **OsnatelTV** - **PacktPub** - **PacktPubCourse** - **PandaTV**: 熊猫TV @@ -686,6 +696,7 @@ - **qqmusic:playlist**: QQ音乐 - 歌单 - **qqmusic:singer**: QQ音乐 - 歌手 - **qqmusic:toplist**: QQ音乐 - 排行榜 + - **QuantumTV** - **Quickline** - **QuicklineLive** - **R7** @@ -753,6 +764,7 @@ - **safari**: safaribooksonline.com online video - **safari:api** - **safari:course**: safaribooksonline.com online courses + - **SAKTV** - **Sapo**: SAPO Vídeos - **savefrom.net** - **SBS**: sbs.com.au @@ -808,7 +820,7 @@ - **Spiegeltv** - **sport.francetvinfo.fr** - **Sport5** - - **SportBoxEmbed** + - **SportBox** - **SportDeutschland** - **SpringboardPlatform** - **Sprout** @@ -899,7 +911,6 @@ - **TV2** - **tv2.hu** - **TV2Article** - - **TV3** - **TV4**: tv4.se and tv4play.se - **TV5MondePlus**: TV5MONDE+ - **TVA** @@ -921,6 +932,7 @@ - **TVPlayer** - **TVPlayHome** - **Tweakers** + - **TwitCasting** - **twitch:chapter** - **twitch:clips** - **twitch:profile** @@ -1035,12 +1047,14 @@ - **vrv** - **vrv:series** - **VShare** + - **VTXTV** - **vube**: Vube.com - **VuClip** - **VVVVID** - **VyboryMos** - **Vzaar** - **Walla** + - **WalyTV** - **washingtonpost** - **washingtonpost:article** - **wat.tv** diff --git a/test/helper.py b/test/helper.py index dfee217..aa9a1c9 100644 --- a/test/helper.py +++ b/test/helper.py @@ -7,6 +7,7 @@ import json import os.path import re import types +import ssl import sys import youtube_dl.extractor @@ -244,3 +245,12 @@ def expect_warnings(ydl, warnings_re): real_warning(w) ydl.report_warning = _report_warning + + +def http_server_port(httpd): + if os.name == 'java' and isinstance(httpd.socket, ssl.SSLSocket): + # In Jython SSLSocket is not a subclass of socket.socket + sock = httpd.socket.sock + else: + sock = httpd.socket + return sock.getsockname()[1] diff --git a/test/test_InfoExtractor.py b/test/test_InfoExtractor.py index 4833396..06be726 100644 --- a/test/test_InfoExtractor.py +++ b/test/test_InfoExtractor.py @@ -9,11 +9,30 @@ import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import FakeYDL, expect_dict, expect_value -from youtube_dl.compat import compat_etree_fromstring +from test.helper import FakeYDL, expect_dict, expect_value, http_server_port +from youtube_dl.compat import compat_etree_fromstring, compat_http_server from youtube_dl.extractor.common import InfoExtractor from youtube_dl.extractor import YoutubeIE, get_info_extractor from youtube_dl.utils import encode_data_uri, strip_jsonp, ExtractorError, RegexNotFoundError +import threading + + +TEAPOT_RESPONSE_STATUS = 418 +TEAPOT_RESPONSE_BODY = "

418 I'm a teapot

" + + +class InfoExtractorTestRequestHandler(compat_http_server.BaseHTTPRequestHandler): + def log_message(self, format, *args): + pass + + def do_GET(self): + if self.path == '/teapot': + self.send_response(TEAPOT_RESPONSE_STATUS) + self.send_header('Content-Type', 'text/html; charset=utf-8') + self.end_headers() + self.wfile.write(TEAPOT_RESPONSE_BODY.encode()) + else: + assert False class TestIE(InfoExtractor): @@ -743,6 +762,25 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/ for i in range(len(entries)): expect_dict(self, entries[i], expected_entries[i]) + def test_response_with_expected_status_returns_content(self): + # Checks for mitigations against the effects of + # that affect Python 3.4.1+, which + # manifest as `_download_webpage`, `_download_xml`, `_download_json`, + # or the underlying `_download_webpage_handle` returning no content + # when a response matches `expected_status`. + + httpd = compat_http_server.HTTPServer( + ('127.0.0.1', 0), InfoExtractorTestRequestHandler) + port = http_server_port(httpd) + server_thread = threading.Thread(target=httpd.serve_forever) + server_thread.daemon = True + server_thread.start() + + (content, urlh) = self.ie._download_webpage_handle( + 'http://127.0.0.1:%d/teapot' % port, None, + expected_status=TEAPOT_RESPONSE_STATUS) + self.assertEqual(content, TEAPOT_RESPONSE_BODY) + if __name__ == '__main__': unittest.main() diff --git a/test/test_downloader_http.py b/test/test_downloader_http.py index 5cf2bf1..7504722 100644 --- a/test/test_downloader_http.py +++ b/test/test_downloader_http.py @@ -9,26 +9,16 @@ import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) -from test.helper import try_rm +from test.helper import http_server_port, try_rm from youtube_dl import YoutubeDL from youtube_dl.compat import compat_http_server from youtube_dl.downloader.http import HttpFD from youtube_dl.utils import encodeFilename -import ssl import threading TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -def http_server_port(httpd): - if os.name == 'java' and isinstance(httpd.socket, ssl.SSLSocket): - # In Jython SSLSocket is not a subclass of socket.socket - sock = httpd.socket.sock - else: - sock = httpd.socket - return sock.getsockname()[1] - - TEST_SIZE = 10 * 1024 diff --git a/test/test_http.py b/test/test_http.py index 409fec9..3ee0a5d 100644 --- a/test/test_http.py +++ b/test/test_http.py @@ -8,6 +8,7 @@ import sys import unittest sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) +from test.helper import http_server_port from youtube_dl import YoutubeDL from youtube_dl.compat import compat_http_server, compat_urllib_request import ssl @@ -16,15 +17,6 @@ import threading TEST_DIR = os.path.dirname(os.path.abspath(__file__)) -def http_server_port(httpd): - if os.name == 'java' and isinstance(httpd.socket, ssl.SSLSocket): - # In Jython SSLSocket is not a subclass of socket.socket - sock = httpd.socket.sock - else: - sock = httpd.socket - return sock.getsockname()[1] - - class HTTPTestRequestHandler(compat_http_server.BaseHTTPRequestHandler): def log_message(self, format, *args): pass diff --git a/youtube-dl b/youtube-dl index 8879627e81e648ba6e37e920db3fba323e2ea16d..0bab846a651b32c28ca28948fa6dcb812a6e01c8 100755 GIT binary patch delta 251671 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

bG0P4OprT*&*f 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

Ok>}Ji~Tos&;f}&4ww&%#0>!Q4tF%smO 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

;;JKh1%Foau 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

jTNwhhmw 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
0|w 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

)>IN{WeR+ExBT}mesuIRDD?oN26xq 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 fwqzk~}HB}ldOcnX3#3oI{_O=Tbj2xa$!(-bN zR|6cp{s3HQK(Ol%90eMib*a-1+qnb23#fWa^QJL36Irr{nTp-CMUFhCWB$!@W3{5t z)RgI10lZogJeiJ#2ba~ACGImYuhTjaY@dNAx160vRc1I73$RfSDu|c~tI54N*s+H* z@woU7;Sea?98DI9QIfA-Yvve*sva?BhD`9?pToU2bp~Cw#uoKSfrSZ)VBH;`W?9iQ&(AHp%Av!m{&Ig6d3-O~x^<}(uIhnbeo15~>5>Mf$ zDXX;zJ6z;^si}76<%`Y|Dqd+<{iL_dip=iLN6)3TIf$&q0<1!RHXmUZd)>I(i2VPEQEK@I&vjINDrlw6|>A$ z%=r;U;r1eQvL%esj7#uU+H(AatZ|hS?tvv_o47<8Bq&xAsFq?f{)#0C+iq^o#y)^cDNE5){92Nq zaGTT(1fI+AAe~Ppa5(~J4=#hVKX#I$T#h`(>?4@89JXf<5;$KrH)hY4!`9<(QubX# z?Zw^koyFd}=Bg^!_rYh$B$lyRW-XJQ=vw{$ zbO9zTAK9@hv84>aB;;^sC5CV=rXGjkU(tBwYCdii8ejUFrlaXFv;WBp<}nP97LA24o8f46FF#E zi}h%#(G(7$!mDT!4dbx@)tXB%ay@do`y{4BVmz9xv5@568<3Fa@sg9B@@s{|iW)Lm zr*74s{0?mHdMv4J89LM^vUvtQ1%lv>$olhZ1m@4-Y34?>GVdl=MhRy# zsbuvgLk#IzxhN`LG?)~zX+u1;dh`tJ6b0BRs{Zoe$6{_4B4n)O zpBfgh&C-%C9*6G6O{qP*vkTdd-Hnkk-9XK6+HYwVpNh_{w~{b46_0s93PI6nOEZ?m zi~aVJ(r6DVhwUeb-Ge1?;9mq^_u!CnpLwOCurMc7na7% zWgl8xd50@w1@i|~f6II1;U_OS^^_Ff&zLoVX;3b`B;{n9)K^&khCnJubd|@$5&Mzh z1BE1e$gNat%YM}A@QIYb16Ulh46TgWvT}@v^8r|Q{rYd2zc8$fpg?6+x&J${AKb>Y zoaCkl5p!o1^ZE+|xb`5T(O43EJ%~BfOhYi}5Z0RzdxF!4kVcc11RH(fQs_U}b_e@g zRb62}wjq-_{xC^646nC(a7D|$9Y#k7I&&B!jPvE65({ zZY5}SQtFNqZr*VOmUt2c1NTtD(eqXobOdRC3VsEokt-3WV3Tl&;QlE*U8B+o(jTHi z#4${f@YAT!_X^3$r{SjG4Fcf|qIz_j<()-{A!jhi!=DgjoPk*vT&eI9*Rv=IenD{V zyOn|^okeJQZ@Cg8eEdKqJ@jjsvq|Sr5?w;djdM~z!TuXTl&Xd)Z6xE;;ZRrw$(z%0 zDX~D4^05=XJT7*tzBT0u?9h3nx1*+pAu~CT#%EY^#g64PsG(pHTzO#2l^~%|q7s)2 z@OOVrf{hmtqtt+4ZpRu*W^xgA<~oxy_9AlD&y5|rh)9OEA+g0J%+~Skbq!p?U|sOw zAjMzC-^t#Uf3uLwXt|{i2a(;ljCRKMAZUCAFdA<%H{kiID^g3X-u4BSPjDRj>{b0Z zR^E@yO0U4_7UKv4uc99zoZ!k;-cJNU<7;p&Cz4?GHL1UF?GJ+A*O2VXI0W-f!>_}v z=^TQr>zJ><=5ZJ!bXZ0{Cf`68xhn|_Zo=UwaRjS&*U-QA0qg53qH6VCkVU^v*6PNmv3VeR-7kr&A_@_{|W)i!0!Z3 zMm%iP2WLzRyn$9-0LreD*^dk~ot!~1A`|&3yhm_86D0u;2$V%|xoH+|f9tcn3@qi# zvQRo9pGrSup`K?ULGL>#iTOm($kQzTp*xt94-w@yTvT(Lj}OuAwP1pN+3=zE zM5gx$@dwUF*3M$9zm=V_d2({ZM)I#n_ca~IWY z}C`$5ps%Ep}k+RTX=t8J?8r`8o@ z(o}7uV!Ly3E2Jm4VR^xVEwi(;!Rv4yBz+5=RI>r3%9DCR9&VW4+t{#q{cY6jRvs>^ zCfVs|MROZt*8T-5HmFr8i7fsF51~HGeIW(P=QP!+!(QS(ZB8p4oqLIEs@WYX$$?*z zc*><7m8511UZG4mL`Sb*VJ(Ro&f;EU*t)$2gobkn7G#n9Q^U;OU@R|8C&*cCqhL{Q zkobeqq}*O-V?p0xo4&suJMpHE8aTcq*DA_9wi!1!2#>G@bp1J@AD zPDNe{^HH&7JSpAZ!K?2Z3HH51^cRu|EDBI!yO&@J2h9Nv61&e~IaXwt7N22YNwx~M=QENabQm(E4ClDIwW}|o z3uDPvzXajjNgxD+!I#`4(8e7$omcH zaL)W!F<=ee*_zXrN{vfV)gHSPZ*gQPA}@MEaE`;d0s_Y}%-qYx1gDj1OO{ZEM)k@_ z`Ba8bmS7*^t;`YCrY!I~iVx~Bw_i|Be23e^4G8RhVB&?D5XAhzQDK4^!3SQl)|R06 zPjr9Qo`c8^b6Dd@u&kY0_XCD*<#4{D4#~61;o|hB1Q9;);bS>`sA$iXAVK5JKP8s- z3!OCgC$q+5)k>!Q4KsYlS=p241ho;H!00IAY?M9>lClV{>ch8y#{|v>8egIAGlH6>NaPj+jgwZZ?Hm|{AC!I*s{g#@ zQV!Xk{f>Alf0@aSWN&QJ_w@NdykD zqJqULkOcK?u8b1uEM#+yHFm7G5wb2WB{*)R=_lM=NzlMpGf+4i%OONa+d<;e3u5Ju q8a##IU8GDFL9PDgPgo*JoM) diff --git a/youtube-dl.1 b/youtube-dl.1 index 61ee72f..8ce6630 100644 --- a/youtube-dl.1 +++ b/youtube-dl.1 @@ -1064,6 +1064,11 @@ became available .IP \[bu] 2 \f[C]uploader_id\f[] (string): Nickname or id of the video uploader .IP \[bu] 2 +\f[C]channel\f[] (string): Full name of the channel the video is +uploaded on +.IP \[bu] 2 +\f[C]channel_id\f[] (string): Id of the channel +.IP \[bu] 2 \f[C]location\f[] (string): Physical location where the video was filmed .IP \[bu] 2 \f[C]duration\f[] (numeric): Length of the video in seconds @@ -2328,9 +2333,36 @@ title\ =\ self._search_regex( .fi .SS Use safe conversion functions .PP -Wrap all extracted numeric data into safe functions from \f[C]utils\f[]: +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]int_or_none\f[], \f[C]float_or_none\f[]. Use them for string to number conversions as well. +.PP +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 +Explore +\f[C]youtube_dl/utils.py\f[] (https://github.com/rg3/youtube-dl/blob/master/youtube_dl/utils.py) +for more useful convenience functions. +.SS More examples +.SS Safely extract optional description from parsed JSON +.IP +.nf +\f[C] +description\ =\ try_get(response,\ lambda\ x:\ x[\[aq]result\[aq]][\[aq]video\[aq]][0][\[aq]summary\[aq]],\ compat_str) +\f[] +.fi +.SS Safely extract more optional metadata +.IP +.nf +\f[C] +video\ =\ try_get(response,\ lambda\ x:\ x[\[aq]result\[aq]][\[aq]video\[aq]][0],\ dict)\ or\ {} +description\ =\ video.get(\[aq]summary\[aq]) +duration\ =\ float_or_none(video.get(\[aq]durationMs\[aq]),\ scale=1000) +view_count\ =\ int_or_none(video.get(\[aq]views\[aq])) +\f[] +.fi .SH EMBEDDING YOUTUBE\-DL .PP youtube\-dl makes the best effort to be a good command\-line program, diff --git a/youtube_dl/extractor/adobepass.py b/youtube_dl/extractor/adobepass.py index b83b51e..1cf2dcb 100644 --- a/youtube_dl/extractor/adobepass.py +++ b/youtube_dl/extractor/adobepass.py @@ -1325,8 +1325,8 @@ class AdobePassIE(InfoExtractor): _DOWNLOADING_LOGIN_PAGE = 'Downloading Provider Login Page' def _download_webpage_handle(self, *args, **kwargs): - headers = kwargs.get('headers', {}) - headers.update(self.geo_verification_headers()) + headers = self.geo_verification_headers() + headers.update(kwargs.get('headers', {})) kwargs['headers'] = headers return super(AdobePassIE, self)._download_webpage_handle( *args, **compat_kwargs(kwargs)) diff --git a/youtube_dl/extractor/aparat.py b/youtube_dl/extractor/aparat.py index 6eb8bbb..883dcee 100644 --- a/youtube_dl/extractor/aparat.py +++ b/youtube_dl/extractor/aparat.py @@ -4,6 +4,7 @@ from __future__ import unicode_literals from .common import InfoExtractor from ..utils import ( int_or_none, + merge_dicts, mimetype2ext, url_or_none, ) @@ -12,59 +13,83 @@ from ..utils import ( class AparatIE(InfoExtractor): _VALID_URL = r'https?://(?:www\.)?aparat\.com/(?:v/|video/video/embed/videohash/)(?P[a-zA-Z0-9]+)' - _TEST = { + _TESTS = [{ 'url': 'http://www.aparat.com/v/wP8On', 'md5': '131aca2e14fe7c4dcb3c4877ba300c89', 'info_dict': { 'id': 'wP8On', 'ext': 'mp4', 'title': 'تیم گلکسی 11 - زومیت', - 'age_limit': 0, + 'description': 'md5:096bdabcdcc4569f2b8a5e903a3b3028', + 'duration': 231, + 'timestamp': 1387394859, + 'upload_date': '20131218', + 'view_count': int, }, - # 'skip': 'Extremely unreliable', - } + }, { + # multiple formats + 'url': 'https://www.aparat.com/v/8dflw/', + 'only_matching': True, + }] def _real_extract(self, url): video_id = self._match_id(url) - # Note: There is an easier-to-parse configuration at - # http://www.aparat.com/video/video/config/videohash/%video_id - # but the URL in there does not work - webpage = self._download_webpage( - 'http://www.aparat.com/video/video/embed/vt/frame/showvideo/yes/videohash/' + video_id, - video_id) + # Provides more metadata + webpage = self._download_webpage(url, video_id, fatal=False) - title = self._search_regex(r'\s+title:\s*"([^"]+)"', webpage, 'title') + if not webpage: + # Note: There is an easier-to-parse configuration at + # http://www.aparat.com/video/video/config/videohash/%video_id + # but the URL in there does not work + webpage = self._download_webpage( + 'http://www.aparat.com/video/video/embed/vt/frame/showvideo/yes/videohash/' + video_id, + video_id) - file_list = self._parse_json( + options = self._parse_json( self._search_regex( - r'fileList\s*=\s*JSON\.parse\(\'([^\']+)\'\)', webpage, - 'file list'), + r'options\s*=\s*JSON\.parse\(\s*(["\'])(?P(?:(?!\1).)+)\1\s*\)', + webpage, 'options', group='value'), video_id) + player = options['plugins']['sabaPlayerPlugin'] + formats = [] - for item in file_list[0]: - file_url = url_or_none(item.get('file')) - if not file_url: - continue - ext = mimetype2ext(item.get('type')) - label = item.get('label') - formats.append({ - 'url': file_url, - 'ext': ext, - 'format_id': label or ext, - 'height': int_or_none(self._search_regex( - r'(\d+)[pP]', label or '', 'height', default=None)), - }) - self._sort_formats(formats) + for sources in player['multiSRC']: + for item in sources: + if not isinstance(item, dict): + continue + file_url = url_or_none(item.get('src')) + if not file_url: + continue + item_type = item.get('type') + if item_type == 'application/vnd.apple.mpegurl': + formats.extend(self._extract_m3u8_formats( + file_url, video_id, 'mp4', + entry_protocol='m3u8_native', m3u8_id='hls', + fatal=False)) + else: + ext = mimetype2ext(item.get('type')) + label = item.get('label') + formats.append({ + 'url': file_url, + 'ext': ext, + 'format_id': 'http-%s' % (label or ext), + 'height': int_or_none(self._search_regex( + r'(\d+)[pP]', label or '', 'height', + default=None)), + }) + self._sort_formats( + formats, field_preference=('height', 'width', 'tbr', 'format_id')) + + info = self._search_json_ld(webpage, video_id, default={}) - thumbnail = self._search_regex( - r'image:\s*"([^"]+)"', webpage, 'thumbnail', fatal=False) + if not info.get('title'): + info['title'] = player['title'] - return { + return merge_dicts(info, { 'id': video_id, - 'title': title, - 'thumbnail': thumbnail, - 'age_limit': self._family_friendly_search(webpage), + 'thumbnail': url_or_none(options.get('poster')), + 'duration': int_or_none(player.get('duration')), 'formats': formats, - } + }) diff --git a/youtube_dl/extractor/asiancrush.py b/youtube_dl/extractor/asiancrush.py index 594c88c..6d71c5a 100644 --- a/youtube_dl/extractor/asiancrush.py +++ b/youtube_dl/extractor/asiancrush.py @@ -8,7 +8,6 @@ from .kaltura import KalturaIE from ..utils import ( extract_attributes, remove_end, - urlencode_postdata, ) @@ -34,19 +33,40 @@ class AsianCrushIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - data = self._download_json( - 'https://www.asiancrush.com/wp-admin/admin-ajax.php', video_id, - data=urlencode_postdata({ - 'postid': video_id, - 'action': 'get_channel_kaltura_vars', - })) + webpage = self._download_webpage(url, video_id) - entry_id = data['entry_id'] + entry_id, partner_id, title = [None] * 3 + + vars = self._parse_json( + self._search_regex( + r'iEmbedVars\s*=\s*({.+?})', webpage, 'embed vars', + default='{}'), video_id, fatal=False) + if vars: + entry_id = vars.get('entry_id') + partner_id = vars.get('partner_id') + title = vars.get('vid_label') + + if not entry_id: + entry_id = self._search_regex( + r'\bentry_id["\']\s*:\s*["\'](\d+)', webpage, 'entry id') + + player = self._download_webpage( + 'https://api.asiancrush.com/embeddedVideoPlayer', video_id, + query={'id': entry_id}) + + kaltura_id = self._search_regex( + r'entry_id["\']\s*:\s*(["\'])(?P(?:(?!\1).)+)\1', player, + 'kaltura id', group='id') + + if not partner_id: + partner_id = self._search_regex( + r'/p(?:artner_id)?/(\d+)', player, 'partner id', + default='513551') return self.url_result( - 'kaltura:%s:%s' % (data['partner_id'], entry_id), - ie=KalturaIE.ie_key(), video_id=entry_id, - video_title=data.get('vid_label')) + 'kaltura:%s:%s' % (partner_id, kaltura_id), + ie=KalturaIE.ie_key(), video_id=kaltura_id, + video_title=title) class AsianCrushPlaylistIE(InfoExtractor): diff --git a/youtube_dl/extractor/azmedien.py b/youtube_dl/extractor/azmedien.py index 68f26e2..a57a5f1 100644 --- a/youtube_dl/extractor/azmedien.py +++ b/youtube_dl/extractor/azmedien.py @@ -1,213 +1,90 @@ # coding: utf-8 from __future__ import unicode_literals +import json import re from .common import InfoExtractor from .kaltura import KalturaIE -from ..utils import ( - get_element_by_class, - get_element_by_id, - strip_or_none, - urljoin, -) -class AZMedienBaseIE(InfoExtractor): - def _kaltura_video(self, partner_id, entry_id): - return self.url_result( - 'kaltura:%s:%s' % (partner_id, entry_id), ie=KalturaIE.ie_key(), - video_id=entry_id) - - -class AZMedienIE(AZMedienBaseIE): +class AZMedienIE(InfoExtractor): IE_DESC = 'AZ Medien videos' _VALID_URL = r'''(?x) https?:// (?:www\.)? - (?: + (?P telezueri\.ch| telebaern\.tv| telem1\.ch )/ - [0-9]+-show-[^/\#]+ - (?: - /[0-9]+-episode-[^/\#]+ - (?: - /[0-9]+-segment-(?:[^/\#]+\#)?| - \# - )| - \# + [^/]+/ + (?P + [^/]+-(?P\d+) ) - (?P[^\#]+) + (?: + \#video= + (?P + [_0-9a-z]+ + ) + )? ''' _TESTS = [{ - # URL with 'segment' - 'url': 'http://www.telezueri.ch/62-show-zuerinews/13772-episode-sonntag-18-dezember-2016/32419-segment-massenabweisungen-beim-hiltl-club-wegen-pelzboom', + 'url': 'https://www.telezueri.ch/sonntalk/bundesrats-vakanzen-eu-rahmenabkommen-133214569', 'info_dict': { - 'id': '1_2444peh4', + 'id': '1_anruz3wy', 'ext': 'mp4', - 'title': 'Massenabweisungen beim Hiltl Club wegen Pelzboom', - 'description': 'md5:9ea9dd1b159ad65b36ddcf7f0d7c76a8', - 'uploader_id': 'TeleZ?ri', - 'upload_date': '20161218', - 'timestamp': 1482084490, + 'title': 'Bundesrats-Vakanzen / EU-Rahmenabkommen', + 'description': 'md5:dd9f96751ec9c35e409a698a328402f3', + 'uploader_id': 'TVOnline', + 'upload_date': '20180930', + 'timestamp': 1538328802, }, 'params': { 'skip_download': True, }, }, { - # URL with 'segment' and fragment: - 'url': 'http://www.telebaern.tv/118-show-news/14240-episode-dienstag-17-januar-2017/33666-segment-achtung-gefahr#zu-wenig-pflegerinnen-und-pfleger', - 'only_matching': True - }, { - # URL with 'episode' and fragment: - 'url': 'http://www.telem1.ch/47-show-sonntalk/13986-episode-soldaten-fuer-grenzschutz-energiestrategie-obama-bilanz#soldaten-fuer-grenzschutz-energiestrategie-obama-bilanz', - 'only_matching': True - }, { - # URL with 'show' and fragment: - 'url': 'http://www.telezueri.ch/66-show-sonntalk#burka-plakate-trump-putin-china-besuch', + 'url': 'https://www.telebaern.tv/telebaern-news/montag-1-oktober-2018-ganze-sendung-133531189#video=0_7xjo9lf1', 'only_matching': True }] - def _real_extract(self, url): - video_id = self._match_id(url) - - webpage = self._download_webpage(url, video_id) - - partner_id = self._search_regex( - r']+src=["\'](?:https?:)?//(?:[^/]+\.)?kaltura\.com(?:/[^/]+)*/(?:p|partner_id)/([0-9]+)', - webpage, 'kaltura partner id') - entry_id = self._html_search_regex( - r']+data-id=(["\'])(?P(?:(?!\1).)+)\1[^>]+data-slug=["\']%s' - % re.escape(video_id), webpage, 'kaltura entry id', group='id') - - return self._kaltura_video(partner_id, entry_id) - - -class AZMedienPlaylistIE(AZMedienBaseIE): - IE_DESC = 'AZ Medien playlists' - _VALID_URL = r'''(?x) - https?:// - (?:www\.)? - (?: - telezueri\.ch| - telebaern\.tv| - telem1\.ch - )/ - (?P[0-9]+- - (?: - show| - topic| - themen - )-[^/\#]+ - (?: - /[0-9]+-episode-[^/\#]+ - )? - )$ - ''' - - _TESTS = [{ - # URL with 'episode' - 'url': 'http://www.telebaern.tv/118-show-news/13735-episode-donnerstag-15-dezember-2016', - 'info_dict': { - 'id': '118-show-news/13735-episode-donnerstag-15-dezember-2016', - 'title': 'News - Donnerstag, 15. Dezember 2016', - }, - 'playlist_count': 9, - }, { - # URL with 'themen' - 'url': 'http://www.telem1.ch/258-themen-tele-m1-classics', - 'info_dict': { - 'id': '258-themen-tele-m1-classics', - 'title': 'Tele M1 Classics', - }, - 'playlist_mincount': 15, - }, { - # URL with 'topic', contains nested playlists - 'url': 'http://www.telezueri.ch/219-topic-aera-trump-hat-offiziell-begonnen', - 'only_matching': True, - }, { - # URL with 'show' only - 'url': 'http://www.telezueri.ch/86-show-talktaeglich', - 'only_matching': True - }] + _PARTNER_ID = '1719221' def _real_extract(self, url): - show_id = self._match_id(url) - webpage = self._download_webpage(url, show_id) - - entries = [] - - partner_id = self._search_regex( - r'src=["\'](?:https?:)?//(?:[^/]+\.)kaltura\.com/(?:[^/]+/)*(?:p|partner_id)/(\d+)', - webpage, 'kaltura partner id', default=None) - - if partner_id: - entries = [ - self._kaltura_video(partner_id, m.group('id')) - for m in re.finditer( - r'data-id=(["\'])(?P(?:(?!\1).)+)\1', webpage)] - - if not entries: - entries = [ - self.url_result(m.group('url'), ie=AZMedienIE.ie_key()) - for m in re.finditer( - r']+data-real=(["\'])(?Phttp.+?)\1', webpage)] - - if not entries: - entries = [ - # May contain nested playlists (e.g. [1]) thus no explicit - # ie_key - # 1. http://www.telezueri.ch/219-topic-aera-trump-hat-offiziell-begonnen) - self.url_result(urljoin(url, m.group('url'))) - for m in re.finditer( - r']+name=[^>]+href=(["\'])(?P/.+?)\1', webpage)] - - title = self._search_regex( - r'episodeShareTitle\s*=\s*(["\'])(?P(?:(?!\1).)+)\1', - webpage, 'title', - default=strip_or_none(get_element_by_id( - 'video-title', webpage)), group='title') - - return self.playlist_result(entries, show_id, title) - - -class AZMedienShowPlaylistIE(AZMedienBaseIE): - IE_DESC = 'AZ Medien show playlists' - _VALID_URL = r'''(?x) - https?:// - (?:www\.)? - (?: - telezueri\.ch| - telebaern\.tv| - telem1\.ch - )/ - (?: - all-episodes| - alle-episoden - )/ - (?P<id>[^/?#&]+) - ''' + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group('id') + entry_id = mobj.group('kaltura_id') + + if not entry_id: + webpage = self._download_webpage(url, video_id) + api_path = self._search_regex( + r'["\']apiPath["\']\s*:\s*["\']([^"^\']+)["\']', + webpage, 'api path') + api_url = 'https://www.%s%s' % (mobj.group('host'), api_path) + payload = { + 'query': '''query VideoContext($articleId: ID!) { + article: node(id: $articleId) { + ... on Article { + mainAssetRelation { + asset { + ... on VideoAsset { + kalturaId + } + } + } + } + } + }''', + 'variables': {'articleId': 'Article:%s' % mobj.group('article_id')}, + } + json_data = self._download_json( + api_url, video_id, headers={ + 'Content-Type': 'application/json', + }, + data=json.dumps(payload).encode()) + entry_id = json_data['data']['article']['mainAssetRelation']['asset']['kalturaId'] - _TEST = { - 'url': 'http://www.telezueri.ch/all-episodes/astrotalk', - 'info_dict': { - 'id': 'astrotalk', - 'title': 'TeleZüri: AstroTalk - alle episoden', - 'description': 'md5:4c0f7e7d741d906004266e295ceb4a26', - }, - 'playlist_mincount': 13, - } - - def _real_extract(self, url): - playlist_id = self._match_id(url) - webpage = self._download_webpage(url, playlist_id) - episodes = get_element_by_class('search-mobile-box', webpage) - entries = [self.url_result( - urljoin(url, m.group('url'))) for m in re.finditer( - r'<a[^>]+href=(["\'])(?P<url>(?:(?!\1).)+)\1', episodes)] - title = self._og_search_title(webpage, fatal=False) - description = self._og_search_description(webpage) - return self.playlist_result(entries, playlist_id, title, description) + return self.url_result( + 'kaltura:%s:%s' % (self._PARTNER_ID, entry_id), + ie=KalturaIE.ie_key(), video_id=entry_id) diff --git a/youtube_dl/extractor/brightcove.py b/youtube_dl/extractor/brightcove.py index 14f9a14..465ae39 100644 --- a/youtube_dl/extractor/brightcove.py +++ b/youtube_dl/extractor/brightcove.py @@ -1,8 +1,10 @@ # coding: utf-8 from __future__ import unicode_literals -import re +import base64 import json +import re +import struct from .common import InfoExtractor from .adobepass import AdobePassIE @@ -310,6 +312,10 @@ class BrightcoveLegacyIE(InfoExtractor): 'Cannot find playerKey= variable. Did you forget quotes in a shell invocation?', expected=True) + def _brightcove_new_url_result(self, publisher_id, video_id): + brightcove_new_url = 'http://players.brightcove.net/%s/default_default/index.html?videoId=%s' % (publisher_id, video_id) + return self.url_result(brightcove_new_url, BrightcoveNewIE.ie_key(), video_id) + def _get_video_info(self, video_id, query, referer=None): headers = {} linkBase = query.get('linkBaseURL') @@ -323,6 +329,28 @@ class BrightcoveLegacyIE(InfoExtractor): r"<h1>We're sorry.</h1>([\s\n]*<p>.*?</p>)+", webpage, 'error message', default=None) if error_msg is not None: + publisher_id = query.get('publisherId') + if publisher_id and publisher_id[0].isdigit(): + publisher_id = publisher_id[0] + if not publisher_id: + player_key = query.get('playerKey') + if player_key and ',' in player_key[0]: + player_key = player_key[0] + else: + player_id = query.get('playerID') + if player_id and player_id[0].isdigit(): + player_page = self._download_webpage( + 'http://link.brightcove.com/services/player/bcpid' + player_id[0], + video_id, headers=headers, fatal=False) + if player_page: + player_key = self._search_regex( + r'<param\s+name="playerKey"\s+value="([\w~,-]+)"', + player_page, 'player key', fatal=False) + if player_key: + enc_pub_id = player_key.split(',')[1].replace('~', '=') + publisher_id = struct.unpack('>Q', base64.urlsafe_b64decode(enc_pub_id))[0] + if publisher_id: + return self._brightcove_new_url_result(publisher_id, video_id) raise ExtractorError( 'brightcove said: %s' % error_msg, expected=True) @@ -444,8 +472,12 @@ class BrightcoveLegacyIE(InfoExtractor): else: return ad_info - if 'url' not in info and not info.get('formats'): - raise ExtractorError('Unable to extract video url for %s' % video_id) + if not info.get('url') and not info.get('formats'): + uploader_id = info.get('uploader_id') + if uploader_id: + info.update(self._brightcove_new_url_result(uploader_id, video_id)) + else: + raise ExtractorError('Unable to extract video url for %s' % video_id) return info diff --git a/youtube_dl/extractor/cliphunter.py b/youtube_dl/extractor/cliphunter.py index ab651d1..f2ca7a3 100644 --- a/youtube_dl/extractor/cliphunter.py +++ b/youtube_dl/extractor/cliphunter.py @@ -1,19 +1,10 @@ from __future__ import unicode_literals from .common import InfoExtractor -from ..utils import int_or_none - - -_translation_table = { - 'a': 'h', 'd': 'e', 'e': 'v', 'f': 'o', 'g': 'f', 'i': 'd', 'l': 'n', - 'm': 'a', 'n': 'm', 'p': 'u', 'q': 't', 'r': 's', 'v': 'p', 'x': 'r', - 'y': 'l', 'z': 'i', - '$': ':', '&': '.', '(': '=', '^': '&', '=': '/', -} - - -def _decode(s): - return ''.join(_translation_table.get(c, c) for c in s) +from ..utils import ( + int_or_none, + url_or_none, +) class CliphunterIE(InfoExtractor): @@ -60,14 +51,14 @@ class CliphunterIE(InfoExtractor): formats = [] for format_id, f in gexo_files.items(): - video_url = f.get('url') + video_url = url_or_none(f.get('url')) if not video_url: continue fmt = f.get('fmt') height = f.get('h') format_id = '%s_%sp' % (fmt, height) if fmt and height else format_id formats.append({ - 'url': _decode(video_url), + 'url': video_url, 'format_id': format_id, 'width': int_or_none(f.get('w')), 'height': int_or_none(height), diff --git a/youtube_dl/extractor/cnbc.py b/youtube_dl/extractor/cnbc.py index d354d9f..6889b0f 100644 --- a/youtube_dl/extractor/cnbc.py +++ b/youtube_dl/extractor/cnbc.py @@ -1,6 +1,7 @@ # coding: utf-8 from __future__ import unicode_literals + from .common import InfoExtractor from ..utils import smuggle_url @@ -34,3 +35,32 @@ class CNBCIE(InfoExtractor): {'force_smil_url': True}), 'id': video_id, } + + +class CNBCVideoIE(InfoExtractor): + _VALID_URL = r'https?://(?:www\.)?cnbc\.com/video/(?:[^/]+/)+(?P<id>[^./?#&]+)' + _TEST = { + 'url': 'https://www.cnbc.com/video/2018/07/19/trump-i-dont-necessarily-agree-with-raising-rates.html', + 'info_dict': { + 'id': '7000031301', + 'ext': 'mp4', + 'title': "Trump: I don't necessarily agree with raising rates", + 'description': 'md5:878d8f0b4ebb5bb1dda3514b91b49de3', + 'timestamp': 1531958400, + 'upload_date': '20180719', + 'uploader': 'NBCU-CNBC', + }, + 'params': { + 'skip_download': True, + }, + } + + def _real_extract(self, url): + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + video_id = self._search_regex( + r'content_id["\']\s*:\s*["\'](\d+)', webpage, display_id, + 'video id') + return self.url_result( + 'http://video.cnbc.com/gallery/?video=%s' % video_id, + CNBCIE.ie_key()) diff --git a/youtube_dl/extractor/common.py b/youtube_dl/extractor/common.py index b8bbaf8..e5f8136 100644 --- a/youtube_dl/extractor/common.py +++ b/youtube_dl/extractor/common.py @@ -69,6 +69,7 @@ from ..utils import ( update_url_query, urljoin, url_basename, + url_or_none, xpath_element, xpath_text, xpath_with_ns, @@ -211,6 +212,11 @@ class InfoExtractor(object): If not explicitly set, calculated from timestamp. uploader_id: Nickname or id of the video uploader. uploader_url: Full URL to a personal webpage of the video uploader. + channel: Full name of the channel the video is uploaded on. + Note that channel fields may or may not repeat uploader + fields. This depends on a particular extractor. + channel_id: Id of the channel. + channel_url: Full URL to a channel webpage. location: Physical location where the video was filmed. subtitles: The available subtitles as a dictionary in the format {tag: subformats}. "tag" is usually a language code, and @@ -600,6 +606,11 @@ class InfoExtractor(object): except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err: if isinstance(err, compat_urllib_error.HTTPError): if self.__can_accept_status_code(err, expected_status): + # Retain reference to error to prevent file object from + # being closed before it can be read. Works around the + # effects of <https://bugs.python.org/issue15002> + # introduced in Python 3.4.1. + err.fp._error = err return err.fp if errnote is False: @@ -1208,10 +1219,10 @@ class InfoExtractor(object): def extract_video_object(e): assert e['@type'] == 'VideoObject' info.update({ - 'url': e.get('contentUrl'), + 'url': url_or_none(e.get('contentUrl')), 'title': unescapeHTML(e.get('name')), 'description': unescapeHTML(e.get('description')), - 'thumbnail': e.get('thumbnailUrl') or e.get('thumbnailURL'), + 'thumbnail': url_or_none(e.get('thumbnailUrl') or e.get('thumbnailURL')), 'duration': parse_duration(e.get('duration')), 'timestamp': unified_timestamp(e.get('uploadDate')), 'filesize': float_or_none(e.get('contentSize')), @@ -1701,9 +1712,9 @@ class InfoExtractor(object): # However, this is not always respected, for example, [2] # contains EXT-X-STREAM-INF tag which references AUDIO # rendition group but does not have CODECS and despite - # referencing audio group an audio group, it represents - # a complete (with audio and video) format. So, for such cases - # we will ignore references to rendition groups and treat them + # referencing an audio group it represents a complete + # (with audio and video) format. So, for such cases we will + # ignore references to rendition groups and treat them # as complete formats. if audio_group_id and codecs and f.get('vcodec') != 'none': audio_group = groups.get(audio_group_id) diff --git a/youtube_dl/extractor/crunchyroll.py b/youtube_dl/extractor/crunchyroll.py index ba8b9fa..4a68d09 100644 --- a/youtube_dl/extractor/crunchyroll.py +++ b/youtube_dl/extractor/crunchyroll.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals import re import json +import xml.etree.ElementTree as etree import zlib from hashlib import sha1 @@ -45,7 +46,7 @@ class CrunchyrollBaseIE(InfoExtractor): data['req'] = 'RpcApi' + method data = compat_urllib_parse_urlencode(data).encode('utf-8') return self._download_xml( - 'http://www.crunchyroll.com/xml/', + 'https://www.crunchyroll.com/xml/', video_id, note, fatal=False, data=data, headers={ 'Content-Type': 'application/x-www-form-urlencoded', }) @@ -398,7 +399,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'Downloading subtitles for ' + sub_name, data={ 'subtitle_script_id': sub_id, }) - if sub_doc is None: + if not isinstance(sub_doc, etree.Element): continue sid = sub_doc.get('id') iv = xpath_text(sub_doc, 'iv', 'subtitle iv') @@ -445,6 +446,10 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text webpage, 'vilos media', default='{}'), video_id) media_metadata = media.get('metadata') or {} + language = self._search_regex( + r'(?:vilos\.config\.player\.language|LOCALE)\s*=\s*(["\'])(?P<lang>(?:(?!\1).)+)\1', + webpage, 'language', default=None, group='lang') + video_title = self._html_search_regex( r'(?s)<h1[^>]*>((?:(?!<h1).)*?<span[^>]+itemprop=["\']title["\'][^>]*>(?:(?!<h1).)+?)</h1>', webpage, 'video_title') @@ -466,9 +471,22 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text formats = [] for stream in media.get('streams', []): - formats.extend(self._extract_vrv_formats( + audio_lang = stream.get('audio_lang') + hardsub_lang = stream.get('hardsub_lang') + vrv_formats = self._extract_vrv_formats( stream.get('url'), video_id, stream.get('format'), - stream.get('audio_lang'), stream.get('hardsub_lang'))) + audio_lang, hardsub_lang) + for f in vrv_formats: + if not hardsub_lang: + f['preference'] = 1 + language_preference = 0 + if audio_lang == language: + language_preference += 1 + if hardsub_lang == language: + language_preference += 1 + if language_preference: + f['language_preference'] = language_preference + formats.extend(vrv_formats) if not formats: available_fmts = [] for a, fmt in re.findall(r'(<a[^>]+token=["\']showmedia\.([0-9]{3,4})p["\'][^>]+>)', webpage): @@ -498,7 +516,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'video_quality': stream_quality, 'current_page': url, }) - if streamdata is not None: + if isinstance(streamdata, etree.Element): stream_info = streamdata.find('./{default}preload/stream_info') if stream_info is not None: stream_infos.append(stream_info) @@ -509,7 +527,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'video_format': stream_format, 'video_encode_quality': stream_quality, }) - if stream_info is not None: + if isinstance(stream_info, etree.Element): stream_infos.append(stream_info) for stream_info in stream_infos: video_encode_id = xpath_text(stream_info, './video_encode_id') @@ -557,7 +575,7 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'ext': 'flv', }) formats.append(format_info) - self._sort_formats(formats, ('height', 'width', 'tbr', 'fps')) + self._sort_formats(formats, ('preference', 'language_preference', 'height', 'width', 'tbr', 'fps')) metadata = self._call_rpc_api( 'VideoPlayer_GetMediaMetadata', video_id, @@ -581,10 +599,22 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text series = self._html_search_regex( r'(?s)<h\d[^>]+\bid=["\']showmedia_about_episode_num[^>]+>(.+?)</h\d', webpage, 'series', fatal=False) - season = xpath_text(metadata, 'series_title') - episode = xpath_text(metadata, 'episode_title') or media_metadata.get('title') - episode_number = int_or_none(xpath_text(metadata, 'episode_number') or media_metadata.get('episode_number')) + season = episode = episode_number = duration = thumbnail = None + + if isinstance(metadata, etree.Element): + season = xpath_text(metadata, 'series_title') + episode = xpath_text(metadata, 'episode_title') + episode_number = int_or_none(xpath_text(metadata, 'episode_number')) + duration = float_or_none(media_metadata.get('duration'), 1000) + thumbnail = xpath_text(metadata, 'episode_image_url') + + if not episode: + episode = media_metadata.get('title') + if not episode_number: + episode_number = int_or_none(media_metadata.get('episode_number')) + if not thumbnail: + thumbnail = media_metadata.get('thumbnail', {}).get('url') season_number = int_or_none(self._search_regex( r'(?s)<h\d[^>]+id=["\']showmedia_about_episode_num[^>]+>.+?</h\d>\s*<h4>\s*Season (\d+)', @@ -594,8 +624,8 @@ Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text 'id': video_id, 'title': video_title, 'description': video_description, - 'duration': float_or_none(media_metadata.get('duration'), 1000), - 'thumbnail': xpath_text(metadata, 'episode_image_url') or media_metadata.get('thumbnail', {}).get('url'), + 'duration': duration, + 'thumbnail': thumbnail, 'uploader': video_uploader, 'upload_date': video_upload_date, 'series': series, diff --git a/youtube_dl/extractor/cwtv.py b/youtube_dl/extractor/cwtv.py index 224a1fb..f9bd535 100644 --- a/youtube_dl/extractor/cwtv.py +++ b/youtube_dl/extractor/cwtv.py @@ -3,6 +3,7 @@ from __future__ import unicode_literals from .common import InfoExtractor from ..utils import ( + ExtractorError, int_or_none, parse_age_limit, parse_iso8601, @@ -66,9 +67,12 @@ class CWTVIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - video_data = self._download_json( + data = self._download_json( 'http://images.cwtv.com/feed/mobileapp/video-meta/apiversion_8/guid_' + video_id, - video_id)['video'] + video_id) + if data.get('result') != 'ok': + raise ExtractorError(data['msg'], expected=True) + video_data = data['video'] title = video_data['title'] mpx_url = video_data.get('mpx_url') or 'http://link.theplatform.com/s/cwtv/media/guid/2703454149/%s?formats=M3U' % video_id diff --git a/youtube_dl/extractor/dailymail.py b/youtube_dl/extractor/dailymail.py index af39780..4f75a2a 100644 --- a/youtube_dl/extractor/dailymail.py +++ b/youtube_dl/extractor/dailymail.py @@ -49,6 +49,9 @@ class DailyMailIE(InfoExtractor): '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') + if body: + video_sources = body formats = [] for rendition in video_sources['renditions']: diff --git a/youtube_dl/extractor/dailymotion.py b/youtube_dl/extractor/dailymotion.py index 040f0bd..1816c55 100644 --- a/youtube_dl/extractor/dailymotion.py +++ b/youtube_dl/extractor/dailymotion.py @@ -22,7 +22,10 @@ from ..utils import ( parse_iso8601, sanitized_Request, str_to_int, + try_get, unescapeHTML, + update_url_query, + url_or_none, urlencode_postdata, ) @@ -171,10 +174,25 @@ class DailymotionIE(DailymotionBaseInfoExtractor): r'__PLAYER_CONFIG__\s*=\s*({.+?});'], webpage, 'player v5', default=None) if player_v5: - player = self._parse_json(player_v5, video_id) - metadata = player['metadata'] - - if metadata.get('error', {}).get('type') == 'password_protected': + player = self._parse_json(player_v5, video_id, fatal=False) or {} + metadata = try_get(player, lambda x: x['metadata'], dict) + if not metadata: + metadata_url = url_or_none(try_get( + player, lambda x: x['context']['metadata_template_url1'])) + if metadata_url: + metadata_url = metadata_url.replace(':videoId', video_id) + else: + metadata_url = update_url_query( + 'https://www.dailymotion.com/player/metadata/video/%s' + % video_id, { + 'embedder': url, + 'integration': 'inline', + 'GK_PV5_NEON': '1', + }) + metadata = self._download_json( + metadata_url, video_id, 'Downloading metadata JSON') + + if try_get(metadata, lambda x: x['error']['type']) == 'password_protected': password = self._downloader.params.get('videopassword') if password: r = int(metadata['id'][1:], 36) diff --git a/youtube_dl/extractor/eporner.py b/youtube_dl/extractor/eporner.py index 6d03d70..c050bf9 100644 --- a/youtube_dl/extractor/eporner.py +++ b/youtube_dl/extractor/eporner.py @@ -9,6 +9,7 @@ from ..utils import ( encode_base_n, ExtractorError, int_or_none, + merge_dicts, parse_duration, str_to_int, url_or_none, @@ -25,10 +26,16 @@ class EpornerIE(InfoExtractor): 'display_id': 'Infamous-Tiffany-Teen-Strip-Tease-Video', 'ext': 'mp4', 'title': 'Infamous Tiffany Teen Strip Tease Video', + 'description': 'md5:764f39abf932daafa37485eb46efa152', + 'timestamp': 1232520922, + 'upload_date': '20090121', 'duration': 1838, 'view_count': int, 'age_limit': 18, }, + 'params': { + 'proxy': '127.0.0.1:8118' + } }, { # New (May 2016) URL layout 'url': 'http://www.eporner.com/hd-porn/3YRUtzMcWn0/Star-Wars-XXX-Parody/', @@ -104,12 +111,15 @@ class EpornerIE(InfoExtractor): }) self._sort_formats(formats) - duration = parse_duration(self._html_search_meta('duration', webpage)) + json_ld = self._search_json_ld(webpage, display_id, default={}) + + duration = parse_duration(self._html_search_meta( + 'duration', webpage, default=None)) view_count = str_to_int(self._search_regex( r'id="cinemaviews">\s*([0-9,]+)\s*<small>views', webpage, 'view count', fatal=False)) - return { + return merge_dicts(json_ld, { 'id': video_id, 'display_id': display_id, 'title': title, @@ -117,4 +127,4 @@ class EpornerIE(InfoExtractor): 'view_count': view_count, 'formats': formats, 'age_limit': 18, - } + }) diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index 7dc5697..e5488cc 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -88,11 +88,7 @@ from .awaan import ( AWAANLiveIE, AWAANSeasonIE, ) -from .azmedien import ( - AZMedienIE, - AZMedienPlaylistIE, - AZMedienShowPlaylistIE, -) +from .azmedien import AZMedienIE from .baidu import BaiduVideoIE from .bambuser import BambuserIE, BambuserChannelIE from .bandcamp import BandcampIE, BandcampAlbumIE, BandcampWeeklyIE @@ -209,7 +205,10 @@ from .cloudy import CloudyIE from .clubic import ClubicIE from .clyp import ClypIE from .cmt import CMTIE -from .cnbc import CNBCIE +from .cnbc import ( + CNBCIE, + CNBCVideoIE, +) from .cnn import ( CNNIE, CNNBlogsIE, @@ -540,6 +539,7 @@ from .la7 import LA7IE from .laola1tv import ( Laola1TvEmbedIE, Laola1TvIE, + EHFTVIE, ITTFIE, ) from .lci import LCIIE @@ -569,6 +569,10 @@ from .limelight import ( LimelightChannelListIE, ) from .line import LineTVIE +from .linkedin import ( + LinkedInLearningIE, + LinkedInLearningCourseIE, +) from .litv import LiTVIE from .liveleak import ( LiveLeakIE, @@ -1043,7 +1047,7 @@ from .spike import ( ) from .stitcher import StitcherIE from .sport5 import Sport5IE -from .sportbox import SportBoxEmbedIE +from .sportbox import SportBoxIE from .sportdeutschland import SportDeutschlandIE from .springboardplatform import SpringboardPlatformIE from .sprout import SproutIE @@ -1153,7 +1157,6 @@ from .tv2 import ( TV2ArticleIE, ) from .tv2hu import TV2HuIE -from .tv3 import TV3IE from .tv4 import TV4IE from .tv5mondeplus import TV5MondePlusIE from .tva import TVAIE @@ -1190,6 +1193,7 @@ from .tweakers import TweakersIE from .twentyfourvideo import TwentyFourVideoIE from .twentymin import TwentyMinutenIE from .twentythreevideo import TwentyThreeVideoIE +from .twitcasting import TwitCastingIE from .twitch import ( TwitchVideoIE, TwitchChapterIE, @@ -1455,8 +1459,20 @@ from .youtube import ( from .zapiks import ZapiksIE from .zaq1 import Zaq1IE from .zattoo import ( + BBVTVIE, + EinsUndEinsTVIE, + EWETVIE, + GlattvisionTVIE, + MNetTVIE, + MyVisionTVIE, + NetPlusIE, + OsnatelTVIE, + QuantumTVIE, QuicklineIE, QuicklineLiveIE, + SAKTVIE, + VTXTVIE, + WalyTVIE, ZattooIE, ZattooLiveIE, ) diff --git a/youtube_dl/extractor/facebook.py b/youtube_dl/extractor/facebook.py index 97cfe0f..7495404 100644 --- a/youtube_dl/extractor/facebook.py +++ b/youtube_dl/extractor/facebook.py @@ -57,7 +57,7 @@ class FacebookIE(InfoExtractor): _CHROME_USER_AGENT = 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36' _VIDEO_PAGE_TEMPLATE = 'https://www.facebook.com/video/video.php?v=%s' - _VIDEO_PAGE_TAHOE_TEMPLATE = 'https://www.facebook.com/video/tahoe/async/%s/?chain=true&isvideo=true' + _VIDEO_PAGE_TAHOE_TEMPLATE = 'https://www.facebook.com/video/tahoe/async/%s/?chain=true&isvideo=true&payloadtype=primary' _TESTS = [{ 'url': 'https://www.facebook.com/video.php?v=637842556329505&fref=nf', diff --git a/youtube_dl/extractor/fourtube.py b/youtube_dl/extractor/fourtube.py index ad273a0..a9a1f91 100644 --- a/youtube_dl/extractor/fourtube.py +++ b/youtube_dl/extractor/fourtube.py @@ -3,15 +3,45 @@ from __future__ import unicode_literals import re from .common import InfoExtractor -from ..compat import compat_urlparse +from ..compat import ( + compat_b64decode, + compat_str, + compat_urllib_parse_unquote, + compat_urlparse, +) from ..utils import ( + int_or_none, parse_duration, parse_iso8601, + str_or_none, str_to_int, + try_get, + unified_timestamp, + url_or_none, ) 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)) + + parsed_url = compat_urlparse.urlparse(url) + tokens = self._download_json(token_url, video_id, data=b'', headers={ + 'Origin': '%s://%s' % (parsed_url.scheme, parsed_url.hostname), + 'Referer': url, + }) + formats = [{ + 'url': tokens[format]['token'], + 'format_id': format + 'p', + 'resolution': format + 'p', + 'quality': int(format), + } for format in sources] + self._sort_formats(formats) + return formats + def _real_extract(self, url): mobj = re.match(self._VALID_URL, url) kind, video_id, display_id = mobj.group('kind', 'id', 'display_id') @@ -68,21 +98,7 @@ class FourTubeBaseIE(InfoExtractor): media_id = params[0] sources = ['%s' % p for p in params[2]] - token_url = 'https://tkn.kodicdn.com/{0}/desktop/{1}'.format( - media_id, '+'.join(sources)) - - parsed_url = compat_urlparse.urlparse(url) - tokens = self._download_json(token_url, video_id, data=b'', headers={ - 'Origin': '%s://%s' % (parsed_url.scheme, parsed_url.hostname), - 'Referer': url, - }) - formats = [{ - 'url': tokens[format]['token'], - 'format_id': format + 'p', - 'resolution': format + 'p', - 'quality': int(format), - } for format in sources] - self._sort_formats(formats) + formats = self._extract_formats(url, video_id, media_id, sources) return { 'id': video_id, @@ -164,6 +180,7 @@ class FuxIE(FourTubeBaseIE): class PornTubeIE(FourTubeBaseIE): _VALID_URL = r'https?://(?:(?P<kind>www|m)\.)?porntube\.com/(?:videos/(?P<display_id>[^/]+)_|embed/)(?P<id>\d+)' _URL_TEMPLATE = 'https://www.porntube.com/videos/video_%s' + _TKN_HOST = 'tkn.porntube.com' _TESTS = [{ 'url': 'https://www.porntube.com/videos/teen-couple-doing-anal_7089759', 'info_dict': { @@ -171,13 +188,32 @@ class PornTubeIE(FourTubeBaseIE): 'ext': 'mp4', 'title': 'Teen couple doing anal', 'uploader': 'Alexy', - 'uploader_id': 'Alexy', + 'uploader_id': '91488', 'upload_date': '20150606', 'timestamp': 1433595647, 'duration': 5052, 'view_count': int, 'like_count': int, - 'categories': list, + 'age_limit': 18, + }, + 'params': { + 'skip_download': True, + }, + }, { + 'url': 'https://www.porntube.com/videos/squirting-teen-ballerina-ecg_1331406', + 'info_dict': { + 'id': '1331406', + 'ext': 'mp4', + 'title': 'Squirting Teen Ballerina on ECG', + 'uploader': 'Exploited College Girls', + 'uploader_id': '665', + 'channel': 'Exploited College Girls', + 'channel_id': '665', + 'upload_date': '20130920', + 'timestamp': 1379685485, + 'duration': 851, + 'view_count': int, + 'like_count': int, 'age_limit': 18, }, 'params': { @@ -191,6 +227,55 @@ class PornTubeIE(FourTubeBaseIE): 'only_matching': True, }] + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + video_id, display_id = mobj.group('id', 'display_id') + + webpage = self._download_webpage(url, display_id) + + video = self._parse_json( + self._search_regex( + r'INITIALSTATE\s*=\s*(["\'])(?P<value>(?:(?!\1).)+)\1', + webpage, 'data', group='value'), video_id, + transform_source=lambda x: compat_urllib_parse_unquote( + compat_b64decode(x).decode('utf-8')))['page']['video'] + + title = video['title'] + media_id = video['mediaId'] + sources = [compat_str(e['height']) + for e in video['encodings'] if e.get('height')] + formats = self._extract_formats(url, video_id, media_id, sources) + + thumbnail = url_or_none(video.get('masterThumb')) + uploader = try_get(video, lambda x: x['user']['username'], compat_str) + uploader_id = str_or_none(try_get( + video, lambda x: x['user']['id'], int)) + channel = try_get(video, lambda x: x['channel']['name'], compat_str) + channel_id = str_or_none(try_get( + video, lambda x: x['channel']['id'], int)) + like_count = int_or_none(video.get('likes')) + dislike_count = int_or_none(video.get('dislikes')) + view_count = int_or_none(video.get('playsQty')) + duration = int_or_none(video.get('durationInSeconds')) + timestamp = unified_timestamp(video.get('publishedAt')) + + return { + 'id': video_id, + 'title': title, + 'formats': formats, + 'thumbnail': thumbnail, + 'uploader': uploader or channel, + 'uploader_id': uploader_id or channel_id, + 'channel': channel, + 'channel_id': channel_id, + 'timestamp': timestamp, + 'like_count': like_count, + 'dislike_count': dislike_count, + 'view_count': view_count, + 'duration': duration, + 'age_limit': 18, + } + class PornerBrosIE(FourTubeBaseIE): _VALID_URL = r'https?://(?:(?P<kind>www|m)\.)?pornerbros\.com/(?:videos/(?P<display_id>[^/]+)_|embed/)(?P<id>\d+)' diff --git a/youtube_dl/extractor/generic.py b/youtube_dl/extractor/generic.py index 76ef013..545e033 100644 --- a/youtube_dl/extractor/generic.py +++ b/youtube_dl/extractor/generic.py @@ -47,7 +47,7 @@ from .nbc import NBCSportsVPlayerIE from .ooyala import OoyalaIE from .rutv import RUTVIE from .tvc import TVCIE -from .sportbox import SportBoxEmbedIE +from .sportbox import SportBoxIE from .smotri import SmotriIE from .myvi import MyviIE from .condenast import CondeNastIE @@ -2636,9 +2636,9 @@ class GenericIE(InfoExtractor): return self.url_result(tvc_url, 'TVC') # Look for embedded SportBox player - sportbox_urls = SportBoxEmbedIE._extract_urls(webpage) + sportbox_urls = SportBoxIE._extract_urls(webpage) if sportbox_urls: - return self.playlist_from_matches(sportbox_urls, video_id, video_title, ie='SportBoxEmbed') + return self.playlist_from_matches(sportbox_urls, video_id, video_title, ie=SportBoxIE.ie_key()) # Look for embedded XHamster player xhamster_urls = XHamsterEmbedIE._extract_urls(webpage) @@ -3023,7 +3023,7 @@ class GenericIE(InfoExtractor): wapo_urls, video_id, video_title, ie=WashingtonPostIE.ie_key()) # Look for Mediaset embeds - mediaset_urls = MediasetIE._extract_urls(webpage) + mediaset_urls = MediasetIE._extract_urls(self, webpage) if mediaset_urls: return self.playlist_from_matches( mediaset_urls, video_id, video_title, ie=MediasetIE.ie_key()) diff --git a/youtube_dl/extractor/hotstar.py b/youtube_dl/extractor/hotstar.py index d28af36..bf5717f 100644 --- a/youtube_dl/extractor/hotstar.py +++ b/youtube_dl/extractor/hotstar.py @@ -1,49 +1,55 @@ # coding: utf-8 from __future__ import unicode_literals -import re +import hashlib +import hmac +import time from .common import InfoExtractor -from ..compat import compat_str +from ..compat import compat_HTTPError from ..utils import ( determine_ext, ExtractorError, int_or_none, + try_get, ) class HotStarBaseIE(InfoExtractor): - _GEO_COUNTRIES = ['IN'] - - def _download_json(self, *args, **kwargs): - response = super(HotStarBaseIE, self)._download_json(*args, **kwargs) - if response['resultCode'] != 'OK': - if kwargs.get('fatal'): - raise ExtractorError( - response['errorDescription'], expected=True) - return None - return response['resultObj'] - - def _download_content_info(self, content_id): - return self._download_json( - 'https://account.hotstar.com/AVS/besc', content_id, query={ - 'action': 'GetAggregatedContentDetails', - 'appVersion': '5.0.40', - 'channel': 'PCTV', - 'contentId': content_id, - })['contentInfo'][0] + _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'): + 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={ + 'hotstarauth': auth, + 'x-country-code': 'IN', + 'x-platform-code': 'JIO', + }, query={ + query_name: video_id, + 'tas': 10000, + }) + if response['statusCode'] != 'OK': + raise ExtractorError( + response['body']['message'], expected=True) + return response['body']['results'] class HotStarIE(HotStarBaseIE): + IE_NAME = 'hotstar' _VALID_URL = r'https?://(?:www\.)?hotstar\.com/(?:.+?[/-])?(?P<id>\d{10})' _TESTS = [{ - 'url': 'http://www.hotstar.com/on-air-with-aib--english-1000076273', + 'url': 'https://www.hotstar.com/can-you-not-spread-rumours/1000076273', 'info_dict': { 'id': '1000076273', 'ext': 'mp4', - 'title': 'On Air With AIB', + 'title': 'Can You Not Spread Rumours?', 'description': 'md5:c957d8868e9bc793ccb813691cc4c434', - 'timestamp': 1447227000, + 'timestamp': 1447248600, 'upload_date': '20151111', 'duration': 381, }, @@ -58,47 +64,47 @@ class HotStarIE(HotStarBaseIE): 'url': 'http://www.hotstar.com/1000000515', 'only_matching': True, }] + _GEO_BYPASS = False def _real_extract(self, url): video_id = self._match_id(url) - video_data = self._download_content_info(video_id) + webpage = self._download_webpage(url, video_id) + app_state = self._parse_json(self._search_regex( + r'<script>window\.APP_STATE\s*=\s*({.+?})</script>', + webpage, 'app state'), video_id) + video_data = {} + for v in app_state.values(): + content = try_get(v, lambda x: x['initialState']['contentData']['content'], dict) + if content and content.get('contentId') == video_id: + video_data = content - title = video_data['episodeTitle'] + title = video_data['title'] - if video_data.get('encrypted') == 'Y': + if video_data.get('drmProtected'): raise ExtractorError('This video is DRM protected.', expected=True) formats = [] - for f in ('JIO',): - format_data = self._download_json( - 'http://getcdn.hotstar.com/AVS/besc', - video_id, 'Downloading %s JSON metadata' % f, - fatal=False, query={ - 'action': 'GetCDN', - 'asJson': 'Y', - 'channel': f, - 'id': video_id, - 'type': 'VOD', - }) - if format_data: - format_url = format_data.get('src') - if not format_url: - continue - ext = determine_ext(format_url) - if ext == 'm3u8': - formats.extend(self._extract_m3u8_formats( - format_url, video_id, 'mp4', - m3u8_id='hls', fatal=False)) - elif ext == 'f4m': - # produce broken files - continue - else: - formats.append({ - 'url': format_url, - 'width': int_or_none(format_data.get('width')), - 'height': int_or_none(format_data.get('height')), - }) + format_data = self._call_api('h/v1/play', video_id)['item'] + format_url = format_data['playbackUrl'] + ext = determine_ext(format_url) + if ext == 'm3u8': + try: + formats.extend(self._extract_m3u8_formats( + format_url, video_id, 'mp4', m3u8_id='hls')) + 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')), + }) self._sort_formats(formats) return { @@ -106,57 +112,43 @@ class HotStarIE(HotStarBaseIE): 'title': title, 'description': video_data.get('description'), 'duration': int_or_none(video_data.get('duration')), - 'timestamp': int_or_none(video_data.get('broadcastDate')), + 'timestamp': int_or_none(video_data.get('broadcastDate') or video_data.get('startDate')), 'formats': formats, + 'channel': video_data.get('channelName'), + 'channel_id': video_data.get('channelId'), + 'series': video_data.get('showName'), + 'season': video_data.get('seasonName'), + 'season_number': int_or_none(video_data.get('seasonNo')), + 'season_id': video_data.get('seasonId'), 'episode': title, - 'episode_number': int_or_none(video_data.get('episodeNumber')), - 'series': video_data.get('contentTitle'), + 'episode_number': int_or_none(video_data.get('episodeNo')), } class HotStarPlaylistIE(HotStarBaseIE): IE_NAME = 'hotstar:playlist' - _VALID_URL = r'(?P<url>https?://(?:www\.)?hotstar\.com/tv/[^/]+/(?P<content_id>\d+))/(?P<type>[^/]+)/(?P<id>\d+)' + _VALID_URL = r'https?://(?:www\.)?hotstar\.com/tv/[^/]+/s-\w+/list/[^/]+/t-(?P<id>\w+)' _TESTS = [{ - 'url': 'http://www.hotstar.com/tv/pratidaan/14982/episodes/14812/9993', + 'url': 'https://www.hotstar.com/tv/savdhaan-india/s-26/list/popular-clips/t-3_2_26', 'info_dict': { - 'id': '14812', + 'id': '3_2_26', }, - 'playlist_mincount': 75, + 'playlist_mincount': 20, }, { - 'url': 'http://www.hotstar.com/tv/pratidaan/14982/popular-clips/9998/9998', + 'url': 'https://www.hotstar.com/tv/savdhaan-india/s-26/list/extras/t-2480', 'only_matching': True, }] - _ITEM_TYPES = { - 'episodes': 'EPISODE', - 'popular-clips': 'CLIPS', - } def _real_extract(self, url): - mobj = re.match(self._VALID_URL, url) - base_url = mobj.group('url') - content_id = mobj.group('content_id') - playlist_type = mobj.group('type') - - content_info = self._download_content_info(content_id) - playlist_id = compat_str(content_info['categoryId']) - - collection = self._download_json( - 'https://search.hotstar.com/AVS/besc', playlist_id, query={ - 'action': 'SearchContents', - 'appVersion': '5.0.40', - 'channel': 'PCTV', - 'moreFilters': 'series:%s;' % playlist_id, - 'query': '*', - 'searchOrder': 'last_broadcast_date desc,year desc,title asc', - 'type': self._ITEM_TYPES.get(playlist_type, 'EPISODE'), - }) + playlist_id = self._match_id(url) + + collection = self._call_api('o/v1/tray/find', playlist_id, 'uqId') entries = [ self.url_result( - '%s/_/%s' % (base_url, video['contentId']), + 'https://www.hotstar.com/%s' % video['contentId'], ie=HotStarIE.ie_key(), video_id=video['contentId']) - for video in collection['response']['docs'] + for video in collection['assets']['items'] if video.get('contentId')] return self.playlist_result(entries, playlist_id) diff --git a/youtube_dl/extractor/ivi.py b/youtube_dl/extractor/ivi.py index cb51cef..86c014b 100644 --- a/youtube_dl/extractor/ivi.py +++ b/youtube_dl/extractor/ivi.py @@ -15,7 +15,7 @@ from ..utils import ( class IviIE(InfoExtractor): IE_DESC = 'ivi.ru' IE_NAME = 'ivi' - _VALID_URL = r'https?://(?:www\.)?ivi\.ru/(?:watch/(?:[^/]+/)?|video/player\?.*?videoId=)(?P<id>\d+)' + _VALID_URL = r'https?://(?:www\.)?ivi\.(?:ru|tv)/(?:watch/(?:[^/]+/)?|video/player\?.*?videoId=)(?P<id>\d+)' _GEO_BYPASS = False _GEO_COUNTRIES = ['RU'] @@ -65,7 +65,11 @@ class IviIE(InfoExtractor): 'thumbnail': r're:^https?://.*\.jpg$', }, 'skip': 'Only works from Russia', - } + }, + { + 'url': 'https://www.ivi.tv/watch/33560/', + 'only_matching': True, + }, ] # Sorted by quality diff --git a/youtube_dl/extractor/jamendo.py b/youtube_dl/extractor/jamendo.py index 595d7a5..c218276 100644 --- a/youtube_dl/extractor/jamendo.py +++ b/youtube_dl/extractor/jamendo.py @@ -26,8 +26,15 @@ class JamendoBaseIE(InfoExtractor): class JamendoIE(JamendoBaseIE): - _VALID_URL = r'https?://(?:www\.)?jamendo\.com/track/(?P<id>[0-9]+)/(?P<display_id>[^/?#&]+)' - _TEST = { + _VALID_URL = r'''(?x) + https?:// + (?: + licensing\.jamendo\.com/[^/]+| + (?:www\.)?jamendo\.com + ) + /track/(?P<id>[0-9]+)/(?P<display_id>[^/?#&]+) + ''' + _TESTS = [{ 'url': 'https://www.jamendo.com/track/196219/stories-from-emona-i', 'md5': '6e9e82ed6db98678f171c25a8ed09ffd', 'info_dict': { @@ -40,14 +47,19 @@ class JamendoIE(JamendoBaseIE): 'duration': 210, 'thumbnail': r're:^https?://.*\.jpg' } - } + }, { + 'url': 'https://licensing.jamendo.com/en/track/1496667/energetic-rock', + 'only_matching': True, + }] def _real_extract(self, url): mobj = self._VALID_URL_RE.match(url) track_id = mobj.group('id') display_id = mobj.group('display_id') - webpage = self._download_webpage(url, display_id) + webpage = self._download_webpage( + 'https://www.jamendo.com/track/%s/%s' % (track_id, display_id), + display_id) title, artist, track = self._extract_meta(webpage) diff --git a/youtube_dl/extractor/laola1tv.py b/youtube_dl/extractor/laola1tv.py index c7f8133..fa21736 100644 --- a/youtube_dl/extractor/laola1tv.py +++ b/youtube_dl/extractor/laola1tv.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals import json +import re from .common import InfoExtractor from ..utils import ( @@ -32,7 +33,8 @@ class Laola1TvEmbedIE(InfoExtractor): def _extract_token_url(self, stream_access_url, video_id, data): return self._download_json( - stream_access_url, video_id, headers={ + self._proto_relative_url(stream_access_url, 'https:'), video_id, + headers={ 'Content-Type': 'application/json', }, data=json.dumps(data).encode())['data']['stream-access'][0] @@ -119,9 +121,59 @@ class Laola1TvEmbedIE(InfoExtractor): } -class Laola1TvIE(Laola1TvEmbedIE): +class Laola1TvBaseIE(Laola1TvEmbedIE): + def _extract_video(self, url): + display_id = self._match_id(url) + webpage = self._download_webpage(url, display_id) + + if 'Dieser Livestream ist bereits beendet.' in webpage: + raise ExtractorError('This live stream has already finished.', expected=True) + + conf = self._parse_json(self._search_regex( + r'(?s)conf\s*=\s*({.+?});', webpage, 'conf'), + display_id, + transform_source=lambda s: js_to_json(re.sub(r'shareurl:.+,', '', s))) + video_id = conf['videoid'] + + config = self._download_json(conf['configUrl'], video_id, query={ + 'videoid': video_id, + 'partnerid': conf['partnerid'], + 'language': conf.get('language', ''), + 'portal': conf.get('portalid', ''), + }) + error = config.get('error') + if error: + raise ExtractorError('%s said: %s' % (self.IE_NAME, error), expected=True) + + video_data = config['video'] + title = video_data['title'] + is_live = video_data.get('isLivestream') and video_data.get('isLive') + meta = video_data.get('metaInformation') + sports = meta.get('sports') + categories = sports.split(',') if sports else [] + + token_url = self._extract_token_url( + video_data['streamAccess'], video_id, + video_data['abo']['required']) + + formats = self._extract_formats(token_url, video_id) + + return { + 'id': video_id, + 'display_id': display_id, + 'title': self._live_title(title) if is_live else title, + 'description': video_data.get('description'), + 'thumbnail': video_data.get('image'), + 'categories': categories, + 'formats': formats, + 'is_live': is_live, + } + + +class Laola1TvIE(Laola1TvBaseIE): IE_NAME = 'laola1tv' _VALID_URL = r'https?://(?:www\.)?laola1\.tv/[a-z]+-[a-z]+/[^/]+/(?P<id>[^/?#&]+)' + _TESTS = [{ 'url': 'http://www.laola1.tv/de-de/video/straubing-tigers-koelner-haie/227883.html', 'info_dict': { @@ -169,52 +221,30 @@ class Laola1TvIE(Laola1TvEmbedIE): }] def _real_extract(self, url): - display_id = self._match_id(url) + return self._extract_video(url) - webpage = self._download_webpage(url, display_id) - if 'Dieser Livestream ist bereits beendet.' in webpage: - raise ExtractorError('This live stream has already finished.', expected=True) - - conf = self._parse_json(self._search_regex( - r'(?s)conf\s*=\s*({.+?});', webpage, 'conf'), - display_id, js_to_json) - - video_id = conf['videoid'] - - config = self._download_json(conf['configUrl'], video_id, query={ - 'videoid': video_id, - 'partnerid': conf['partnerid'], - 'language': conf.get('language', ''), - 'portal': conf.get('portalid', ''), - }) - error = config.get('error') - if error: - raise ExtractorError('%s said: %s' % (self.IE_NAME, error), expected=True) - - video_data = config['video'] - title = video_data['title'] - is_live = video_data.get('isLivestream') and video_data.get('isLive') - meta = video_data.get('metaInformation') - sports = meta.get('sports') - categories = sports.split(',') if sports else [] - - token_url = self._extract_token_url( - video_data['streamAccess'], video_id, - video_data['abo']['required']) +class EHFTVIE(Laola1TvBaseIE): + IE_NAME = 'ehftv' + _VALID_URL = r'https?://(?:www\.)?ehftv\.com/[a-z]+(?:-[a-z]+)?/[^/]+/(?P<id>[^/?#&]+)' - formats = self._extract_formats(token_url, video_id) + _TESTS = [{ + 'url': 'https://www.ehftv.com/int/video/paris-saint-germain-handball-pge-vive-kielce/1166761', + 'info_dict': { + 'id': '1166761', + 'display_id': 'paris-saint-germain-handball-pge-vive-kielce', + 'ext': 'mp4', + 'title': 'Paris Saint-Germain Handball - PGE Vive Kielce', + 'is_live': False, + 'categories': ['Handball'], + }, + 'params': { + 'skip_download': True, + }, + }] - return { - 'id': video_id, - 'display_id': display_id, - 'title': self._live_title(title) if is_live else title, - 'description': video_data.get('description'), - 'thumbnail': video_data.get('image'), - 'categories': categories, - 'formats': formats, - 'is_live': is_live, - } + def _real_extract(self, url): + return self._extract_video(url) class ITTFIE(InfoExtractor): diff --git a/youtube_dl/extractor/linkedin.py b/youtube_dl/extractor/linkedin.py new file mode 100644 index 0000000..259fc4c --- /dev/null +++ b/youtube_dl/extractor/linkedin.py @@ -0,0 +1,175 @@ +# coding: utf-8 +from __future__ import unicode_literals + +import re + +from .common import InfoExtractor +from ..utils import ( + ExtractorError, + float_or_none, + int_or_none, + urlencode_postdata, +) + + +class LinkedInLearningBaseIE(InfoExtractor): + _NETRC_MACHINE = 'linkedin' + + def _call_api(self, course_slug, fields, video_slug=None, resolution=None): + query = { + 'courseSlug': course_slug, + 'fields': fields, + 'q': 'slugs', + } + sub = '' + if video_slug: + query.update({ + 'videoSlug': video_slug, + 'resolution': '_%s' % resolution, + }) + sub = ' %dp' % resolution + api_url = 'https://www.linkedin.com/learning-api/detailedCourses' + return self._download_json( + api_url, video_slug, 'Downloading%s JSON metadata' % sub, headers={ + 'Csrf-Token': self._get_cookies(api_url)['JSESSIONID'].value, + }, query=query)['elements'][0] + + def _get_video_id(self, urn, course_slug, video_slug): + 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 _real_initialize(self): + email, password = self._get_login_info() + if email is None: + return + + login_page = self._download_webpage( + 'https://www.linkedin.com/uas/login?trk=learning', + None, 'Downloading login page') + action_url = self._search_regex( + r'<form[^>]+action=(["\'])(?P<url>.+?)\1', login_page, 'post url', + default='https://www.linkedin.com/uas/login-submit', group='url') + data = self._hidden_inputs(login_page) + data.update({ + 'session_key': email, + 'session_password': password, + }) + login_submit_page = self._download_webpage( + action_url, None, 'Logging in', + data=urlencode_postdata(data)) + error = self._search_regex( + r'<span[^>]+class="error"[^>]*>\s*(.+?)\s*</span>', + login_submit_page, 'error', default=None) + if error: + raise ExtractorError(error, expected=True) + + +class LinkedInLearningIE(LinkedInLearningBaseIE): + IE_NAME = 'linkedin:learning' + _VALID_URL = r'https?://(?:www\.)?linkedin\.com/learning/(?P<course_slug>[^/]+)/(?P<id>[^/?#]+)' + _TEST = { + 'url': 'https://www.linkedin.com/learning/programming-foundations-fundamentals/welcome?autoplay=true', + 'md5': 'a1d74422ff0d5e66a792deb996693167', + 'info_dict': { + 'id': '90426', + 'ext': 'mp4', + 'title': 'Welcome', + 'timestamp': 1430396150.82, + 'upload_date': '20150430', + }, + } + + def _real_extract(self, url): + course_slug, video_slug = re.match(self._VALID_URL, url).groups() + + video_data = None + formats = [] + for width, height in ((640, 360), (960, 540), (1280, 720)): + video_data = self._call_api( + course_slug, 'selectedVideo', video_slug, height)['selectedVideo'] + + video_url_data = video_data.get('url') or {} + progressive_url = video_url_data.get('progressiveUrl') + if progressive_url: + formats.append({ + 'format_id': 'progressive-%dp' % height, + 'url': progressive_url, + 'height': height, + 'width': width, + 'source_preference': 1, + }) + + title = video_data['title'] + + audio_url = video_data.get('audio', {}).get('progressiveUrl') + if audio_url: + formats.append({ + 'abr': 64, + 'ext': 'm4a', + 'format_id': 'audio', + 'url': audio_url, + 'vcodec': 'none', + }) + + streaming_url = video_url_data.get('streamingUrl') + if streaming_url: + formats.extend(self._extract_m3u8_formats( + streaming_url, video_slug, 'mp4', + 'm3u8_native', m3u8_id='hls', fatal=False)) + + self._sort_formats(formats, ('width', 'height', 'source_preference', 'tbr', 'abr')) + + return { + 'id': self._get_video_id(video_data.get('urn'), course_slug, video_slug), + 'title': title, + 'formats': formats, + 'thumbnail': video_data.get('defaultThumbnail'), + 'timestamp': float_or_none(video_data.get('publishedOn'), 1000), + 'duration': int_or_none(video_data.get('durationInSeconds')), + } + + +class LinkedInLearningCourseIE(LinkedInLearningBaseIE): + IE_NAME = 'linkedin:learning:course' + _VALID_URL = r'https?://(?:www\.)?linkedin\.com/learning/(?P<id>[^/?#]+)' + _TEST = { + 'url': 'https://www.linkedin.com/learning/programming-foundations-fundamentals', + 'info_dict': { + 'id': 'programming-foundations-fundamentals', + 'title': 'Programming Foundations: Fundamentals', + 'description': 'md5:76e580b017694eb89dc8e8923fff5c86', + }, + 'playlist_mincount': 61, + } + + @classmethod + def suitable(cls, url): + return False if LinkedInLearningIE.suitable(url) else super(LinkedInLearningCourseIE, cls).suitable(url) + + def _real_extract(self, url): + course_slug = self._match_id(url) + course_data = self._call_api(course_slug, 'chapters,description,title') + + entries = [] + for chapter in course_data.get('chapters', []): + chapter_title = chapter.get('title') + 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), + 'title': video.get('title'), + 'url': 'https://www.linkedin.com/learning/%s/%s' % (course_slug, video_slug), + 'chapter': chapter_title, + 'ie_key': LinkedInLearningIE.ie_key(), + }) + + return self.playlist_result( + entries, course_slug, + course_data.get('title'), + course_data.get('description')) diff --git a/youtube_dl/extractor/mediaset.py b/youtube_dl/extractor/mediaset.py index 57f9740..df37487 100644 --- a/youtube_dl/extractor/mediaset.py +++ b/youtube_dl/extractor/mediaset.py @@ -4,6 +4,11 @@ from __future__ import unicode_literals import re from .theplatform import ThePlatformBaseIE +from ..compat import ( + compat_parse_qs, + compat_str, + compat_urllib_parse_urlparse, +) from ..utils import ( ExtractorError, int_or_none, @@ -76,12 +81,33 @@ class MediasetIE(ThePlatformBaseIE): }] @staticmethod - def _extract_urls(webpage): - return [ - mobj.group('url') - for mobj in re.finditer( - r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>https?://(?:www\.)?video\.mediaset\.it/player/playerIFrame(?:Twitter)?\.shtml\?.*?\bid=\d+.*?)\1', - webpage)] + def _extract_urls(ie, webpage): + def _qs(url): + return compat_parse_qs(compat_urllib_parse_urlparse(url).query) + + def _program_guid(qs): + return qs.get('programGuid', [None])[0] + + entries = [] + for mobj in re.finditer( + r'<iframe\b[^>]+\bsrc=(["\'])(?P<url>(?:https?:)?//(?:www\.)?video\.mediaset\.it/player/playerIFrame(?:Twitter)?\.shtml.*?)\1', + webpage): + embed_url = mobj.group('url') + embed_qs = _qs(embed_url) + program_guid = _program_guid(embed_qs) + if program_guid: + entries.append(embed_url) + continue + video_id = embed_qs.get('id', [None])[0] + if not video_id: + continue + urlh = ie._request_webpage( + embed_url, video_id, note='Following embed URL redirect') + embed_url = compat_str(urlh.geturl()) + program_guid = _program_guid(_qs(embed_url)) + if program_guid: + entries.append(embed_url) + return entries def _real_extract(self, url): guid = self._match_id(url) diff --git a/youtube_dl/extractor/njpwworld.py b/youtube_dl/extractor/njpwworld.py index febef09..025c5d2 100644 --- a/youtube_dl/extractor/njpwworld.py +++ b/youtube_dl/extractor/njpwworld.py @@ -31,6 +31,8 @@ class NJPWWorldIE(InfoExtractor): 'skip': 'Requires login', } + _LOGIN_URL = 'https://front.njpwworld.com/auth/login' + def _real_initialize(self): self._login() @@ -40,13 +42,17 @@ class NJPWWorldIE(InfoExtractor): if not username: return True + # Setup session (will set necessary cookies) + self._request_webpage( + 'https://njpwworld.com/', None, note='Setting up session') + webpage, urlh = self._download_webpage_handle( - 'https://njpwworld.com/auth/login', None, + self._LOGIN_URL, None, note='Logging in', errnote='Unable to login', data=urlencode_postdata({'login_id': username, 'pw': password}), - headers={'Referer': 'https://njpwworld.com/auth'}) + headers={'Referer': 'https://front.njpwworld.com/auth'}) # /auth/login will return 302 for successful logins - if urlh.geturl() == 'https://njpwworld.com/auth/login': + if urlh.geturl() == self._LOGIN_URL: self.report_warning('unable to login') return False diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index d264fe2..2473536 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -243,7 +243,7 @@ class PhantomJSwrapper(object): class OpenloadIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?(?:openload\.(?:co|io|link)|oload\.(?:tv|stream|site|xyz|win|download))/(?:f|embed)/(?P<id>[a-zA-Z0-9-_]+)' + _VALID_URL = r'https?://(?:www\.)?(?:openload\.(?:co|io|link)|oload\.(?:tv|stream|site|xyz|win|download|cloud|cc|icu|fun))/(?:f|embed)/(?P<id>[a-zA-Z0-9-_]+)' _TESTS = [{ 'url': 'https://openload.co/f/kUEfGclsU9o', @@ -307,10 +307,22 @@ class OpenloadIE(InfoExtractor): }, { 'url': 'https://oload.download/f/kUEfGclsU9o', 'only_matching': True, + }, { + 'url': 'https://oload.cloud/f/4ZDnBXRWiB8', + 'only_matching': True, }, { # Its title has not got its extension but url has it 'url': 'https://oload.download/f/N4Otkw39VCw/Tomb.Raider.2018.HDRip.XviD.AC3-EVO.avi.mp4', 'only_matching': True, + }, { + 'url': 'https://oload.cc/embed/5NEAbI2BDSk', + 'only_matching': True, + }, { + 'url': 'https://oload.icu/f/-_i4y_F_Hs8', + 'only_matching': True, + }, { + 'url': 'https://oload.fun/f/gb6G1H4sHXY', + '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' diff --git a/youtube_dl/extractor/orf.py b/youtube_dl/extractor/orf.py index c1fb580..d432e34 100644 --- a/youtube_dl/extractor/orf.py +++ b/youtube_dl/extractor/orf.py @@ -15,6 +15,7 @@ from ..utils import ( strip_jsonp, unescapeHTML, unified_strdate, + url_or_none, ) @@ -68,26 +69,35 @@ class ORFTVthekIE(InfoExtractor): webpage, 'playlist', group='json'), playlist_id, transform_source=unescapeHTML)['playlist']['videos'] - def quality_to_int(s): - m = re.search('([0-9]+)', s) - if m is None: - return -1 - return int(m.group(1)) - entries = [] for sd in data_jsb: video_id, title = sd.get('id'), sd.get('title') if not video_id or not title: continue video_id = compat_str(video_id) - formats = [{ - 'preference': -10 if fd['delivery'] == 'hls' else None, - 'format_id': '%s-%s-%s' % ( - fd['delivery'], fd['quality'], fd['quality_string']), - 'url': fd['src'], - 'protocol': fd['protocol'], - 'quality': quality_to_int(fd['quality']), - } for fd in sd['sources']] + formats = [] + for fd in sd['sources']: + src = url_or_none(fd.get('src')) + if not src: + continue + format_id_list = [] + for key in ('delivery', 'quality', 'quality_string'): + value = fd.get(key) + if value: + format_id_list.append(value) + format_id = '-'.join(format_id_list) + if determine_ext(fd['src']) == 'm3u8': + formats.extend(self._extract_m3u8_formats( + fd['src'], video_id, 'mp4', m3u8_id=format_id)) + elif determine_ext(fd['src']) == 'f4m': + formats.extend(self._extract_f4m_formats( + fd['src'], video_id, f4m_id=format_id)) + else: + formats.append({ + 'format_id': format_id, + 'url': src, + 'protocol': fd.get('protocol'), + }) # Check for geoblocking. # There is a property is_geoprotection, but that's always false diff --git a/youtube_dl/extractor/patreon.py b/youtube_dl/extractor/patreon.py index 9eb0276..426dd81 100644 --- a/youtube_dl/extractor/patreon.py +++ b/youtube_dl/extractor/patreon.py @@ -2,52 +2,63 @@ from __future__ import unicode_literals from .common import InfoExtractor -from ..utils import js_to_json +from ..utils import ( + clean_html, + determine_ext, + int_or_none, + parse_iso8601, +) class PatreonIE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?patreon\.com/creation\?hid=(?P<id>[^&#]+)' - _TESTS = [ - { - 'url': 'http://www.patreon.com/creation?hid=743933', - 'md5': 'e25505eec1053a6e6813b8ed369875cc', - 'info_dict': { - 'id': '743933', - 'ext': 'mp3', - 'title': 'Episode 166: David Smalley of Dogma Debate', - 'uploader': 'Cognitive Dissonance Podcast', - 'thumbnail': 're:^https?://.*$', - }, + _VALID_URL = r'https?://(?:www\.)?patreon\.com/(?:creation\?hid=|posts/(?:[\w-]+-)?)(?P<id>\d+)' + _TESTS = [{ + 'url': 'http://www.patreon.com/creation?hid=743933', + 'md5': 'e25505eec1053a6e6813b8ed369875cc', + 'info_dict': { + 'id': '743933', + 'ext': 'mp3', + 'title': 'Episode 166: David Smalley of Dogma Debate', + 'description': 'md5:713b08b772cd6271b9f3906683cfacdf', + 'uploader': 'Cognitive Dissonance Podcast', + 'thumbnail': 're:^https?://.*$', + 'timestamp': 1406473987, + 'upload_date': '20140727', + }, + }, { + 'url': 'http://www.patreon.com/creation?hid=754133', + 'md5': '3eb09345bf44bf60451b8b0b81759d0a', + 'info_dict': { + 'id': '754133', + 'ext': 'mp3', + 'title': 'CD 167 Extra', + 'uploader': 'Cognitive Dissonance Podcast', + 'thumbnail': 're:^https?://.*$', }, - { - 'url': 'http://www.patreon.com/creation?hid=754133', - 'md5': '3eb09345bf44bf60451b8b0b81759d0a', - 'info_dict': { - 'id': '754133', - 'ext': 'mp3', - 'title': 'CD 167 Extra', - 'uploader': 'Cognitive Dissonance Podcast', - 'thumbnail': 're:^https?://.*$', - }, + 'skip': 'Patron-only content', + }, { + 'url': 'https://www.patreon.com/creation?hid=1682498', + 'info_dict': { + 'id': 'SU4fj_aEMVw', + 'ext': 'mp4', + 'title': 'I\'m on Patreon!', + 'uploader': 'TraciJHines', + 'thumbnail': 're:^https?://.*$', + 'upload_date': '20150211', + 'description': 'md5:c5a706b1f687817a3de09db1eb93acd4', + 'uploader_id': 'TraciJHines', }, - { - 'url': 'https://www.patreon.com/creation?hid=1682498', - 'info_dict': { - 'id': 'SU4fj_aEMVw', - 'ext': 'mp4', - 'title': 'I\'m on Patreon!', - 'uploader': 'TraciJHines', - 'thumbnail': 're:^https?://.*$', - 'upload_date': '20150211', - 'description': 'md5:c5a706b1f687817a3de09db1eb93acd4', - 'uploader_id': 'TraciJHines', - }, - 'params': { - 'noplaylist': True, - 'skip_download': True, - } + 'params': { + 'noplaylist': True, + 'skip_download': True, } - ] + }, { + 'url': 'https://www.patreon.com/posts/episode-166-of-743933', + 'only_matching': True, + }, { + 'url': 'https://www.patreon.com/posts/743933', + 'only_matching': True, + }] # Currently Patreon exposes download URL via hidden CSS, so login is not # needed. Keeping this commented for when this inevitably changes. @@ -78,38 +89,48 @@ class PatreonIE(InfoExtractor): def _real_extract(self, url): video_id = self._match_id(url) - webpage = self._download_webpage(url, video_id) - title = self._og_search_title(webpage).strip() - - attach_fn = self._html_search_regex( - r'<div class="attach"><a target="_blank" href="([^"]+)">', - webpage, 'attachment URL', default=None) - embed = self._html_search_regex( - r'<div[^>]+id="watchCreation"[^>]*>\s*<iframe[^>]+src="([^"]+)"', - webpage, 'embedded URL', default=None) - - if attach_fn is not None: - video_url = 'http://www.patreon.com' + attach_fn - thumbnail = self._og_search_thumbnail(webpage) - uploader = self._html_search_regex( - r'<strong>(.*?)</strong> is creating', webpage, 'uploader') - elif embed is not None: - return self.url_result(embed) - else: - playlist = self._parse_json(self._search_regex( - r'(?s)new\s+jPlayerPlaylist\(\s*\{\s*[^}]*},\s*(\[.*?,?\s*\])', - webpage, 'playlist JSON'), - video_id, transform_source=js_to_json) - data = playlist[0] - video_url = self._proto_relative_url(data['mp3']) - thumbnail = self._proto_relative_url(data.get('cover')) - uploader = data.get('artist') - - return { + post = self._download_json( + 'https://www.patreon.com/api/posts/' + video_id, video_id) + attributes = post['data']['attributes'] + title = attributes['title'].strip() + image = attributes.get('image') or {} + info = { 'id': video_id, - 'url': video_url, - 'ext': 'mp3', 'title': title, - 'uploader': uploader, - 'thumbnail': thumbnail, + 'description': clean_html(attributes.get('content')), + 'thumbnail': image.get('large_url') or image.get('url'), + 'timestamp': parse_iso8601(attributes.get('published_at')), + 'like_count': int_or_none(attributes.get('like_count')), + 'comment_count': int_or_none(attributes.get('comment_count')), } + + def add_file(file_data): + file_url = file_data.get('url') + if file_url: + info.update({ + 'url': file_url, + 'ext': determine_ext(file_data.get('name'), 'mp3'), + }) + + for i in post.get('included', []): + i_type = i.get('type') + if i_type == 'attachment': + add_file(i.get('attributes') or {}) + elif i_type == 'user': + user_attributes = i.get('attributes') + if user_attributes: + info.update({ + 'uploader': user_attributes.get('full_name'), + 'uploader_url': user_attributes.get('url'), + }) + + if not info.get('url'): + add_file(attributes.get('post_file') or {}) + + if not info.get('url'): + info.update({ + '_type': 'url', + 'url': attributes['embed']['url'], + }) + + return info diff --git a/youtube_dl/extractor/philharmoniedeparis.py b/youtube_dl/extractor/philharmoniedeparis.py index f1008ae..f723a2b 100644 --- a/youtube_dl/extractor/philharmoniedeparis.py +++ b/youtube_dl/extractor/philharmoniedeparis.py @@ -2,31 +2,38 @@ from __future__ import unicode_literals from .common import InfoExtractor +from ..compat import compat_str from ..utils import ( - float_or_none, - int_or_none, - parse_iso8601, - xpath_text, + try_get, + urljoin, ) class PhilharmonieDeParisIE(InfoExtractor): IE_DESC = 'Philharmonie de Paris' - _VALID_URL = r'https?://live\.philharmoniedeparis\.fr/(?:[Cc]oncert/|misc/Playlist\.ashx\?id=)(?P<id>\d+)' + _VALID_URL = r'''(?x) + https?:// + (?: + live\.philharmoniedeparis\.fr/(?:[Cc]oncert/|misc/Playlist\.ashx\?id=)| + pad\.philharmoniedeparis\.fr/doc/CIMU/ + ) + (?P<id>\d+) + ''' _TESTS = [{ + 'url': 'http://pad.philharmoniedeparis.fr/doc/CIMU/1086697/jazz-a-la-villette-knower', + 'md5': 'a0a4b195f544645073631cbec166a2c2', + 'info_dict': { + 'id': '1086697', + 'ext': 'mp4', + 'title': 'Jazz à la Villette : Knower', + }, + }, { 'url': 'http://live.philharmoniedeparis.fr/concert/1032066.html', 'info_dict': { 'id': '1032066', - 'ext': 'flv', - 'title': 'md5:d1f5585d87d041d07ce9434804bc8425', - 'timestamp': 1428179400, - 'upload_date': '20150404', - 'duration': 6592.278, + 'title': 'md5:0a031b81807b3593cffa3c9a87a167a0', }, - 'params': { - # rtmp download - 'skip_download': True, - } + 'playlist_mincount': 2, }, { 'url': 'http://live.philharmoniedeparis.fr/Concert/1030324.html', 'only_matching': True, @@ -34,45 +41,60 @@ class PhilharmonieDeParisIE(InfoExtractor): 'url': 'http://live.philharmoniedeparis.fr/misc/Playlist.ashx?id=1030324&track=&lang=fr', 'only_matching': True, }] + _LIVE_URL = 'https://live.philharmoniedeparis.fr' def _real_extract(self, url): video_id = self._match_id(url) - concert = self._download_xml( - 'http://live.philharmoniedeparis.fr/misc/Playlist.ashx?id=%s' % video_id, - video_id).find('./concert') + config = self._download_json( + '%s/otoPlayer/config.ashx' % self._LIVE_URL, video_id, query={ + 'id': video_id, + 'lang': 'fr-FR', + }) - formats = [] - info_dict = { - 'id': video_id, - 'title': xpath_text(concert, './titre', 'title', fatal=True), - 'formats': formats, - } - - fichiers = concert.find('./fichiers') - stream = fichiers.attrib['serveurstream'] - for fichier in fichiers.findall('./fichier'): - info_dict['duration'] = float_or_none(fichier.get('timecodefin')) - for quality, (format_id, suffix) in enumerate([('lq', ''), ('hq', '_hd')]): - format_url = fichier.get('url%s' % suffix) - if not format_url: + def extract_entry(source): + if not isinstance(source, dict): + return + title = source.get('title') + if not title: + return + files = source.get('files') + if not isinstance(files, dict): + return + format_urls = set() + formats = [] + for format_id in ('mobile', 'desktop'): + format_url = try_get( + files, lambda x: x[format_id]['file'], compat_str) + if not format_url or format_url in format_urls: continue - formats.append({ - 'url': stream, - 'play_path': format_url, - 'ext': 'flv', - 'format_id': format_id, - 'width': int_or_none(concert.get('largeur%s' % suffix)), - 'height': int_or_none(concert.get('hauteur%s' % suffix)), - 'quality': quality, - }) - self._sort_formats(formats) + format_urls.add(format_url) + m3u8_url = urljoin(self._LIVE_URL, format_url) + formats.extend(self._extract_m3u8_formats( + m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native', + m3u8_id='hls', fatal=False)) + if not formats: + return + self._sort_formats(formats) + return { + 'title': title, + 'formats': formats, + } + + thumbnail = urljoin(self._LIVE_URL, config.get('image')) + + info = extract_entry(config) + if info: + info.update({ + 'id': video_id, + 'thumbnail': thumbnail, + }) + return info - date, hour = concert.get('date'), concert.get('heure') - if date and hour: - info_dict['timestamp'] = parse_iso8601( - '%s-%s-%sT%s:00' % (date[0:4], date[4:6], date[6:8], hour)) - elif date: - info_dict['upload_date'] = date + entries = [] + for num, chapter in enumerate(config['chapters'], start=1): + entry = extract_entry(chapter) + entry['id'] = '%s-%d' % (video_id, num) + entries.append(entry) - return info_dict + return self.playlist_result(entries, video_id, config.get('title')) diff --git a/youtube_dl/extractor/pluralsight.py b/youtube_dl/extractor/pluralsight.py index 1257841..eafe568 100644 --- a/youtube_dl/extractor/pluralsight.py +++ b/youtube_dl/extractor/pluralsight.py @@ -4,6 +4,7 @@ import collections import json import os import random +import re from .common import InfoExtractor from ..compat import ( @@ -196,7 +197,10 @@ query viewClip { if error: raise ExtractorError('Unable to login: %s' % error, expected=True) - if all(p not in response for p in ('__INITIAL_STATE__', '"currentUser"')): + if all(not re.search(p, response) for p in ( + r'__INITIAL_STATE__', r'["\']currentUser["\']', + # new layout? + r'>\s*Sign out\s*<')): BLOCKED = 'Your account has been blocked due to suspicious activity' if BLOCKED in response: raise ExtractorError( @@ -210,18 +214,26 @@ query viewClip { raise ExtractorError('Unable to log in') - def _get_subtitles(self, author, clip_idx, lang, name, duration, video_id): - captions_post = { - 'a': author, - 'cn': clip_idx, - 'lc': lang, - 'm': name, - } - captions = self._download_json( - '%s/player/retrieve-captions' % self._API_BASE, video_id, - 'Downloading captions JSON', 'Unable to download captions JSON', - fatal=False, data=json.dumps(captions_post).encode('utf-8'), - headers={'Content-Type': 'application/json;charset=utf-8'}) + def _get_subtitles(self, author, clip_idx, clip_id, lang, name, duration, video_id): + captions = None + if clip_id: + captions = self._download_json( + '%s/transcript/api/v1/caption/json/%s/%s' + % (self._API_BASE, clip_id, lang), video_id, + 'Downloading captions JSON', 'Unable to download captions JSON', + fatal=False) + if not captions: + captions_post = { + 'a': author, + 'cn': int(clip_idx), + 'lc': lang, + 'm': name, + } + captions = self._download_json( + '%s/player/retrieve-captions' % self._API_BASE, video_id, + 'Downloading captions JSON', 'Unable to download captions JSON', + fatal=False, data=json.dumps(captions_post).encode('utf-8'), + headers={'Content-Type': 'application/json;charset=utf-8'}) if captions: return { lang: [{ @@ -413,7 +425,7 @@ query viewClip { # TODO: other languages? subtitles = self.extract_subtitles( - author, clip_idx, 'en', name, duration, display_id) + author, clip_idx, clip.get('clipId'), 'en', name, duration, display_id) return { 'id': clip_id, diff --git a/youtube_dl/extractor/popcorntv.py b/youtube_dl/extractor/popcorntv.py index ac901f4..9f834fb 100644 --- a/youtube_dl/extractor/popcorntv.py +++ b/youtube_dl/extractor/popcorntv.py @@ -58,8 +58,6 @@ class PopcornTVIE(InfoExtractor): thumbnail = self._og_search_thumbnail(webpage) timestamp = unified_timestamp(self._html_search_meta( 'uploadDate', webpage, 'timestamp')) - print(self._html_search_meta( - 'duration', webpage)) duration = int_or_none(self._html_search_meta( 'duration', webpage), invscale=60) view_count = int_or_none(self._html_search_meta( diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py index 6782848..19eaf38 100644 --- a/youtube_dl/extractor/pornhub.py +++ b/youtube_dl/extractor/pornhub.py @@ -40,6 +40,7 @@ class PornHubIE(InfoExtractor): 'ext': 'mp4', 'title': 'Seductive Indian beauty strips down and fingers her pink pussy', 'uploader': 'Babes', + 'upload_date': '20130628', 'duration': 361, 'view_count': int, 'like_count': int, @@ -57,6 +58,7 @@ class PornHubIE(InfoExtractor): 'ext': 'mp4', 'title': '重庆婷婷女王足交', 'uploader': 'Unknown', + 'upload_date': '20150213', 'duration': 1753, 'view_count': int, 'like_count': int, @@ -237,8 +239,14 @@ class PornHubIE(InfoExtractor): video_urls.append((video_url, None)) video_urls_set.add(video_url) + upload_date = None formats = [] for video_url, height in video_urls: + if not upload_date: + upload_date = self._search_regex( + r'/(\d{6}/\d{2})/', video_url, 'upload data', default=None) + if upload_date: + upload_date = upload_date.replace('/', '') tbr = None mobj = re.search(r'(?P<height>\d+)[pP]?_(?P<tbr>\d+)[kK]', video_url) if mobj: @@ -278,6 +286,7 @@ class PornHubIE(InfoExtractor): return { 'id': video_id, 'uploader': video_uploader, + 'upload_date': upload_date, 'title': title, 'thumbnail': thumbnail, 'duration': duration, diff --git a/youtube_dl/extractor/rai.py b/youtube_dl/extractor/rai.py index f916b26..548a655 100644 --- a/youtube_dl/extractor/rai.py +++ b/youtube_dl/extractor/rai.py @@ -274,7 +274,6 @@ class RaiPlayPlaylistIE(InfoExtractor): ('programma', 'nomeProgramma'), webpage, 'title') description = unescapeHTML(self._html_search_meta( ('description', 'og:description'), webpage, 'description')) - print(description) entries = [] for mobj in re.finditer( diff --git a/youtube_dl/extractor/rutube.py b/youtube_dl/extractor/rutube.py index 261bcbb..10ac8ed 100644 --- a/youtube_dl/extractor/rutube.py +++ b/youtube_dl/extractor/rutube.py @@ -103,7 +103,8 @@ class RutubeIE(RutubeBaseIE): options = self._download_json( 'http://rutube.ru/api/play/options/%s/?format=json' % video_id, - video_id, 'Downloading options JSON') + video_id, 'Downloading options JSON', + headers=self.geo_verification_headers()) formats = [] for format_id, format_url in options['video_balancer'].items(): diff --git a/youtube_dl/extractor/screencast.py b/youtube_dl/extractor/screencast.py index 62a6a83..69a0d01 100644 --- a/youtube_dl/extractor/screencast.py +++ b/youtube_dl/extractor/screencast.py @@ -90,6 +90,15 @@ class ScreencastIE(InfoExtractor): r'src=(.*?)(?:$|&)', video_meta, 'meta tag video URL', default=None) + if video_url is None: + video_url = self._html_search_regex( + r'MediaContentUrl["\']\s*:(["\'])(?P<url>(?:(?!\1).)+)\1', + webpage, 'video url', default=None, group='url') + + if video_url is None: + video_url = self._html_search_meta( + 'og:video', webpage, default=None) + if video_url is None: raise ExtractorError('Cannot find video') diff --git a/youtube_dl/extractor/spike.py b/youtube_dl/extractor/spike.py index e76522b..6090e00 100644 --- a/youtube_dl/extractor/spike.py +++ b/youtube_dl/extractor/spike.py @@ -44,3 +44,10 @@ class ParamountNetworkIE(MTVServicesInfoExtractor): _FEED_URL = 'http://www.paramountnetwork.com/feeds/mrss/' _GEO_COUNTRIES = ['US'] + + def _extract_mgid(self, webpage): + cs = 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') + return c['props']['media']['video']['config']['uri'] diff --git a/youtube_dl/extractor/sportbox.py b/youtube_dl/extractor/sportbox.py index 54497c8..b9017fd 100644 --- a/youtube_dl/extractor/sportbox.py +++ b/youtube_dl/extractor/sportbox.py @@ -8,20 +8,24 @@ from ..utils import ( determine_ext, int_or_none, js_to_json, + merge_dicts, ) -class SportBoxEmbedIE(InfoExtractor): - _VALID_URL = r'https?://news\.sportbox\.ru/vdl/player(?:/[^/]+/|\?.*?\bn?id=)(?P<id>\d+)' +class SportBoxIE(InfoExtractor): + _VALID_URL = r'https?://(?:news\.sportbox|matchtv)\.ru/vdl/player(?:/[^/]+/|\?.*?\bn?id=)(?P<id>\d+)' _TESTS = [{ 'url': 'http://news.sportbox.ru/vdl/player/ci/211355', 'info_dict': { - 'id': '211355', + 'id': '109158', 'ext': 'mp4', - 'title': '211355', + 'title': 'В Новороссийске прошел детский турнир «Поле славы боевой»', + 'description': 'В Новороссийске прошел детский турнир «Поле славы боевой»', 'thumbnail': r're:^https?://.*\.jpg$', 'duration': 292, 'view_count': int, + 'timestamp': 1426237001, + 'upload_date': '20150313', }, 'params': { # m3u8 download @@ -33,12 +37,18 @@ class SportBoxEmbedIE(InfoExtractor): }, { 'url': 'https://news.sportbox.ru/vdl/player/media/193095', 'only_matching': True, + }, { + 'url': 'https://news.sportbox.ru/vdl/player/media/109158', + 'only_matching': True, + }, { + 'url': 'https://matchtv.ru/vdl/player/media/109158', + 'only_matching': True, }] @staticmethod def _extract_urls(webpage): return re.findall( - r'<iframe[^>]+src="(https?://news\.sportbox\.ru/vdl/player[^"]+)"', + r'<iframe[^>]+src="(https?://(?:news\.sportbox|matchtv)\.ru/vdl/player[^"]+)"', webpage) def _real_extract(self, url): @@ -46,13 +56,14 @@ class SportBoxEmbedIE(InfoExtractor): webpage = self._download_webpage(url, video_id) - wjplayer_data = self._parse_json( + sources = self._parse_json( self._search_regex( - r'(?s)wjplayer\(({.+?})\);', webpage, 'wjplayer settings'), + r'(?s)playerOptions\.sources(?:WithRes)?\s*=\s*(\[.+?\])\s*;\s*\n', + webpage, 'sources'), video_id, transform_source=js_to_json) formats = [] - for source in wjplayer_data['sources']: + for source in sources: src = source.get('src') if not src: continue @@ -66,14 +77,23 @@ class SportBoxEmbedIE(InfoExtractor): }) self._sort_formats(formats) + player = self._parse_json( + self._search_regex( + r'(?s)playerOptions\s*=\s*({.+?})\s*;\s*\n', webpage, + 'player options', default='{}'), + video_id, transform_source=js_to_json) + media_id = player['mediaId'] + + info = self._search_json_ld(webpage, media_id, default={}) + view_count = int_or_none(self._search_regex( r'Просмотров\s*:\s*(\d+)', webpage, 'view count', default=None)) - return { - 'id': video_id, - 'title': video_id, - 'thumbnail': wjplayer_data.get('poster'), - 'duration': int_or_none(wjplayer_data.get('duration')), + return merge_dicts(info, { + 'id': media_id, + 'title': self._og_search_title(webpage, default=None) or media_id, + 'thumbnail': player.get('poster'), + 'duration': int_or_none(player.get('duration')), 'view_count': view_count, 'formats': formats, - } + }) diff --git a/youtube_dl/extractor/ted.py b/youtube_dl/extractor/ted.py index 212ac80..f9b6aa4 100644 --- a/youtube_dl/extractor/ted.py +++ b/youtube_dl/extractor/ted.py @@ -212,8 +212,6 @@ class TEDIE(InfoExtractor): http_url = None for format_id, resources in resources_.items(): - if not isinstance(resources, dict): - continue if format_id == 'h264': for resource in resources: h264_url = resource.get('file') @@ -242,6 +240,8 @@ class TEDIE(InfoExtractor): 'tbr': int_or_none(resource.get('bitrate')), }) elif format_id == 'hls': + if not isinstance(resources, dict): + continue stream_url = url_or_none(resources.get('stream')) if not stream_url: continue diff --git a/youtube_dl/extractor/theplatform.py b/youtube_dl/extractor/theplatform.py index ffef5bf..1816206 100644 --- a/youtube_dl/extractor/theplatform.py +++ b/youtube_dl/extractor/theplatform.py @@ -39,9 +39,17 @@ class ThePlatformBaseIE(OnceIE): smil_url, video_id, note=note, query={'format': 'SMIL'}, headers=self.geo_verification_headers()) error_element = find_xpath_attr(meta, _x('.//smil:ref'), 'src') - if error_element is not None and error_element.attrib['src'].startswith( - 'http://link.theplatform.%s/s/errorFiles/Unavailable.' % self._TP_TLD): - raise ExtractorError(error_element.attrib['abstract'], expected=True) + if error_element is not None: + exception = find_xpath_attr( + error_element, _x('.//smil:param'), 'name', 'exception') + if exception is not None: + if exception.get('value') == 'GeoLocationBlocked': + self.raise_geo_restricted(error_element.attrib['abstract']) + elif error_element.attrib['src'].startswith( + 'http://link.theplatform.%s/s/errorFiles/Unavailable.' + % self._TP_TLD): + raise ExtractorError( + error_element.attrib['abstract'], expected=True) smil_formats = self._parse_smil_formats( meta, smil_url, video_id, namespace=default_ns, diff --git a/youtube_dl/extractor/tube8.py b/youtube_dl/extractor/tube8.py index 368c457..db93b01 100644 --- a/youtube_dl/extractor/tube8.py +++ b/youtube_dl/extractor/tube8.py @@ -45,7 +45,7 @@ class Tube8IE(KeezMoviesIE): r'videoTitle\s*=\s*"([^"]+)', webpage, 'title') description = self._html_search_regex( - r'>Description:</strong>\s*(.+?)\s*<', webpage, 'description', fatal=False) + r'(?s)Description:</dt>\s*<dd>(.+?)</dd>', webpage, 'description', fatal=False) uploader = self._html_search_regex( r'<span class="username">\s*(.+?)\s*<', webpage, 'uploader', fatal=False) @@ -55,19 +55,19 @@ class Tube8IE(KeezMoviesIE): dislike_count = int_or_none(self._search_regex( r'rdownVar\s*=\s*"(\d+)"', webpage, 'dislike count', fatal=False)) view_count = str_to_int(self._search_regex( - r'<strong>Views: </strong>([\d,\.]+)\s*</li>', + r'Views:\s*</dt>\s*<dd>([\d,\.]+)', webpage, 'view count', fatal=False)) comment_count = str_to_int(self._search_regex( r'<span id="allCommentsCount">(\d+)</span>', webpage, 'comment count', fatal=False)) category = self._search_regex( - r'Category:\s*</strong>\s*<a[^>]+href=[^>]+>([^<]+)', + r'Category:\s*</dt>\s*<dd>\s*<a[^>]+href=[^>]+>([^<]+)', webpage, 'category', fatal=False) categories = [category] if category else None tags_str = self._search_regex( - r'(?s)Tags:\s*</strong>(.+?)</(?!a)', + r'(?s)Tags:\s*</dt>\s*<dd>(.+?)</(?!a)', webpage, 'tags', fatal=False) tags = [t for t in re.findall( r'<a[^>]+href=[^>]+>([^<]+)', tags_str)] if tags_str else None diff --git a/youtube_dl/extractor/tv3.py b/youtube_dl/extractor/tv3.py deleted file mode 100644 index 3867ec9..0000000 --- a/youtube_dl/extractor/tv3.py +++ /dev/null @@ -1,34 +0,0 @@ -# coding: utf-8 -from __future__ import unicode_literals - -from .common import InfoExtractor - - -class TV3IE(InfoExtractor): - _VALID_URL = r'https?://(?:www\.)?tv3\.co\.nz/(?P<id>[^/]+)/tabid/\d+/articleID/\d+/MCat/\d+/Default\.aspx' - _TEST = { - 'url': 'http://www.tv3.co.nz/MOTORSPORT-SRS-SsangYong-Hampton-Downs-Round-3/tabid/3692/articleID/121615/MCat/2915/Default.aspx', - 'info_dict': { - 'id': '4659127992001', - 'ext': 'mp4', - 'title': 'CRC Motorsport: SRS SsangYong Hampton Downs Round 3 - S2015 Ep3', - 'description': 'SsangYong Racing Series returns for Round 3 with drivers from New Zealand and Australia taking to the grid at Hampton Downs raceway.', - 'uploader_id': '3812193411001', - 'upload_date': '20151213', - 'timestamp': 1449975272, - }, - 'expected_warnings': [ - 'Failed to download MPD manifest' - ], - 'params': { - # m3u8 download - 'skip_download': True, - }, - } - BRIGHTCOVE_URL_TEMPLATE = 'http://players.brightcove.net/3812193411001/default_default/index.html?videoId=%s' - - def _real_extract(self, url): - display_id = self._match_id(url) - webpage = self._download_webpage(url, display_id) - brightcove_id = self._search_regex(r'<param\s*name="@videoPlayer"\s*value="(\d+)"', webpage, 'brightcove id') - return self.url_result(self.BRIGHTCOVE_URL_TEMPLATE % brightcove_id, 'BrightcoveNew', brightcove_id) diff --git a/youtube_dl/extractor/twitcasting.py b/youtube_dl/extractor/twitcasting.py new file mode 100644 index 0000000..05f8aa9 --- /dev/null +++ b/youtube_dl/extractor/twitcasting.py @@ -0,0 +1,60 @@ +# coding: utf-8 +from __future__ import unicode_literals + +from .common import InfoExtractor + +import re + + +class TwitCastingIE(InfoExtractor): + _VALID_URL = r'https?://(?:[^/]+\.)?twitcasting\.tv/(?P<uploader_id>[^/]+)/movie/(?P<id>\d+)' + _TEST = { + 'url': 'https://twitcasting.tv/ivetesangalo/movie/2357609', + 'md5': '745243cad58c4681dc752490f7540d7f', + 'info_dict': { + 'id': '2357609', + 'ext': 'mp4', + 'title': 'Recorded Live #2357609', + 'uploader_id': 'ivetesangalo', + 'description': "Moi! I'm live on TwitCasting from my iPhone.", + 'thumbnail': r're:^https?://.*\.jpg$', + }, + 'params': { + 'skip_download': True, + }, + } + + 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) + + title = self._html_search_regex( + r'(?s)<[^>]+id=["\']movietitle[^>]+>(.+?)</', + webpage, 'title', default=None) or self._html_search_meta( + 'twitter:title', webpage, fatal=True) + + m3u8_url = self._search_regex( + (r'data-movie-url=(["\'])(?P<url>(?:(?!\1).)+)\1', + r'(["\'])(?P<url>http.+?\.m3u8.*?)\1'), + webpage, 'm3u8 url', group='url') + + formats = self._extract_m3u8_formats( + m3u8_url, video_id, ext='mp4', entry_protocol='m3u8_native', + m3u8_id='hls') + + thumbnail = self._og_search_thumbnail(webpage) + description = self._og_search_description( + webpage, default=None) or self._html_search_meta( + 'twitter:description', webpage) + + return { + 'id': video_id, + 'title': title, + 'description': description, + 'thumbnail': thumbnail, + 'uploader_id': uploader_id, + 'formats': formats, + } diff --git a/youtube_dl/extractor/twitch.py b/youtube_dl/extractor/twitch.py index b39972b..4016156 100644 --- a/youtube_dl/extractor/twitch.py +++ b/youtube_dl/extractor/twitch.py @@ -51,7 +51,9 @@ class TwitchBaseIE(InfoExtractor): expected=True) def _call_api(self, path, item_id, *args, **kwargs): - kwargs.setdefault('headers', {})['Client-ID'] = self._CLIENT_ID + headers = kwargs.get('headers', {}).copy() + headers['Client-ID'] = self._CLIENT_ID + kwargs['headers'] = headers response = self._download_json( '%s/%s' % (self._API_BASE, path), item_id, *args, **compat_kwargs(kwargs)) @@ -559,7 +561,8 @@ class TwitchStreamIE(TwitchBaseIE): TwitchAllVideosIE, TwitchUploadsIE, TwitchPastBroadcastsIE, - TwitchHighlightsIE)) + TwitchHighlightsIE, + TwitchClipsIE)) else super(TwitchStreamIE, cls).suitable(url)) def _real_extract(self, url): @@ -633,7 +636,7 @@ class TwitchStreamIE(TwitchBaseIE): class TwitchClipsIE(TwitchBaseIE): IE_NAME = 'twitch:clips' - _VALID_URL = r'https?://clips\.twitch\.tv/(?:[^/]+/)*(?P<id>[^/?#&]+)' + _VALID_URL = r'https?://(?:clips\.twitch\.tv/(?:[^/]+/)*|(?:www\.)?twitch\.tv/[^/]+/clip/)(?P<id>[^/?#&]+)' _TESTS = [{ 'url': 'https://clips.twitch.tv/FaintLightGullWholeWheat', @@ -653,6 +656,9 @@ class TwitchClipsIE(TwitchBaseIE): # multiple formats 'url': 'https://clips.twitch.tv/rflegendary/UninterestedBeeDAESuppy', 'only_matching': True, + }, { + 'url': 'https://www.twitch.tv/sergeynixon/clip/StormyThankfulSproutFutureMan', + 'only_matching': True, }] def _real_extract(self, url): diff --git a/youtube_dl/extractor/udemy.py b/youtube_dl/extractor/udemy.py index 79c45f8..105826e 100644 --- a/youtube_dl/extractor/udemy.py +++ b/youtube_dl/extractor/udemy.py @@ -122,7 +122,9 @@ class UdemyIE(InfoExtractor): raise ExtractorError(error_str, expected=True) def _download_webpage_handle(self, *args, **kwargs): - kwargs.setdefault('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 = 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' + kwargs['headers'] = headers return super(UdemyIE, self)._download_webpage_handle( *args, **compat_kwargs(kwargs)) diff --git a/youtube_dl/extractor/viewster.py b/youtube_dl/extractor/viewster.py index d5d5b4c..6e31847 100644 --- a/youtube_dl/extractor/viewster.py +++ b/youtube_dl/extractor/viewster.py @@ -130,16 +130,16 @@ class ViewsterIE(InfoExtractor): def concat(suffix, sep='-'): return (base_format_id + '%s%s' % (sep, suffix)) if base_format_id else suffix - for media_type in ('application/f4m+xml', 'application/x-mpegURL', 'video/mp4'): - media = self._download_json( - 'https://public-api.viewster.com/movies/%s/video' % entry_id, - video_id, 'Downloading %s JSON' % concat(media_type, ' '), fatal=False, query={ - 'mediaType': media_type, - 'language': audio, - 'subtitle': subtitle, - }) - if not media: - continue + medias = self._download_json( + 'https://public-api.viewster.com/movies/%s/videos' % entry_id, + video_id, fatal=False, query={ + 'mediaTypes': ['application/f4m+xml', 'application/x-mpegURL', 'video/mp4'], + 'language': audio, + 'subtitle': subtitle, + }) + if not medias: + continue + for media in medias: video_url = media.get('Uri') if not video_url: continue diff --git a/youtube_dl/extractor/vimeo.py b/youtube_dl/extractor/vimeo.py index e49b233..88f4d99 100644 --- a/youtube_dl/extractor/vimeo.py +++ b/youtube_dl/extractor/vimeo.py @@ -299,10 +299,13 @@ class VimeoIE(VimeoBaseInfoExtractor): 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/atencio', 'uploader_id': 'atencio', 'uploader': 'Peter Atencio', + 'channel_id': 'keypeele', + 'channel_url': r're:https?://(?:www\.)?vimeo\.com/channels/keypeele', 'timestamp': 1380339469, 'upload_date': '20130928', 'duration': 187, }, + 'expected_warnings': ['Unable to download JSON metadata'], }, { 'url': 'http://vimeo.com/76979871', @@ -355,11 +358,13 @@ class VimeoIE(VimeoBaseInfoExtractor): 'url': 'https://vimeo.com/channels/tributes/6213729', 'info_dict': { 'id': '6213729', - 'ext': 'mov', + 'ext': 'mp4', 'title': 'Vimeo Tribute: The Shining', 'uploader': 'Casey Donahue', 'uploader_url': r're:https?://(?:www\.)?vimeo\.com/caseydonahue', 'uploader_id': 'caseydonahue', + 'channel_url': r're:https?://(?:www\.)?vimeo\.com/channels/tributes', + 'channel_id': 'tributes', 'timestamp': 1250886430, 'upload_date': '20090821', 'description': 'md5:bdbf314014e58713e6e5b66eb252f4a6', @@ -465,6 +470,9 @@ class VimeoIE(VimeoBaseInfoExtractor): if 'Referer' not in headers: headers['Referer'] = url + channel_id = self._search_regex( + r'vimeo\.com/channels/([^/]+)', url, 'channel id', default=None) + # Extract ID from URL mobj = re.match(self._VALID_URL, url) video_id = mobj.group('id') @@ -543,6 +551,7 @@ class VimeoIE(VimeoBaseInfoExtractor): else: config_re = [r' = {config:({.+?}),assets:', r'(?:[abc])=({.+?});'] config_re.append(r'\bvar\s+r\s*=\s*({.+?})\s*;') + config_re.append(r'\bconfig\s*=\s*({.+?})\s*;') config = self._search_regex(config_re, webpage, 'info section', flags=re.DOTALL) config = json.loads(config) @@ -563,19 +572,23 @@ class VimeoIE(VimeoBaseInfoExtractor): if config.get('view') == 4: config = self._verify_player_video_password(redirect_url, video_id) + vod = config.get('video', {}).get('vod', {}) + def is_rented(): if '>You rented this title.<' in webpage: return True if config.get('user', {}).get('purchased'): return True - label = try_get( - config, lambda x: x['video']['vod']['purchase_options'][0]['label_string'], compat_str) - if label and label.startswith('You rented this'): - return True + for purchase_option in vod.get('purchase_options', []): + if purchase_option.get('purchased'): + return True + label = purchase_option.get('label_string') + if label and (label.startswith('You rented this') or label.endswith(' remaining')): + return True return False - if is_rented(): - feature_id = config.get('video', {}).get('vod', {}).get('feature_id') + if is_rented() and vod.get('is_trailer'): + feature_id = vod.get('feature_id') if feature_id and not data.get('force_feature_id', False): return self.url_result(smuggle_url( 'https://player.vimeo.com/player/%s' % feature_id, @@ -652,6 +665,8 @@ class VimeoIE(VimeoBaseInfoExtractor): r'<link[^>]+rel=["\']license["\'][^>]+href=(["\'])(?P<license>(?:(?!\1).)+)\1', webpage, 'license', default=None, group='license') + channel_url = 'https://vimeo.com/channels/%s' % channel_id if channel_id else None + info_dict = { 'id': video_id, 'formats': formats, @@ -662,6 +677,8 @@ class VimeoIE(VimeoBaseInfoExtractor): 'like_count': like_count, 'comment_count': comment_count, 'license': cc_license, + 'channel_id': channel_id, + 'channel_url': channel_url, } info_dict = merge_dicts(info_dict, info_dict_config, json_ld) diff --git a/youtube_dl/extractor/vrv.py b/youtube_dl/extractor/vrv.py index 921e9e1..ac0819c 100644 --- a/youtube_dl/extractor/vrv.py +++ b/youtube_dl/extractor/vrv.py @@ -90,7 +90,13 @@ class VRVIE(VRVBaseIE): def _extract_vrv_formats(self, url, video_id, stream_format, audio_lang, hardsub_lang): if not url or stream_format not in ('hls', 'dash'): return [] - stream_id = hardsub_lang or audio_lang + 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': adaptive_formats = self._extract_m3u8_formats( diff --git a/youtube_dl/extractor/vzaar.py b/youtube_dl/extractor/vzaar.py index 02fcd52..6000671 100644 --- a/youtube_dl/extractor/vzaar.py +++ b/youtube_dl/extractor/vzaar.py @@ -4,15 +4,19 @@ from __future__ import unicode_literals import re from .common import InfoExtractor +from ..compat import compat_str from ..utils import ( int_or_none, float_or_none, + unified_timestamp, + url_or_none, ) class VzaarIE(InfoExtractor): _VALID_URL = r'https?://(?:(?:www|view)\.)?vzaar\.com/(?:videos/)?(?P<id>\d+)' _TESTS = [{ + # HTTP and HLS 'url': 'https://vzaar.com/videos/1152805', 'md5': 'bde5ddfeb104a6c56a93a06b04901dbf', 'info_dict': { @@ -40,24 +44,48 @@ class VzaarIE(InfoExtractor): video_id = self._match_id(url) video_data = self._download_json( 'http://view.vzaar.com/v2/%s/video' % video_id, video_id) - source_url = video_data['sourceUrl'] - info = { + title = video_data['videoTitle'] + + formats = [] + + source_url = url_or_none(video_data.get('sourceUrl')) + if source_url: + f = { + 'url': source_url, + 'format_id': 'http', + } + if 'audio' in source_url: + f.update({ + 'vcodec': 'none', + 'ext': 'mp3', + }) + else: + f.update({ + 'width': int_or_none(video_data.get('width')), + 'height': int_or_none(video_data.get('height')), + 'ext': 'mp4', + 'fps': float_or_none(video_data.get('fps')), + }) + formats.append(f) + + video_guid = video_data.get('guid') + usp = video_data.get('usp') + if isinstance(video_guid, compat_str) and isinstance(usp, dict): + m3u8_url = ('http://fable.vzaar.com/v4/usp/%s/%s.ism/.m3u8?' + % (video_guid, video_id)) + '&'.join( + '%s=%s' % (k, v) for k, v in usp.items()) + formats.extend(self._extract_m3u8_formats( + m3u8_url, video_id, 'mp4', entry_protocol='m3u8_native', + m3u8_id='hls', fatal=False)) + + self._sort_formats(formats) + + return { 'id': video_id, - 'title': video_data['videoTitle'], - 'url': source_url, + 'title': title, 'thumbnail': self._proto_relative_url(video_data.get('poster')), 'duration': float_or_none(video_data.get('videoDuration')), + 'timestamp': unified_timestamp(video_data.get('ts')), + 'formats': formats, } - if 'audio' in source_url: - info.update({ - 'vcodec': 'none', - 'ext': 'mp3', - }) - else: - info.update({ - 'width': int_or_none(video_data.get('width')), - 'height': int_or_none(video_data.get('height')), - 'ext': 'mp4', - }) - return info diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 2704742..3f49f38 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -41,6 +41,7 @@ from ..utils import ( remove_quotes, remove_start, smuggle_url, + str_or_none, str_to_int, try_get, unescapeHTML, @@ -259,7 +260,9 @@ class YoutubeBaseInfoExtractor(InfoExtractor): return True def _download_webpage_handle(self, *args, **kwargs): - kwargs.setdefault('query', {})['disable_polymer'] = 'true' + query = kwargs.get('query', {}).copy() + query['disable_polymer'] = 'true' + kwargs['query'] = query return super(YoutubeBaseInfoExtractor, self)._download_webpage_handle( *args, **compat_kwargs(kwargs)) @@ -347,6 +350,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): (?:www\.)?hooktube\.com/| (?:www\.)?yourepeat\.com/| tube\.majestyc\.net/| + (?:www\.)?invidio\.us/| youtube\.googleapis\.com/) # the various hostnames, with wildcard subdomains (?:.*?\#/)? # handle anchor (#/) redirect urls (?: # the various things that can precede the ID: @@ -490,12 +494,15 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'uploader': 'Philipp Hagemeister', 'uploader_id': 'phihag', 'uploader_url': r're:https?://(?:www\.)?youtube\.com/user/phihag', + 'channel_id': 'UCLqxVugv74EIW3VWh2NOa3Q', + 'channel_url': r're:https?://(?:www\.)?youtube\.com/channel/UCLqxVugv74EIW3VWh2NOa3Q', 'upload_date': '20121002', 'license': 'Standard YouTube License', 'description': 'test chars: "\'/\\ä↭𝕐\ntest URL: https://github.com/rg3/youtube-dl/issues/1892\n\nThis is a test video for youtube-dl.\n\nFor more information, contact phihag@phihag.de .', 'categories': ['Science & Technology'], 'tags': ['youtube-dl'], 'duration': 10, + 'view_count': int, 'like_count': int, 'dislike_count': int, 'start_time': 1, @@ -578,6 +585,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'categories': ['Science & Technology'], 'tags': ['youtube-dl'], 'duration': 10, + 'view_count': int, 'like_count': int, 'dislike_count': int, }, @@ -1064,6 +1072,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'url': 'https://www.youtube.com/watch?v=MuAGGZNfUkU&list=RDMM', 'only_matching': True, }, + { + 'url': 'https://invidio.us/watch?v=BaW_jenozKc', + 'only_matching': True, + }, ] def __init__(self, *args, **kwargs): @@ -1180,7 +1192,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): (r'(["\'])signature\1\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\(', r'\.sig\|\|(?P<sig>[a-zA-Z0-9$]+)\(', r'yt\.akamaized\.net/\)\s*\|\|\s*.*?\s*c\s*&&\s*d\.set\([^,]+\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\(', - r'\bc\s*&&\s*d\.set\([^,]+\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\('), + r'\bc\s*&&\s*d\.set\([^,]+\s*,\s*(?P<sig>[a-zA-Z0-9$]+)\(', + r'\bc\s*&&\s*d\.set\([^,]+\s*,\s*\([^)]*\)\s*\(\s*(?P<sig>[a-zA-Z0-9$]+)\('), jscode, 'Initial JS player signature function name', group='sig') jsi = JSInterpreter(jscode) @@ -1529,6 +1542,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): def extract_view_count(v_info): return int_or_none(try_get(v_info, lambda x: x['view_count'][0])) + player_response = {} + # Get video info embed_webpage = None if re.search(r'player-age-gate-content">', video_webpage) is not None: @@ -1571,6 +1586,12 @@ class YoutubeIE(YoutubeBaseInfoExtractor): if args.get('livestream') == '1' or args.get('live_playback') == 1: is_live = True sts = ytplayer_config.get('sts') + if not player_response: + pl_response = str_or_none(args.get('player_response')) + if pl_response: + pl_response = self._parse_json(pl_response, video_id, fatal=False) + if isinstance(pl_response, dict): + player_response = pl_response if not video_info or self._downloader.params.get('youtube_include_dash_manifest', True): # We also try looking in get_video_info since it may contain different dashmpd # URL that points to a DASH manifest with possibly different itag set (some itags @@ -1599,6 +1620,10 @@ class YoutubeIE(YoutubeBaseInfoExtractor): if not video_info_webpage: continue get_video_info = compat_parse_qs(video_info_webpage) + if not player_response: + pl_response = get_video_info.get('player_response', [None])[0] + if isinstance(pl_response, dict): + player_response = pl_response add_dash_mpd(get_video_info) if view_count is None: view_count = extract_view_count(get_video_info) @@ -1644,9 +1669,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor): '"token" parameter not in video info for unknown reason', video_id=video_id) + video_details = try_get( + player_response, lambda x: x['videoDetails'], dict) or {} + # title if 'title' in video_info: video_title = video_info['title'][0] + elif 'title' in player_response: + video_title = video_details['title'] else: self._downloader.report_warning('Unable to extract video title') video_title = '_' @@ -1709,6 +1739,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): if view_count is None: view_count = extract_view_count(video_info) + if view_count is None and video_details: + view_count = int_or_none(video_details.get('viewCount')) # Check for "rental" videos if 'ypc_video_rental_bar_text' in video_info and 'author' not in video_info: @@ -1889,7 +1921,9 @@ class YoutubeIE(YoutubeBaseInfoExtractor): raise ExtractorError('no conn, hlsvp or url_encoded_fmt_stream_map information found in video info') # uploader - video_uploader = try_get(video_info, lambda x: x['author'][0], compat_str) + video_uploader = try_get( + video_info, lambda x: x['author'][0], + compat_str) or str_or_none(video_details.get('author')) if video_uploader: video_uploader = compat_urllib_parse_unquote_plus(video_uploader) else: @@ -1907,6 +1941,10 @@ 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_url = 'http://www.youtube.com/channel/%s' % channel_id if channel_id else None + # thumbnail image # We try first to get a high quality image: m_thumb = re.search(r'<span itemprop="thumbnail".*?href="(.*?)">', @@ -1998,12 +2036,19 @@ class YoutubeIE(YoutubeBaseInfoExtractor): like_count = _extract_count('like') dislike_count = _extract_count('dislike') + if view_count is None: + view_count = str_to_int(self._search_regex( + r'<[^>]+class=["\']watch-view-count[^>]+>\s*([\d,\s]+)', video_webpage, + 'view count', default=None)) + # subtitles video_subtitles = self.extract_subtitles(video_id, video_webpage) automatic_captions = self.extract_automatic_captions(video_id, video_webpage) video_duration = try_get( video_info, lambda x: int_or_none(x['length_seconds'][0])) + if not video_duration: + video_duration = int_or_none(video_details.get('lengthSeconds')) if not video_duration: video_duration = parse_duration(self._html_search_meta( 'duration', video_webpage, 'video duration')) @@ -2078,6 +2123,8 @@ class YoutubeIE(YoutubeBaseInfoExtractor): 'uploader': video_uploader, 'uploader_id': video_uploader_id, 'uploader_url': video_uploader_url, + 'channel_id': channel_id, + 'channel_url': channel_url, 'upload_date': upload_date, 'license': video_license, 'creator': video_creator or artist, @@ -2116,7 +2163,11 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): (?:https?://)? (?:\w+\.)? (?: - youtube\.com/ + (?: + youtube\.com| + invidio\.us + ) + / (?: (?:course|view_play_list|my_playlists|artist|playlist|watch|embed/(?:videoseries|[0-9A-Za-z_-]{11})) \? (?:.*?[&;])*? (?:p|a|list)= @@ -2229,6 +2280,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): 'description': 'md5:507cdcb5a49ac0da37a920ece610be80', 'categories': ['People & Blogs'], 'tags': list, + 'view_count': int, 'like_count': int, 'dislike_count': int, }, @@ -2267,6 +2319,9 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): # music album playlist 'url': 'OLAK5uy_m4xAFdmMC5rX3Ji3g93pQe3hqLZw_9LhM', 'only_matching': True, + }, { + 'url': 'https://invidio.us/playlist?list=PLDIoUOhQQPlXr63I_vwF9GD8sAKh77dWU', + 'only_matching': True, }] def _real_initialize(self): @@ -2409,7 +2464,7 @@ class YoutubePlaylistIE(YoutubePlaylistBaseInfoExtractor): class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor): IE_DESC = 'YouTube.com channels' - _VALID_URL = r'https?://(?:youtu\.be|(?:\w+\.)?youtube(?:-nocookie)?\.com)/channel/(?P<id>[0-9A-Za-z_-]+)' + _VALID_URL = r'https?://(?:youtu\.be|(?:\w+\.)?youtube(?:-nocookie)?\.com|(?:www\.)?invidio\.us)/channel/(?P<id>[0-9A-Za-z_-]+)' _TEMPLATE_URL = 'https://www.youtube.com/channel/%s/videos' _VIDEO_RE = r'(?:title="(?P<title>[^"]+)"[^>]+)?href="/watch\?v=(?P<id>[0-9A-Za-z_-]+)&?' IE_NAME = 'youtube:channel' @@ -2430,6 +2485,9 @@ class YoutubeChannelIE(YoutubePlaylistBaseInfoExtractor): 'id': 'UUs0ifCMCm1icqRbqhUINa0w', 'title': 'Uploads from Deus Ex', }, + }, { + 'url': 'https://invidio.us/channel/UC23qupoDRn9YOAVzeoxjOQA', + 'only_matching': True, }] @classmethod diff --git a/youtube_dl/extractor/zattoo.py b/youtube_dl/extractor/zattoo.py index fb167c1..8962763 100644 --- a/youtube_dl/extractor/zattoo.py +++ b/youtube_dl/extractor/zattoo.py @@ -18,12 +18,12 @@ from ..utils import ( ) -class ZattooBaseIE(InfoExtractor): - _NETRC_MACHINE = 'zattoo' - _HOST_URL = 'https://zattoo.com' - +class ZattooPlatformBaseIE(InfoExtractor): _power_guide_hash = None + def _host_url(self): + return 'https://%s' % (self._API_HOST if hasattr(self, '_API_HOST') else self._HOST) + def _login(self): username, password = self._get_login_info() if not username or not password: @@ -33,13 +33,13 @@ class ZattooBaseIE(InfoExtractor): try: data = self._download_json( - '%s/zapi/v2/account/login' % self._HOST_URL, None, 'Logging in', + '%s/zapi/v2/account/login' % self._host_url(), None, 'Logging in', data=urlencode_postdata({ 'login': username, 'password': password, 'remember': 'true', }), headers={ - 'Referer': '%s/login' % self._HOST_URL, + 'Referer': '%s/login' % self._host_url(), 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8', }) except ExtractorError as e: @@ -53,7 +53,7 @@ class ZattooBaseIE(InfoExtractor): def _real_initialize(self): webpage = self._download_webpage( - self._HOST_URL, None, 'Downloading app token') + self._host_url(), None, 'Downloading app token') app_token = self._html_search_regex( r'appToken\s*=\s*(["\'])(?P<token>(?:(?!\1).)+?)\1', webpage, 'app token', group='token') @@ -62,7 +62,7 @@ class ZattooBaseIE(InfoExtractor): # Will setup appropriate cookies self._request_webpage( - '%s/zapi/v2/session/hello' % self._HOST_URL, None, + '%s/zapi/v2/session/hello' % self._host_url(), None, 'Opening session', data=urlencode_postdata({ 'client_app_token': app_token, 'uuid': compat_str(uuid4()), @@ -75,7 +75,7 @@ class ZattooBaseIE(InfoExtractor): def _extract_cid(self, video_id, channel_name): channel_groups = self._download_json( - '%s/zapi/v2/cached/channels/%s' % (self._HOST_URL, + '%s/zapi/v2/cached/channels/%s' % (self._host_url(), self._power_guide_hash), video_id, 'Downloading channel list', query={'details': False})['channel_groups'] @@ -93,28 +93,30 @@ class ZattooBaseIE(InfoExtractor): def _extract_cid_and_video_info(self, video_id): data = self._download_json( - '%s/zapi/program/details' % self._HOST_URL, + '%s/zapi/v2/cached/program/power_details/%s' % ( + self._host_url(), self._power_guide_hash), video_id, 'Downloading video information', query={ - 'program_id': video_id, - 'complete': True + 'program_ids': video_id, + 'complete': True, }) - p = data['program'] + p = data['programs'][0] cid = p['cid'] info_dict = { 'id': video_id, - 'title': p.get('title') or p['episode_title'], - 'description': p.get('description'), - 'thumbnail': p.get('image_url'), + 'title': p.get('t') or p['et'], + 'description': p.get('d'), + 'thumbnail': p.get('i_url'), 'creator': p.get('channel_name'), - 'episode': p.get('episode_title'), - 'episode_number': int_or_none(p.get('episode_number')), - 'season_number': int_or_none(p.get('season_number')), + 'episode': p.get('et'), + 'episode_number': int_or_none(p.get('e_no')), + 'season_number': int_or_none(p.get('s_no')), 'release_year': int_or_none(p.get('year')), - 'categories': try_get(p, lambda x: x['categories'], list), + 'categories': try_get(p, lambda x: x['c'], list), + 'tags': try_get(p, lambda x: x['g'], list) } return cid, info_dict @@ -126,11 +128,11 @@ class ZattooBaseIE(InfoExtractor): if is_live: postdata_common.update({'timeshift': 10800}) - url = '%s/zapi/watch/live/%s' % (self._HOST_URL, cid) + url = '%s/zapi/watch/live/%s' % (self._host_url(), cid) elif record_id: - url = '%s/zapi/watch/recording/%s' % (self._HOST_URL, record_id) + url = '%s/zapi/watch/recording/%s' % (self._host_url(), record_id) else: - url = '%s/zapi/watch/recall/%s/%s' % (self._HOST_URL, cid, video_id) + url = '%s/zapi/watch/recall/%s/%s' % (self._host_url(), cid, video_id) formats = [] for stream_type in ('dash', 'hls', 'hls5', 'hds'): @@ -201,13 +203,13 @@ class ZattooBaseIE(InfoExtractor): return info_dict -class QuicklineBaseIE(ZattooBaseIE): +class QuicklineBaseIE(ZattooPlatformBaseIE): _NETRC_MACHINE = 'quickline' - _HOST_URL = 'https://mobiltv.quickline.com' + _HOST = 'mobiltv.quickline.com' class QuicklineIE(QuicklineBaseIE): - _VALID_URL = r'https?://(?:www\.)?mobiltv\.quickline\.com/watch/(?P<channel>[^/]+)/(?P<id>[0-9]+)' + _VALID_URL = r'https?://(?:www\.)?%s/watch/(?P<channel>[^/]+)/(?P<id>[0-9]+)' % re.escape(QuicklineBaseIE._HOST) _TEST = { 'url': 'https://mobiltv.quickline.com/watch/prosieben/130671867-maze-runner-die-auserwaehlten-in-der-brandwueste', @@ -220,7 +222,7 @@ class QuicklineIE(QuicklineBaseIE): class QuicklineLiveIE(QuicklineBaseIE): - _VALID_URL = r'https?://(?:www\.)?mobiltv\.quickline\.com/watch/(?P<id>[^/]+)' + _VALID_URL = r'https?://(?:www\.)?%s/watch/(?P<id>[^/]+)' % re.escape(QuicklineBaseIE._HOST) _TEST = { 'url': 'https://mobiltv.quickline.com/watch/srf1', @@ -236,8 +238,18 @@ class QuicklineLiveIE(QuicklineBaseIE): return self._extract_video(channel_name, video_id, is_live=True) +class ZattooBaseIE(ZattooPlatformBaseIE): + _NETRC_MACHINE = 'zattoo' + _HOST = 'zattoo.com' + + +def _make_valid_url(tmpl, host): + return tmpl % re.escape(host) + + class ZattooIE(ZattooBaseIE): - _VALID_URL = r'https?://(?:www\.)?zattoo\.com/watch/(?P<channel>[^/]+?)/(?P<id>[0-9]+)[^/]+(?:/(?P<recid>[0-9]+))?' + _VALID_URL_TEMPLATE = r'https?://(?:www\.)?%s/watch/(?P<channel>[^/]+?)/(?P<id>[0-9]+)[^/]+(?:/(?P<recid>[0-9]+))?' + _VALID_URL = _make_valid_url(_VALID_URL_TEMPLATE, ZattooBaseIE._HOST) # Since regular videos are only available for 7 days and recorded videos # are only available for a specific user, we cannot have detailed tests. @@ -269,3 +281,142 @@ class ZattooLiveIE(ZattooBaseIE): def _real_extract(self, url): channel_name = video_id = self._match_id(url) return self._extract_video(channel_name, video_id, is_live=True) + + +class NetPlusIE(ZattooIE): + _NETRC_MACHINE = 'netplus' + _HOST = 'netplus.tv' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.netplus.tv/watch/abc/123-abc', + 'only_matching': True, + }] + + +class MNetTVIE(ZattooIE): + _NETRC_MACHINE = 'mnettv' + _HOST = 'tvplus.m-net.de' + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://tvplus.m-net.de/watch/abc/123-abc', + 'only_matching': True, + }] + + +class WalyTVIE(ZattooIE): + _NETRC_MACHINE = 'walytv' + _HOST = 'player.waly.tv' + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://player.waly.tv/watch/abc/123-abc', + 'only_matching': True, + }] + + +class BBVTVIE(ZattooIE): + _NETRC_MACHINE = 'bbvtv' + _HOST = 'bbv-tv.net' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.bbv-tv.net/watch/abc/123-abc', + 'only_matching': True, + }] + + +class VTXTVIE(ZattooIE): + _NETRC_MACHINE = 'vtxtv' + _HOST = 'vtxtv.ch' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.vtxtv.ch/watch/abc/123-abc', + 'only_matching': True, + }] + + +class MyVisionTVIE(ZattooIE): + _NETRC_MACHINE = 'myvisiontv' + _HOST = 'myvisiontv.ch' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.myvisiontv.ch/watch/abc/123-abc', + 'only_matching': True, + }] + + +class GlattvisionTVIE(ZattooIE): + _NETRC_MACHINE = 'glattvisiontv' + _HOST = 'iptv.glattvision.ch' + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://iptv.glattvision.ch/watch/abc/123-abc', + 'only_matching': True, + }] + + +class SAKTVIE(ZattooIE): + _NETRC_MACHINE = 'saktv' + _HOST = 'saktv.ch' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.saktv.ch/watch/abc/123-abc', + 'only_matching': True, + }] + + +class EWETVIE(ZattooIE): + _NETRC_MACHINE = 'ewetv' + _HOST = 'tvonline.ewe.de' + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://tvonline.ewe.de/watch/abc/123-abc', + 'only_matching': True, + }] + + +class QuantumTVIE(ZattooIE): + _NETRC_MACHINE = 'quantumtv' + _HOST = 'quantum-tv.com' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.quantum-tv.com/watch/abc/123-abc', + 'only_matching': True, + }] + + +class OsnatelTVIE(ZattooIE): + _NETRC_MACHINE = 'osnateltv' + _HOST = 'tvonline.osnatel.de' + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://tvonline.osnatel.de/watch/abc/123-abc', + 'only_matching': True, + }] + + +class EinsUndEinsTVIE(ZattooIE): + _NETRC_MACHINE = '1und1tv' + _HOST = '1und1.tv' + _API_HOST = 'www.%s' % _HOST + _VALID_URL = _make_valid_url(ZattooIE._VALID_URL_TEMPLATE, _HOST) + + _TESTS = [{ + 'url': 'https://www.1und1.tv/watch/abc/123-abc', + 'only_matching': True, + }] diff --git a/youtube_dl/version.py b/youtube_dl/version.py index b078c49..7f32ad3 100644 --- a/youtube_dl/version.py +++ b/youtube_dl/version.py @@ -1,3 +1,3 @@ from __future__ import unicode_literals -__version__ = '2018.09.10' +__version__ = '2018.11.07' -- 2.41.1