Browse Source

[SpankBang] Add new extractor

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

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

@ -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
- 0
youtube_dl/extractor/spankbang.py View File

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