projects
/
youtube-dl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[ok] Extract correct data-options (Closes #6726)
[youtube-dl]
/
youtube_dl
/
extractor
/
odnoklassniki.py
diff --git
a/youtube_dl/extractor/odnoklassniki.py
b/youtube_dl/extractor/odnoklassniki.py
index 6c7149fe3859732978d34356f8c18aca14e74f63..97900a4c393c3011366cf7c0b5e7183c2a02f100 100644
(file)
--- a/
youtube_dl/extractor/odnoklassniki.py
+++ b/
youtube_dl/extractor/odnoklassniki.py
@@
-2,7
+2,7
@@
from __future__ import unicode_literals
from .common import InfoExtractor
from __future__ import unicode_literals
from .common import InfoExtractor
-from ..compat import compat_urllib_parse
+from ..compat import compat_urllib_parse
_unquote
from ..utils import (
unified_strdate,
int_or_none,
from ..utils import (
unified_strdate,
int_or_none,
@@
-12,19
+12,21
@@
from ..utils import (
class OdnoklassnikiIE(InfoExtractor):
class OdnoklassnikiIE(InfoExtractor):
- _VALID_URL = r'https?://(?:odnoklassniki|ok)\.ru/(?:video|web-api/video/moviePlayer)/(?P<id>[\d-]+)'
+ _VALID_URL = r'https?://(?:
www\.)?(?:
odnoklassniki|ok)\.ru/(?:video|web-api/video/moviePlayer)/(?P<id>[\d-]+)'
_TESTS = [{
# metadata in JSON
'url': 'http://ok.ru/video/20079905452',
_TESTS = [{
# metadata in JSON
'url': 'http://ok.ru/video/20079905452',
- 'md5': '
8e24ad2da6f387948e7a7d44eb8668fe
',
+ 'md5': '
6ba728d85d60aa2e6dd37c9e70fdc6bc
',
'info_dict': {
'id': '20079905452',
'ext': 'mp4',
'title': 'Культура меняет нас (прекрасный ролик!))',
'duration': 100,
'info_dict': {
'id': '20079905452',
'ext': 'mp4',
'title': 'Культура меняет нас (прекрасный ролик!))',
'duration': 100,
+ 'upload_date': '20141207',
'uploader_id': '330537914540',
'uploader': 'Виталий Добровольский',
'like_count': int,
'uploader_id': '330537914540',
'uploader': 'Виталий Добровольский',
'like_count': int,
+ 'age_limit': 0,
},
}, {
# metadataUrl
},
}, {
# metadataUrl
@@
-35,13
+37,18
@@
class OdnoklassnikiIE(InfoExtractor):
'ext': 'mp4',
'title': 'Девушка без комплексов ...',
'duration': 191,
'ext': 'mp4',
'title': 'Девушка без комплексов ...',
'duration': 191,
+ 'upload_date': '20150518',
'uploader_id': '534380003155',
'uploader_id': '534380003155',
- 'uploader': '
Андрей Мещанинов
',
+ 'uploader': '
☭ Андрей Мещанинов ☭
',
'like_count': int,
'like_count': int,
+ 'age_limit': 0,
},
}, {
'url': 'http://ok.ru/web-api/video/moviePlayer/20079905452',
'only_matching': True,
},
}, {
'url': 'http://ok.ru/web-api/video/moviePlayer/20079905452',
'only_matching': True,
+ }, {
+ 'url': 'http://www.ok.ru/video/20648036891',
+ 'only_matching': True,
}]
def _real_extract(self, url):
}]
def _real_extract(self, url):
@@
-52,7
+59,7
@@
class OdnoklassnikiIE(InfoExtractor):
player = self._parse_json(
unescapeHTML(self._search_regex(
player = self._parse_json(
unescapeHTML(self._search_regex(
- r'data-
attributes="([^"]+)"'
, webpage, 'player')),
+ r'data-
options="([^"]+%s[^"]+)"' % video_id
, webpage, 'player')),
video_id)
flashvars = player['flashvars']
video_id)
flashvars = player['flashvars']
@@
-62,7
+69,7
@@
class OdnoklassnikiIE(InfoExtractor):
metadata = self._parse_json(metadata, video_id)
else:
metadata = self._download_json(
metadata = self._parse_json(metadata, video_id)
else:
metadata = self._download_json(
- compat_urllib_parse
.
unquote(flashvars['metadataUrl']),
+ compat_urllib_parse
_
unquote(flashvars['metadataUrl']),
video_id, 'Downloading metadata JSON')
movie = metadata['movie']
video_id, 'Downloading metadata JSON')
movie = metadata['movie']