summaryrefslogtreecommitdiff
path: root/youtube_dl/extractor/weiqitv.py
blob: 7e0befd3922b15194fbcf5e142419c1c62ae46c3 (plain)
    1 # coding: utf-8
    2 from __future__ import unicode_literals
    3 
    4 from .common import InfoExtractor
    5 
    6 
    7 class WeiqiTVIE(InfoExtractor):
    8     IE_DESC = 'WQTV'
    9     _VALID_URL = r'https?://(?:www\.)?weiqitv\.com/index/video_play\?videoId=(?P<id>[A-Za-z0-9]+)'
   10 
   11     _TESTS = [{
   12         'url': 'http://www.weiqitv.com/index/video_play?videoId=53c744f09874f0e76a8b46f3',
   13         'md5': '26450599afd64c513bc77030ad15db44',
   14         'info_dict': {
   15             'id': '53c744f09874f0e76a8b46f3',
   16             'ext': 'mp4',
   17             'title': '2013年度盘点',
   18         },
   19     }, {
   20         'url': 'http://www.weiqitv.com/index/video_play?videoId=567379a2d4c36cca518b4569',
   21         'info_dict': {
   22             'id': '567379a2d4c36cca518b4569',
   23             'ext': 'mp4',
   24             'title': '民国围棋史',
   25         },
   26     }, {
   27         'url': 'http://www.weiqitv.com/index/video_play?videoId=5430220a9874f088658b4567',
   28         'info_dict': {
   29             'id': '5430220a9874f088658b4567',
   30             'ext': 'mp4',
   31             'title': '二路托过的手段和运用',
   32         },
   33     }]
   34 
   35     def _real_extract(self, url):
   36         media_id = self._match_id(url)
   37         page = self._download_webpage(url, media_id)
   38 
   39         info_json_str = self._search_regex(
   40             r'var\s+video\s*=\s*(.+});', page, 'info json str')
   41         info_json = self._parse_json(info_json_str, media_id)
   42 
   43         letvcloud_url = self._search_regex(
   44             r'var\s+letvurl\s*=\s*"([^"]+)', page, 'letvcloud url')
   45 
   46         return {
   47             '_type': 'url_transparent',
   48             'ie_key': 'LetvCloud',
   49             'url': letvcloud_url,
   50             'title': info_json['name'],
   51             'id': media_id,
   52         }

Generated by cgit