fix: use correct url (#13)

This commit is contained in:
Irfan
2021-12-02 13:53:10 +05:30
committed by GitHub
parent 136cbd00de
commit b6f0639ce2
2 changed files with 7 additions and 9 deletions

View File

@@ -13,17 +13,15 @@ export async function getSubtitles({
lang: 'en' | 'de' | 'fr' | void, lang: 'en' | 'de' | 'fr' | void,
}) { }) {
const { data } = await axios.get( const { data } = await axios.get(
`https://youtube.com/get_video_info?video_id=${videoID}` `https://youtube.com/watch?v=${videoID}`
); );
const decodedData = decodeURIComponent(data);
// * ensure we have access to captions data // * ensure we have access to captions data
if (!decodedData.includes('captionTracks')) if (!data.includes('captionTracks'))
throw new Error(`Could not find captions for video: ${videoID}`); throw new Error(`Could not find captions for video: ${videoID}`);
const regex = /({"captionTracks":.*isTranslatable":(true|false)}])/; const regex = /({"captionTracks":.*isTranslatable":(true|false)}])/;
const [match] = regex.exec(decodedData); const [match] = regex.exec(data);
const { captionTracks } = JSON.parse(`${match}}`); const { captionTracks } = JSON.parse(`${match}}`);
const subtitle = const subtitle =

View File

@@ -4,13 +4,13 @@ import { getSubtitles } from '../src';
test('Extract estonia war subtitles', async t => { test('Extract estonia war subtitles', async t => {
const subtitles = await getSubtitles({ videoID: 'HBA0xDHZjko' }); const subtitles = await getSubtitles({ videoID: 'HBA0xDHZjko' });
t.deepEqual(subtitles[0], { t.deepEqual(subtitles[0], {
dur: '5.87', dur: '5.679',
start: '6.62', start: '7.12',
text: 'November 19', text: 'november 1918',
}); });
}); });
test('Extract passive income video', async t => { test('Extract passive income video', async t => {
const subtitles = await getSubtitles({ videoID: 'JueUvj6X3DA' }); const subtitles = await getSubtitles({ videoID: 'JueUvj6X3DA' });
t.deepEqual('creating passive income takes work but', subtitles[0].text); t.deepEqual('- Creating passive income takes work,', subtitles[0].text);
}); });