]>
Commit | Line | Data |
---|---|---|
5f432ac8 FF |
1 | # coding: utf-8 |
2 | from __future__ import unicode_literals | |
3 | ||
4 | from .common import InfoExtractor | |
5 | ||
6 | ||
f15a9ca3 | 7 | class WeiqiTVIE(InfoExtractor): |
5f432ac8 | 8 | IE_DESC = 'WQTV' |
92519402 | 9 | _VALID_URL = r'https?://(?:www\.)?weiqitv\.com/index/video_play\?videoId=(?P<id>[A-Za-z0-9]+)' |
5f432ac8 FF |
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( | |
ec85ded8 | 40 | r'var\s+video\s*=\s*(.+});', page, 'info json str') |
5f432ac8 FF |
41 | info_json = self._parse_json(info_json_str, media_id) |
42 | ||
43 | letvcloud_url = self._search_regex( | |
ec85ded8 | 44 | r'var\s+letvurl\s*=\s*"([^"]+)', page, 'letvcloud url') |
5f432ac8 FF |
45 | |
46 | return { | |
47 | '_type': 'url_transparent', | |
8652bd22 | 48 | 'ie_key': 'LetvCloud', |
5f432ac8 FF |
49 | 'url': letvcloud_url, |
50 | 'title': info_json['name'], | |
51 | 'id': media_id, | |
52 | } |