@donlovett/n8n-nodes-youtube-transcript 1.1.0 → 1.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouTubeTranscript.node.d.ts","sourceRoot":"","sources":["../../../nodes/YouTubeTranscript/YouTubeTranscript.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,
|
|
1
|
+
{"version":3,"file":"YouTubeTranscript.node.d.ts","sourceRoot":"","sources":["../../../nodes/YouTubeTranscript/YouTubeTranscript.node.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,iBAAiB,EACjB,kBAAkB,EAClB,SAAS,EACT,oBAAoB,EAGpB,MAAM,cAAc,CAAC;AAgEtB,qBAAa,iBAAkB,YAAW,SAAS;IAClD,WAAW,EAAE,oBAAoB,CAgF/B;IAEI,OAAO,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;CAkRvE"}
|
|
@@ -1,36 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.YouTubeTranscript = void 0;
|
|
27
4
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
28
|
-
const child_process_1 = require("child_process");
|
|
29
|
-
const util_1 = require("util");
|
|
30
|
-
const fs = __importStar(require("fs"));
|
|
31
|
-
const path = __importStar(require("path"));
|
|
32
|
-
const os = __importStar(require("os"));
|
|
33
|
-
const execAsync = (0, util_1.promisify)(child_process_1.exec);
|
|
34
5
|
// Helper function to extract video ID from URL
|
|
35
6
|
function extractVideoId(input) {
|
|
36
7
|
// Already a video ID (11 characters, alphanumeric with - and _)
|
|
@@ -50,55 +21,31 @@ function extractVideoId(input) {
|
|
|
50
21
|
}
|
|
51
22
|
return input; // Return as-is and let the API handle validation
|
|
52
23
|
}
|
|
53
|
-
// Parse
|
|
54
|
-
function
|
|
55
|
-
const lines = vttContent.split('\n');
|
|
24
|
+
// Parse transcript segments from YouTube's timedtext JSON format
|
|
25
|
+
function parseTranscriptEvents(events) {
|
|
56
26
|
const segments = [];
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
continue;
|
|
63
|
-
}
|
|
64
|
-
// Check for timestamp line (e.g., "00:00:18.790 --> 00:00:18.800")
|
|
65
|
-
const timestampMatch = line.match(/^(\d{2}:\d{2}:\d{2}\.\d{3})\s*-->\s*(\d{2}:\d{2}:\d{2}\.\d{3})/);
|
|
66
|
-
if (timestampMatch) {
|
|
67
|
-
if (currentSegment && currentSegment.text) {
|
|
68
|
-
segments.push(currentSegment);
|
|
69
|
-
}
|
|
70
|
-
currentSegment = {
|
|
71
|
-
start: timestampMatch[1],
|
|
72
|
-
end: timestampMatch[2],
|
|
73
|
-
text: '',
|
|
74
|
-
};
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
// Add text to current segment
|
|
78
|
-
if (currentSegment && line && !line.match(/^\d+$/)) {
|
|
79
|
-
// Remove VTT formatting tags like <c> and timing tags
|
|
80
|
-
const cleanText = line
|
|
81
|
-
.replace(/<[^>]+>/g, '')
|
|
82
|
-
.replace(/ /g, ' ')
|
|
27
|
+
for (const event of events) {
|
|
28
|
+
if (event.segs) {
|
|
29
|
+
const text = event.segs
|
|
30
|
+
.map((seg) => seg.utf8 || '')
|
|
31
|
+
.join('')
|
|
83
32
|
.trim();
|
|
84
|
-
if (
|
|
85
|
-
|
|
33
|
+
if (text && text !== '\n') {
|
|
34
|
+
segments.push({
|
|
35
|
+
start: (event.tStartMs || 0) / 1000,
|
|
36
|
+
duration: (event.dDurationMs || 0) / 1000,
|
|
37
|
+
text: text.replace(/\n/g, ' ').trim(),
|
|
38
|
+
});
|
|
86
39
|
}
|
|
87
40
|
}
|
|
88
41
|
}
|
|
89
|
-
//
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
const seenTexts = new Set();
|
|
95
|
-
const uniqueSegments = segments.filter(seg => {
|
|
96
|
-
if (seenTexts.has(seg.text)) {
|
|
97
|
-
return false;
|
|
42
|
+
// Deduplicate consecutive identical segments
|
|
43
|
+
const uniqueSegments = [];
|
|
44
|
+
for (const seg of segments) {
|
|
45
|
+
if (uniqueSegments.length === 0 || uniqueSegments[uniqueSegments.length - 1].text !== seg.text) {
|
|
46
|
+
uniqueSegments.push(seg);
|
|
98
47
|
}
|
|
99
|
-
|
|
100
|
-
return true;
|
|
101
|
-
});
|
|
48
|
+
}
|
|
102
49
|
const fullText = uniqueSegments
|
|
103
50
|
.map(seg => seg.text)
|
|
104
51
|
.join(' ')
|
|
@@ -116,7 +63,7 @@ class YouTubeTranscript {
|
|
|
116
63
|
group: ['transform'],
|
|
117
64
|
version: 1,
|
|
118
65
|
subtitle: '={{$parameter["operation"]}}',
|
|
119
|
-
description: 'Fetch transcripts from YouTube videos
|
|
66
|
+
description: 'Fetch transcripts from YouTube videos',
|
|
120
67
|
defaults: {
|
|
121
68
|
name: 'YouTube Transcript',
|
|
122
69
|
},
|
|
@@ -192,6 +139,7 @@ class YouTubeTranscript {
|
|
|
192
139
|
};
|
|
193
140
|
}
|
|
194
141
|
async execute() {
|
|
142
|
+
var _a, _b;
|
|
195
143
|
const items = this.getInputData();
|
|
196
144
|
const returnData = [];
|
|
197
145
|
for (let i = 0; i < items.length; i++) {
|
|
@@ -206,49 +154,173 @@ class YouTubeTranscript {
|
|
|
206
154
|
if (!videoId) {
|
|
207
155
|
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Invalid video ID or URL provided', { itemIndex: i });
|
|
208
156
|
}
|
|
209
|
-
// Create temp directory for subtitle file
|
|
210
|
-
const tempDir = os.tmpdir();
|
|
211
|
-
const outputPath = path.join(tempDir, `yt_transcript_${videoId}_${Date.now()}`);
|
|
212
|
-
const vttFile = `${outputPath}.${language}.vtt`;
|
|
213
157
|
try {
|
|
214
|
-
//
|
|
215
|
-
const
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
158
|
+
// Step 1: Fetch the video page to get caption track info
|
|
159
|
+
const pageOptions = {
|
|
160
|
+
method: 'GET',
|
|
161
|
+
url: `https://www.youtube.com/watch?v=${videoId}`,
|
|
162
|
+
headers: {
|
|
163
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
164
|
+
'Accept-Language': 'en-US,en;q=0.9',
|
|
165
|
+
},
|
|
166
|
+
};
|
|
167
|
+
const pageResponse = await this.helpers.httpRequest(pageOptions);
|
|
168
|
+
const pageHtml = typeof pageResponse === 'string' ? pageResponse : JSON.stringify(pageResponse);
|
|
169
|
+
// Extract captions data from the page
|
|
170
|
+
const captionsMatch = pageHtml.match(/"captions":\s*(\{[^}]+\}[^}]+\}[^}]+\})/);
|
|
171
|
+
if (!captionsMatch) {
|
|
172
|
+
// Try alternate pattern for captionTracks
|
|
173
|
+
const tracksMatch = pageHtml.match(/"captionTracks":\s*(\[[^\]]+\])/);
|
|
174
|
+
if (!tracksMatch) {
|
|
175
|
+
returnData.push({
|
|
176
|
+
json: {
|
|
177
|
+
videoId,
|
|
178
|
+
language,
|
|
179
|
+
hasTranscript: false,
|
|
180
|
+
error: 'No captions available for this video',
|
|
181
|
+
transcript: '',
|
|
182
|
+
wordCount: 0,
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
// Extract the playerCaptionsTracklistRenderer which contains caption URLs
|
|
189
|
+
// Find ytInitialPlayerResponse and extract JSON by brace counting
|
|
190
|
+
const playerResponseStart = pageHtml.indexOf('ytInitialPlayerResponse');
|
|
191
|
+
if (playerResponseStart === -1) {
|
|
192
|
+
returnData.push({
|
|
193
|
+
json: {
|
|
194
|
+
videoId,
|
|
195
|
+
language,
|
|
196
|
+
hasTranscript: false,
|
|
197
|
+
error: 'Could not find player response',
|
|
198
|
+
transcript: '',
|
|
199
|
+
wordCount: 0,
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
continue;
|
|
222
203
|
}
|
|
223
|
-
|
|
204
|
+
// Find the opening brace
|
|
205
|
+
const jsonStart = pageHtml.indexOf('{', playerResponseStart);
|
|
206
|
+
if (jsonStart === -1) {
|
|
224
207
|
returnData.push({
|
|
225
208
|
json: {
|
|
226
209
|
videoId,
|
|
227
210
|
language,
|
|
228
211
|
hasTranscript: false,
|
|
229
|
-
error: '
|
|
212
|
+
error: 'Could not parse video data',
|
|
230
213
|
transcript: '',
|
|
231
214
|
wordCount: 0,
|
|
232
215
|
},
|
|
233
216
|
});
|
|
234
217
|
continue;
|
|
235
218
|
}
|
|
236
|
-
|
|
237
|
-
const vttContent = fs.readFileSync(vttFile, 'utf-8');
|
|
238
|
-
const { text, segments } = parseVTT(vttContent);
|
|
239
|
-
// Clean up temp file
|
|
219
|
+
let playerData;
|
|
240
220
|
try {
|
|
241
|
-
|
|
221
|
+
// Find the end of the JSON object by counting braces
|
|
222
|
+
let braceCount = 0;
|
|
223
|
+
let endIndex = jsonStart;
|
|
224
|
+
for (let j = jsonStart; j < pageHtml.length; j++) {
|
|
225
|
+
if (pageHtml[j] === '{')
|
|
226
|
+
braceCount++;
|
|
227
|
+
if (pageHtml[j] === '}')
|
|
228
|
+
braceCount--;
|
|
229
|
+
if (braceCount === 0) {
|
|
230
|
+
endIndex = j + 1;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
const jsonStr = pageHtml.substring(jsonStart, endIndex);
|
|
235
|
+
playerData = JSON.parse(jsonStr);
|
|
242
236
|
}
|
|
243
|
-
catch (
|
|
244
|
-
|
|
237
|
+
catch (parseError) {
|
|
238
|
+
returnData.push({
|
|
239
|
+
json: {
|
|
240
|
+
videoId,
|
|
241
|
+
language,
|
|
242
|
+
hasTranscript: false,
|
|
243
|
+
error: `Failed to parse player data: ${parseError instanceof Error ? parseError.message : 'Unknown error'}`,
|
|
244
|
+
transcript: '',
|
|
245
|
+
wordCount: 0,
|
|
246
|
+
},
|
|
247
|
+
});
|
|
248
|
+
continue;
|
|
245
249
|
}
|
|
246
|
-
|
|
250
|
+
const captions = (_b = (_a = playerData === null || playerData === void 0 ? void 0 : playerData.captions) === null || _a === void 0 ? void 0 : _a.playerCaptionsTracklistRenderer) === null || _b === void 0 ? void 0 : _b.captionTracks;
|
|
251
|
+
if (!captions || captions.length === 0) {
|
|
247
252
|
returnData.push({
|
|
248
253
|
json: {
|
|
249
254
|
videoId,
|
|
250
255
|
language,
|
|
251
256
|
hasTranscript: false,
|
|
257
|
+
error: 'No caption tracks found',
|
|
258
|
+
transcript: '',
|
|
259
|
+
wordCount: 0,
|
|
260
|
+
},
|
|
261
|
+
});
|
|
262
|
+
continue;
|
|
263
|
+
}
|
|
264
|
+
// Find the caption track for the requested language
|
|
265
|
+
let captionTrack = captions.find((track) => {
|
|
266
|
+
var _a, _b;
|
|
267
|
+
return track.languageCode === language ||
|
|
268
|
+
((_a = track.vssId) === null || _a === void 0 ? void 0 : _a.includes(`.${language}`)) ||
|
|
269
|
+
((_b = track.vssId) === null || _b === void 0 ? void 0 : _b.includes(`a.${language}`));
|
|
270
|
+
});
|
|
271
|
+
// If not found, try to find auto-generated captions
|
|
272
|
+
if (!captionTrack) {
|
|
273
|
+
captionTrack = captions.find((track) => { var _a, _b; return ((_a = track.vssId) === null || _a === void 0 ? void 0 : _a.startsWith('a.')) && ((_b = track.languageCode) === null || _b === void 0 ? void 0 : _b.startsWith(language.split('-')[0])); });
|
|
274
|
+
}
|
|
275
|
+
// Fallback to first available track
|
|
276
|
+
if (!captionTrack) {
|
|
277
|
+
captionTrack = captions[0];
|
|
278
|
+
}
|
|
279
|
+
if (!(captionTrack === null || captionTrack === void 0 ? void 0 : captionTrack.baseUrl)) {
|
|
280
|
+
returnData.push({
|
|
281
|
+
json: {
|
|
282
|
+
videoId,
|
|
283
|
+
language,
|
|
284
|
+
hasTranscript: false,
|
|
285
|
+
error: 'No caption URL found',
|
|
286
|
+
transcript: '',
|
|
287
|
+
wordCount: 0,
|
|
288
|
+
},
|
|
289
|
+
});
|
|
290
|
+
continue;
|
|
291
|
+
}
|
|
292
|
+
// Step 2: Fetch the captions in JSON format
|
|
293
|
+
const captionUrl = captionTrack.baseUrl + '&fmt=json3';
|
|
294
|
+
const captionOptions = {
|
|
295
|
+
method: 'GET',
|
|
296
|
+
url: captionUrl,
|
|
297
|
+
headers: {
|
|
298
|
+
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
|
|
299
|
+
},
|
|
300
|
+
};
|
|
301
|
+
const captionResponse = await this.helpers.httpRequest(captionOptions);
|
|
302
|
+
const captionData = typeof captionResponse === 'string' ? JSON.parse(captionResponse) : captionResponse;
|
|
303
|
+
if (!captionData.events || captionData.events.length === 0) {
|
|
304
|
+
returnData.push({
|
|
305
|
+
json: {
|
|
306
|
+
videoId,
|
|
307
|
+
language,
|
|
308
|
+
hasTranscript: false,
|
|
309
|
+
error: 'Caption data is empty',
|
|
310
|
+
transcript: '',
|
|
311
|
+
wordCount: 0,
|
|
312
|
+
},
|
|
313
|
+
});
|
|
314
|
+
continue;
|
|
315
|
+
}
|
|
316
|
+
// Parse the transcript
|
|
317
|
+
const { text, segments } = parseTranscriptEvents(captionData.events);
|
|
318
|
+
if (!text || text.length < 10) {
|
|
319
|
+
returnData.push({
|
|
320
|
+
json: {
|
|
321
|
+
videoId,
|
|
322
|
+
language: captionTrack.languageCode || language,
|
|
323
|
+
hasTranscript: false,
|
|
252
324
|
error: 'Transcript is empty or too short',
|
|
253
325
|
transcript: '',
|
|
254
326
|
wordCount: 0,
|
|
@@ -261,7 +333,7 @@ class YouTubeTranscript {
|
|
|
261
333
|
returnData.push({
|
|
262
334
|
json: {
|
|
263
335
|
videoId,
|
|
264
|
-
language,
|
|
336
|
+
language: captionTrack.languageCode || language,
|
|
265
337
|
hasTranscript: true,
|
|
266
338
|
transcript: text,
|
|
267
339
|
wordCount,
|
|
@@ -273,7 +345,7 @@ class YouTubeTranscript {
|
|
|
273
345
|
returnData.push({
|
|
274
346
|
json: {
|
|
275
347
|
videoId,
|
|
276
|
-
language,
|
|
348
|
+
language: captionTrack.languageCode || language,
|
|
277
349
|
hasTranscript: true,
|
|
278
350
|
segments,
|
|
279
351
|
segmentCount: segments.length,
|
|
@@ -281,21 +353,13 @@ class YouTubeTranscript {
|
|
|
281
353
|
});
|
|
282
354
|
}
|
|
283
355
|
}
|
|
284
|
-
catch (
|
|
285
|
-
// Clean up any temp files
|
|
286
|
-
try {
|
|
287
|
-
if (fs.existsSync(vttFile))
|
|
288
|
-
fs.unlinkSync(vttFile);
|
|
289
|
-
}
|
|
290
|
-
catch (e) {
|
|
291
|
-
// Ignore cleanup errors
|
|
292
|
-
}
|
|
356
|
+
catch (fetchError) {
|
|
293
357
|
returnData.push({
|
|
294
358
|
json: {
|
|
295
359
|
videoId,
|
|
296
360
|
language,
|
|
297
361
|
hasTranscript: false,
|
|
298
|
-
error:
|
|
362
|
+
error: fetchError instanceof Error ? fetchError.message : 'Failed to fetch transcript',
|
|
299
363
|
transcript: '',
|
|
300
364
|
wordCount: 0,
|
|
301
365
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"YouTubeTranscript.node.js","sourceRoot":"","sources":["../../../nodes/YouTubeTranscript/YouTubeTranscript.node.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"YouTubeTranscript.node.js","sourceRoot":"","sources":["../../../nodes/YouTubeTranscript/YouTubeTranscript.node.ts"],"names":[],"mappings":"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"}
|