1
0
mirror of https://github.com/l1ving/youtube-dl synced 2024-12-22 09:22:53 +08:00

Merge pull request #9041 from kasper93/master

[generic] Add support for LiveLeak embeds
This commit is contained in:
Yen Chi Hsuan 2016-04-15 17:23:55 +08:00
commit 66d40ae3a5
2 changed files with 26 additions and 0 deletions

View File

@ -60,6 +60,7 @@ from .googledrive import GoogleDriveIE
from .jwplatform import JWPlatformIE from .jwplatform import JWPlatformIE
from .digiteka import DigitekaIE from .digiteka import DigitekaIE
from .instagram import InstagramIE from .instagram import InstagramIE
from .liveleak import LiveLeakIE
class GenericIE(InfoExtractor): class GenericIE(InfoExtractor):
@ -1140,6 +1141,18 @@ class GenericIE(InfoExtractor):
'upload_date': '20160409', 'upload_date': '20160409',
}, },
}, },
# LiveLeak embed
{
'url': 'http://www.wykop.pl/link/3088787/',
'md5': 'ace83b9ed19b21f68e1b50e844fdf95d',
'info_dict': {
'id': '874_1459135191',
'ext': 'mp4',
'title': 'Man shows poor quality of new apartment building',
'description': 'The wall is like a sand pile.',
'uploader': 'Lake8737',
}
},
] ]
def report_following_redirect(self, new_url): def report_following_redirect(self, new_url):
@ -1944,6 +1957,11 @@ class GenericIE(InfoExtractor):
if instagram_embed_url is not None: if instagram_embed_url is not None:
return self.url_result(instagram_embed_url, InstagramIE.ie_key()) return self.url_result(instagram_embed_url, InstagramIE.ie_key())
# Look for LiveLeak embeds
liveleak_url = LiveLeakIE._extract_url(webpage)
if liveleak_url:
return self.url_result(liveleak_url, 'LiveLeak')
def check_video(vurl): def check_video(vurl):
if YoutubeIE.suitable(vurl): if YoutubeIE.suitable(vurl):
return True return True

View File

@ -53,6 +53,14 @@ class LiveLeakIE(InfoExtractor):
} }
}] }]
@staticmethod
def _extract_url(webpage):
mobj = re.search(
r'<iframe[^>]+src="https?://(?:\w+\.)?liveleak\.com/ll_embed\?(?:.*?)i=(?P<id>[\w_]+)(?:.*)',
webpage)
if mobj:
return 'http://www.liveleak.com/view?i=%s' % mobj.group('id')
def _real_extract(self, url): def _real_extract(self, url):
video_id = self._match_id(url) video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id) webpage = self._download_webpage(url, video_id)