Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
Backups
youtube-dl
Commits
3d6761ba
Unverified
Commit
3d6761ba
authored
Dec 20, 2016
by
Sergey M․
Browse files
[vbox7] Fix extraction (closes #11494)
parent
f59d1146
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
52 additions
and
23 deletions
+52
-23
youtube_dl/extractor/vbox7.py
youtube_dl/extractor/vbox7.py
+52
-23
No files found.
youtube_dl/extractor/vbox7.py
View file @
3d6761ba
...
...
@@ -4,11 +4,22 @@ from __future__ import unicode_literals
import
re
from
.common
import
InfoExtractor
from
..utils
import
urlencode_postdata
from
..utils
import
ExtractorError
class
Vbox7IE
(
InfoExtractor
):
_VALID_URL
=
r
'https?://(?:www\.)?vbox7\.com/(?:play:|emb/external\.php\?.*?\bvid=)(?P<id>[\da-fA-F]+)'
_VALID_URL
=
r
'''(?x)
https?://
(?:[^/]+\.)?vbox7\.com/
(?:
play:|
(?:
emb/external\.php|
player/ext\.swf
)\?.*?\bvid=
)
(?P<id>[\da-fA-F]+)
'''
_TESTS
=
[{
'url'
:
'http://vbox7.com/play:0946fff23c'
,
'md5'
:
'a60f9ab3a3a2f013ef9a967d5f7be5bf'
,
...
...
@@ -16,6 +27,14 @@ class Vbox7IE(InfoExtractor):
'id'
:
'0946fff23c'
,
'ext'
:
'mp4'
,
'title'
:
'Борисов: Притеснен съм за бъдещето на България'
,
'description'
:
'По думите му е опасно страната ни да бъде обявена за "сигурна"'
,
'thumbnail'
:
're:^https?://.*\.jpg$'
,
'timestamp'
:
1470982814
,
'upload_date'
:
'20160812'
,
'uploader'
:
'zdraveibulgaria'
,
},
'params'
:
{
'proxy'
:
'127.0.0.1:8118'
,
},
},
{
'url'
:
'http://vbox7.com/play:249bb972c2'
,
...
...
@@ -29,6 +48,9 @@ class Vbox7IE(InfoExtractor):
},
{
'url'
:
'http://vbox7.com/emb/external.php?vid=a240d20f9c&autoplay=1'
,
'only_matching'
:
True
,
},
{
'url'
:
'http://i49.vbox7.com/player/ext.swf?vid=0946fff23c&autoplay=1'
,
'only_matching'
:
True
,
}]
@
staticmethod
...
...
@@ -42,33 +64,40 @@ class Vbox7IE(InfoExtractor):
def
_real_extract
(
self
,
url
):
video_id
=
self
.
_match_id
(
url
)
webpage
=
self
.
_download_webpage
(
'http://vbox7.com/play:%s'
%
video_id
,
video_id
)
title
=
self
.
_html_search_regex
(
r
'<title>(.+?)</title>'
,
webpage
,
'title'
).
split
(
'/'
)[
0
].
strip
()
response
=
self
.
_download_json
(
'https://www.vbox7.com/ajax/video/nextvideo.php?vid=%s'
%
video_id
,
video_id
)
video_url
=
self
.
_search_regex
(
r
'src\s*:\s*(["\'])(?P<url>.+?.mp4.*?)\1'
,
webpage
,
'video url'
,
default
=
None
,
group
=
'url'
)
if
'error'
in
response
:
r
aise
ExtractorError
(
'%s said: %s'
%
(
self
.
IE_NAME
,
response
[
'error'
]),
expected
=
True
)
thumbnail_url
=
self
.
_og_search_thumbnail
(
webpage
)
video
=
response
[
'options'
]
if
not
video_url
:
info_response
=
self
.
_download_webpage
(
'http://vbox7.com/play/magare.do'
,
video_id
,
'Downloading info webpage'
,
data
=
urlencode_postdata
({
'as3'
:
'1'
,
'vid'
:
video_id
}),
headers
=
{
'Content-Type'
:
'application/x-www-form-urlencoded'
})
final_url
,
thumbnail_url
=
map
(
lambda
x
:
x
.
split
(
'='
)[
1
],
info_response
.
split
(
'&'
))
title
=
video
[
'title'
]
video_url
=
video
[
'src'
]
if
'/na.mp4'
in
video_url
:
self
.
raise_geo_restricted
()
return
{
uploader
=
video
.
get
(
'uploader'
)
webpage
=
self
.
_download_webpage
(
'http://vbox7.com/play:%s'
%
video_id
,
video_id
,
fatal
=
None
)
info
=
{}
if
webpage
:
info
=
self
.
_search_json_ld
(
webpage
.
replace
(
'"/*@context"'
,
'"@context"'
),
video_id
)
info
.
update
({
'id'
:
video_id
,
'url'
:
self
.
_proto_relative_url
(
video_url
,
'http:'
),
'title'
:
title
,
'thumbnail'
:
thumbnail_url
,
}
'url'
:
video_url
,
'uploader'
:
uploader
,
'thumbnail'
:
self
.
_proto_relative_url
(
info
.
get
(
'thumbnail'
)
or
self
.
_og_search_thumbnail
(
webpage
),
'http:'
),
})
return
info
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment