-
- def _real_extract(self, url):
- video_id = self._match_id(url)
- view_data = self._download_json('http://api.bilibili.com/view?type=json&appkey=8e9fc618fbd41e28&id=%s' % video_id, video_id)
-
- num_pages = int_or_none(view_data['pages'])
- if num_pages > 1:
- play_list_title = view_data['title']
- page_list = self._download_json('http://www.bilibili.com/widget/getPageList?aid=%s' % video_id, video_id, 'Downloading page list metadata')
- entries = []
- for page in page_list:
- view_data['title'] = page['pagename']
- entries.append(self._extract_video_info(str(page['cid']), view_data, page['page'], num_pages))
- return self.playlist_result(entries, video_id, play_list_title, view_data.get('description'))
- else:
- return self._extract_video_info(str(view_data['cid']), view_data)