Merge pull request #28 from jdepoix/bugfix/ISSUE-27
adjusted to changes in YouTube webclient
This commit is contained in:
commit
8c2ce71765
|
@ -99,6 +99,7 @@ class _TranscriptFetcher():
|
|||
WATCH_URL = 'https://www.youtube.com/watch?v={video_id}'
|
||||
API_BASE_URL = 'https://www.youtube.com/api/{api_url}'
|
||||
LANGUAGE_REGEX = re.compile(r'(&lang=.*&)|(&lang=.*)')
|
||||
TIMEDTEXT_STRING = 'timedtext'
|
||||
|
||||
def __init__(self, video_id, languages, proxies):
|
||||
self.video_id = video_id
|
||||
|
@ -110,7 +111,13 @@ class _TranscriptFetcher():
|
|||
fetched_site = requests.get(self.WATCH_URL.format(video_id=self.video_id), proxies=self.proxies).text
|
||||
else:
|
||||
fetched_site = requests.get(self.WATCH_URL.format(video_id=self.video_id)).text
|
||||
timedtext_url_start = fetched_site.find('timedtext')
|
||||
timedtext_splits = fetched_site.split(self.TIMEDTEXT_STRING)
|
||||
timedtext_url_start = (
|
||||
timedtext_splits[2].find(self.TIMEDTEXT_STRING)
|
||||
+ len(timedtext_splits[0])
|
||||
+ len(timedtext_splits[1])
|
||||
+ len(self.TIMEDTEXT_STRING) + 1
|
||||
)
|
||||
|
||||
for language in (self.languages if self.languages else [None,]):
|
||||
response = self._execute_api_request(fetched_site, timedtext_url_start, language)
|
||||
|
|
Loading…
Reference in New Issue