summaryrefslogtreecommitdiffstats
path: root/yt_dlp/extractor/worldstarhiphop.py
diff options
context:
space:
mode:
Diffstat (limited to 'yt_dlp/extractor/worldstarhiphop.py')
-rw-r--r--yt_dlp/extractor/worldstarhiphop.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/yt_dlp/extractor/worldstarhiphop.py b/yt_dlp/extractor/worldstarhiphop.py
new file mode 100644
index 0000000..c6948a1
--- /dev/null
+++ b/yt_dlp/extractor/worldstarhiphop.py
@@ -0,0 +1,38 @@
+from .common import InfoExtractor
+
+
+class WorldStarHipHopIE(InfoExtractor):
+ _VALID_URL = r'https?://(?:www|m)\.worldstar(?:candy|hiphop)\.com/(?:videos|android)/video\.php\?.*?\bv=(?P<id>[^&]+)'
+ _TESTS = [{
+ 'url': 'http://www.worldstarhiphop.com/videos/video.php?v=wshh6a7q1ny0G34ZwuIO',
+ 'md5': '9d04de741161603bf7071bbf4e883186',
+ 'info_dict': {
+ 'id': 'wshh6a7q1ny0G34ZwuIO',
+ 'ext': 'mp4',
+ 'title': 'KO Of The Week: MMA Fighter Gets Knocked Out By Swift Head Kick!'
+ }
+ }, {
+ 'url': 'http://m.worldstarhiphop.com/android/video.php?v=wshh6a7q1ny0G34ZwuIO',
+ 'only_matching': True,
+ }]
+
+ def _real_extract(self, url):
+ video_id = self._match_id(url)
+ webpage = self._download_webpage(url, video_id)
+
+ entries = self._parse_html5_media_entries(url, webpage, video_id)
+
+ if not entries:
+ return self.url_result(url, 'Generic')
+
+ title = self._html_search_regex(
+ [r'(?s)<div class="content-heading">\s*<h1>(.*?)</h1>',
+ r'<span[^>]+class="tc-sp-pinned-title">(.*)</span>'],
+ webpage, 'title')
+
+ info = entries[0]
+ info.update({
+ 'id': video_id,
+ 'title': title,
+ })
+ return info