def download(self): self._init_download() # Select appropriate stream for required bitrate stream = self._get_video_stream() # Get video playlist r = self._do_proxies_requests(stream.uri, cookies=self._cookies) m3u8_file = r.text self._video_playlist = m3u8.parse(m3u8_file, os.path.dirname(stream.uri)) self._segments = self._video_playlist.segments self._total_segments = len(self._segments) # Get decryption key uri = self._segments[0].key.uri r = self._do_proxies_requests(uri, cookies=self._cookies) self._key = r.content # Download segments with open(self._output_path, 'wb') as self._of: self._notify_dl_start() self._notify_progress_update() for segindex in range(len(self._segments)): self._download_segment(segindex) self._done_segments += 1 self._done_segments_bytes = self._done_bytes self._notify_progress_update()
def download(self): self._init_download() # Select appropriate stream for required bitrate stream = self._get_video_stream() # Get video playlist r = requests.get(stream.uri, headers=toutv.config.HEADERS, cookies=self._cookies) m3u8_file = r.text self._video_playlist = m3u8.parse(m3u8_file, os.path.dirname(stream.uri)) self._segments = self._video_playlist.segments self._segments_count = len(self._segments) # Get decryption key uri = self._segments[0].key.uri r = requests.get(uri, headers=toutv.config.HEADERS, cookies=self._cookies) self._key = r.content # Download segments with open(self._output_path, 'wb') as self._of: self._notify_dl_start() self._notify_progress_update() for segindex in range(len(self._segments)): if self._do_cancel: raise CancelledException() self._download_segment(segindex) self._total_segments += 1 self._notify_progress_update()
def get_episode_playlist_cookies(episode, proxies=None): url = Downloader.get_episode_playlist_url(episode) r = Downloader._do_request(url, proxies=proxies, timeout=15) # Parse M3U8 file m3u8_file = r.text playlist = m3u8.parse(m3u8_file, os.path.dirname(url)) return playlist, r.cookies
def get_episode_playlist_cookies(episode): url = Downloader.get_episode_playlist_url(episode) # Do requests r = requests.get(url, headers=toutv.config.HEADERS) # Parse M3U8 file m3u8_file = r.text playlist = m3u8.parse(m3u8_file, os.path.dirname(url)) return playlist, r.cookies