mirror of
https://github.com/l1ving/youtube-dl
synced 2025-03-15 16:17:45 +08:00
richannel Add new extractor
This commit is contained in:
parent
ebc7ab1e23
commit
2c5def659c
@ -267,7 +267,10 @@ from .engadget import EngadgetIE
|
|||||||
from .eporner import EpornerIE
|
from .eporner import EpornerIE
|
||||||
from .eroprofile import EroProfileIE
|
from .eroprofile import EroProfileIE
|
||||||
from .escapist import EscapistIE
|
from .escapist import EscapistIE
|
||||||
from .espn import ESPNIE
|
from .espn import (
|
||||||
|
ESPNIE,
|
||||||
|
ESPNArticleIE,
|
||||||
|
)
|
||||||
from .esri import EsriVideoIE
|
from .esri import EsriVideoIE
|
||||||
from .europa import EuropaIE
|
from .europa import EuropaIE
|
||||||
from .everyonesmixtape import EveryonesMixtapeIE
|
from .everyonesmixtape import EveryonesMixtapeIE
|
||||||
@ -760,6 +763,7 @@ from .revision3 import (
|
|||||||
Revision3IE,
|
Revision3IE,
|
||||||
)
|
)
|
||||||
from .rice import RICEIE
|
from .rice import RICEIE
|
||||||
|
from .richannel import RIChannelIE
|
||||||
from .ringtv import RingTVIE
|
from .ringtv import RingTVIE
|
||||||
from .rmcdecouverte import RMCDecouverteIE
|
from .rmcdecouverte import RMCDecouverteIE
|
||||||
from .ro220 import Ro220IE
|
from .ro220 import Ro220IE
|
||||||
|
60
youtube_dl/extractor/richannel.py
Normal file
60
youtube_dl/extractor/richannel.py
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from .common import InfoExtractor
|
||||||
|
|
||||||
|
import re
|
||||||
|
import urllib
|
||||||
|
|
||||||
|
|
||||||
|
class RIChannelIE(InfoExtractor):
|
||||||
|
_VALID_URL = r'http?://(?:www\.)?richannel\.org/(?P<id>[-a-z0-9]+)'
|
||||||
|
_TEST = {
|
||||||
|
'url': 'http://www.richannel.org/christmas-lectures-1991-richard-dawkins--waking-up-in-the-universe',
|
||||||
|
'md5': 'd41d8cd98f00b204e9800998ecf8427e',
|
||||||
|
'info_dict': {
|
||||||
|
'id': 'christmas-lectures-1991-richard-dawkins--waking-up-in-the-universe',
|
||||||
|
'ext': 'mp4',
|
||||||
|
'title': str(172) # 'CHRISTMAS LECTURES 1991: Richard Dawkins - Waking Up in the Universe', is too long to fit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
def _real_extract(self, url):
|
||||||
|
video_id = self._match_id(url)
|
||||||
|
webpage = self._download_webpage(url, video_id)
|
||||||
|
pattern = re.compile("video id=\"player-\d+")
|
||||||
|
reduced = pattern.search(webpage)
|
||||||
|
patt = re.compile("[\d]+")
|
||||||
|
r = str(reduced.group())
|
||||||
|
m = patt.search(r)
|
||||||
|
RiP = str(m.group())
|
||||||
|
resolutions = ['480', '640', '960', '1280']
|
||||||
|
valid_urls = []
|
||||||
|
i = 0
|
||||||
|
src = "http://theri.bc.cdn.bitgravity.com/" \
|
||||||
|
"vid_" + RiP + "/" + RiP + "_" + resolutions[i] + ".mp4"
|
||||||
|
redirected_url = src
|
||||||
|
while(i < 4):
|
||||||
|
src = "http://theri.bc.cdn.bitgravity.com/" \
|
||||||
|
"vid_" + RiP + "/" + RiP + "_" + resolutions[i] + ".mp4"
|
||||||
|
try:
|
||||||
|
request = urllib.Request(src)
|
||||||
|
opener = urllib.build_opener()
|
||||||
|
f = opener.open(request)
|
||||||
|
if (f.getcode() == 200):
|
||||||
|
redirected_url = f.url
|
||||||
|
valid_urls.append(redirected_url)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
formats = [{
|
||||||
|
'quality': resolutions[i],
|
||||||
|
'url': redirected_url,
|
||||||
|
}]
|
||||||
|
i += 1
|
||||||
|
self._sort_formats(formats)
|
||||||
|
|
||||||
|
return {
|
||||||
|
'id': video_id,
|
||||||
|
'title': str(RiP),
|
||||||
|
'formats': formats,
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user