[Varzesh3] Add new extractor

This commit is contained in:
Mohammad Teimori Pabandi 2015-03-26 18:17:21 +04:30
parent 094ce39c45
commit db40364b87
2 changed files with 64 additions and 0 deletions

View File

@ -548,6 +548,7 @@
from .unistra import UnistraIE from .unistra import UnistraIE
from .urort import UrortIE from .urort import UrortIE
from .ustream import UstreamIE, UstreamChannelIE from .ustream import UstreamIE, UstreamChannelIE
from .varzesh3 import Varzesh3IE
from .vbox7 import Vbox7IE from .vbox7 import Vbox7IE
from .veehd import VeeHDIE from .veehd import VeeHDIE
from .veoh import VeohIE from .veoh import VeohIE

View File

@ -0,0 +1,63 @@
# coding: utf-8
from __future__ import unicode_literals
from .common import InfoExtractor
from ..utils import (
ExtractorError,
)
import re
class Varzesh3IE(InfoExtractor):
_VALID_URL = r'(?P<url>(https?://(?:www\.)?video\.varzesh3\.com)/(?P<id>.+))'
_TESTS = [
{
'url': 'http://video.varzesh3.com/video/%D8%AF%D8%A7%D9%86%D9%85%D8%A7%D8%B1%DA%A9-3-2-%D8%A2%D9%85%D8%B1%DB%8C%DA%A9%D8%A7/',
'md5': 'c4b850780df9374b078463c5cf6b3318',
'info_dict': {
'url': 'http://dl1.video.varzesh3.com/video/clip94/1/international/friendly/usa_2_3_danmark.mp4',
'id': '76464',
'ext': 'mp4',
'title': u'دانمارک ۳-۲ آمریکا (گلهای بازی)',
'thumbnail': 'http://video.varzesh3.com/wp-content/uploads/250315_usa_danmark_site.jpg',
'description': u'بازی دوستانه ۲۰۱۵',
}
},
{
'url': 'http://video.varzesh3.com/germany/bundesliga/5-%D9%88%D8%A7%DA%A9%D9%86%D8%B4-%D8%A8%D8%B1%D8%AA%D8%B1-%D8%AF%D8%B1%D9%88%D8%A7%D8%B2%D9%87%E2%80%8C%D8%A8%D8%A7%D9%86%D8%A7%D9%86%D8%9B%D9%87%D9%81%D8%AA%D9%87-26-%D8%A8%D9%88%D9%86%D8%AF%D8%B3/',
'md5': '2a933874cb7dce4366075281eb49e855',
'info_dict': {
'url': 'http://dl1.video.varzesh3.com/video/clip94/1/video/namayeshi/saves_week26.mp4',
'id': '76337',
'ext': 'mp4',
'title': u'۵ واکنش برتر دروازه‌بانان؛هفته ۲۶ بوندسلیگا',
'thumbnail': 'http://video.varzesh3.com/wp-content/uploads/230315_saves_week26.jpg',
'description': u'فصل ۲۰۱۵-۲۰۱۴',
}
},
]
def _real_extract(self, url):
video_id = self._match_id(url)
webpage = self._download_webpage(url, video_id)
if not 'shortlink' in webpage:
raise ExtractorError('URL has no videos or there is a problem.')
title = self._html_search_regex(r'meta[^>]+property="og:title"[^>]+content="([^"]+)"', webpage, 'title')
video_link = self._html_search_regex(r'source[^>]+src="([^"]+)"', webpage, 'video_link')
vid_id = self._html_search_regex(r"link[^>]+rel='canonical'[^>]+href='\/\?p=([^']+)'\/>", webpage, 'vid_id')
try:
description = self._html_search_regex(r'<div class="matn">(.*?)</div>', webpage, 'description', flags=re.DOTALL)
except:
description = title
thumbnail = self._html_search_regex(r'link[^>]+rel="image_src"[^>]+href="([^"]+)"', webpage, 'thumbnail')
return {
'url': video_link,
'id': vid_id,
'title': title,
'ext': video_link.split(".")[-1],
'description': description,
'thumbnail': thumbnail,
}