Browse Source

[SpankBang] Add new extractor

master
newtonelectron 10 years ago
parent
commit
6410229681
2 changed files with 39 additions and 0 deletions
  1. 1
      youtube_dl/extractor/__init__.py
  2. 38
      youtube_dl/extractor/spankbang.py

1
youtube_dl/extractor/__init__.py

@ -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

38
youtube_dl/extractor/spankbang.py

@ -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
Loading…
Cancel
Save