Browse Source

[quickscope] Add extractor

totalwebcasting
Sergey M․ 10 years ago
parent
commit
428e4e4a85
2 changed files with 25 additions and 1 deletions
  1. +4
    -1
      youtube_dl/extractor/__init__.py
  2. +21
    -0
      youtube_dl/extractor/periscope.py

+ 4
- 1
youtube_dl/extractor/__init__.py View File

@ -432,7 +432,10 @@ from .orf import (
from .parliamentliveuk import ParliamentLiveUKIE from .parliamentliveuk import ParliamentLiveUKIE
from .patreon import PatreonIE from .patreon import PatreonIE
from .pbs import PBSIE from .pbs import PBSIE
from .periscope import PeriscopeIE
from .periscope import (
PeriscopeIE,
QuickscopeIE,
)
from .philharmoniedeparis import PhilharmonieDeParisIE from .philharmoniedeparis import PhilharmonieDeParisIE
from .phoenix import PhoenixIE from .phoenix import PhoenixIE
from .photobucket import PhotobucketIE from .photobucket import PhotobucketIE


+ 21
- 0
youtube_dl/extractor/periscope.py View File

@ -76,3 +76,24 @@ class PeriscopeIE(InfoExtractor):
'thumbnails': thumbnails, 'thumbnails': thumbnails,
'formats': formats, 'formats': formats,
} }
class QuickscopeIE(InfoExtractor):
IE_DESC = 'Quisck Scope'
_VALID_URL = r'https?://watchonperiscope\.com/broadcast/(?P<id>\d+)'
_TEST = {
'url': 'https://watchonperiscope.com/broadcast/56180087',
'only_matching': True,
}
def _real_extract(self, url):
broadcast_id = self._match_id(url)
request = compat_urllib_request.Request(
'https://watchonperiscope.com/api/accessChannel', compat_urllib_parse.urlencode({
'broadcast_id': broadcast_id,
'entry_ticket': '',
'from_push': 'false',
'uses_sessions': 'true',
}).encode('utf-8'))
return self.url_result(
self._download_json(request, broadcast_id)['share_url'], 'Periscope')

Loading…
Cancel
Save