diff --git a/test/tests.json b/test/tests.json index 86dc48570a..01367b0fb4 100644 --- a/test/tests.json +++ b/test/tests.json @@ -640,5 +640,14 @@ "uploader_id": "videoseconds", "title": "Instagram photo by @videoseconds (Videos)" } + }, + { + "name": "Break", + "url": "http://www.break.com/video/when-girls-act-like-guys-2468056", + "file": "2468056.mp4", + "md5": "a3513fb1547fba4fb6cfac1bffc6c46b", + "info_dict": { + "title": "When Girls Act Like D-Bags" + } } ] diff --git a/youtube_dl/extractor/__init__.py b/youtube_dl/extractor/__init__.py index 4729512edd..b208f9002e 100644 --- a/youtube_dl/extractor/__init__.py +++ b/youtube_dl/extractor/__init__.py @@ -3,6 +3,7 @@ from .ard import ARDIE from .arte import ArteTvIE from .bandcamp import BandcampIE from .bliptv import BlipTVIE, BlipTVUserIE +from .breakcom import BreakIE from .comedycentral import ComedyCentralIE from .collegehumor import CollegeHumorIE from .dailymotion import DailymotionIE @@ -123,6 +124,7 @@ def gen_extractors(): Vbox7IE(), GametrailersIE(), StatigramIE(), + BreakIE(), GenericIE() ] diff --git a/youtube_dl/extractor/breakcom.py b/youtube_dl/extractor/breakcom.py new file mode 100644 index 0000000000..1f6620d915 --- /dev/null +++ b/youtube_dl/extractor/breakcom.py @@ -0,0 +1,25 @@ +import re + +from .common import InfoExtractor + + +class BreakIE(InfoExtractor): + _VALID_URL = r'(?:http://)?(?:www\.)?break\.com/video/([^/]+)' + + def _real_extract(self, url): + mobj = re.match(self._VALID_URL, url) + video_id = mobj.group(1).split("-")[-1] + webpage = self._download_webpage(url, video_id) + video_url = re.search(r"videoPath: '(.+?)',",webpage).group(1) + key = re.search(r"icon: '(.+?)',",webpage).group(1) + final_url = str(video_url)+"?"+str(key) + thumbnail_url = re.search(r"thumbnailURL: '(.+?)'",webpage).group(1) + title = re.search(r"sVidTitle: '(.+)',",webpage).group(1) + ext = video_url.split('.')[-1] + return [{ + 'id': video_id, + 'url': final_url, + 'ext': ext, + 'title': title, + 'thumbnail': thumbnail_url, + }]