diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fb8e8a..502bf2e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# v2.0.1 + +Fixed Invalid attempt to destructure non-iterable instance error + # v2.0.0 Use youtube.com/watch instead of /getinfo diff --git a/package.json b/package.json index 474e1f5..9007039 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "youtube-captions-scraper", - "version": "2.0.0", + "version": "2.0.1", "description": "Scrap youtube auto-generated captions", "main": "dist/index.js", "author": { diff --git a/src/index.js b/src/index.js index ae4a7aa..f05c4f9 100644 --- a/src/index.js +++ b/src/index.js @@ -20,10 +20,10 @@ export async function getSubtitles({ if (!data.includes('captionTracks')) throw new Error(`Could not find captions for video: ${videoID}`); - const regex = /({"captionTracks":.*isTranslatable":(true|false)}])/; + const regex = /"captionTracks":(\[.*?\])/; const [match] = regex.exec(data); - const { captionTracks } = JSON.parse(`${match}}`); + const { captionTracks } = JSON.parse(`{${match}}`); const subtitle = find(captionTracks, { vssId: `.${lang}`, diff --git a/test/index.test.js b/test/index.test.js index 40a26c9..90953d9 100644 --- a/test/index.test.js +++ b/test/index.test.js @@ -4,9 +4,9 @@ import { getSubtitles } from '../src'; test('Extract estonia war subtitles', async t => { const subtitles = await getSubtitles({ videoID: 'HBA0xDHZjko' }); t.deepEqual(subtitles[0], { - dur: '5.679', - start: '7.12', - text: 'november 1918', + dur: '4.72', + start: '6.98', + text: 'November 1918', }); });