1
0
mirror of https://code.hackerspace.pl/q3k/youtube-dl synced 2025-03-16 11:43:02 +00:00

[SpankBang] Add new extractor

This commit is contained in:
newtonelectron 2015-04-05 12:50:21 -07:00
parent 3a9fadd6df
commit 6410229681
2 changed files with 39 additions and 0 deletions
youtube_dl/extractor

@ -471,6 +471,7 @@ from .southpark import (
SouthparkDeIE, SouthparkDeIE,
) )
from .space import SpaceIE from .space import SpaceIE
from .spankbang import SpankBangIE
from .spankwire import SpankwireIE from .spankwire import SpankwireIE
from .spiegel import SpiegelIE, SpiegelArticleIE from .spiegel import SpiegelIE, SpiegelArticleIE
from .spiegeltv import SpiegeltvIE from .spiegeltv import SpiegeltvIE

@ -0,0 +1,38 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
import re
class SpankBangIE(InfoExtractor):
"""Extractor for http://spankbang.com"""
_VALID_URL = r"https?://(?:www\.)?spankbang\.com/(?P<id>\w+)/video/.*"
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
title = self._html_search_regex(r"<h1>(?:<img.+?>)?(.*?)</h1>", webpage, "title")
stream_key = self._html_search_regex(r"""var\s+stream_key\s*[=]\s*['"](.+?)['"]\s*;""", webpage, "stream_key")
qualities = re.findall(r"<span.+?>([0-9]+p).*?</span>", webpage)
formats = []
for q in sorted(qualities):
formats.append({
"format_id": q,
"format": q,
"ext": "mp4",
"url": "http://spankbang.com/_{}/{}/title/{}__mp4".format(video_id, stream_key, q)
})
return {
"id": video_id,
"title": title,
"description": self._og_search_description(webpage),
"formats": formats
}
# vim: tabstop=4 expandtab