instasave-sdk 1.2.7 → 1.2.9

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.
Files changed (46) hide show
  1. package/CHANGELOG.md +148 -0
  2. package/README.md +219 -2
  3. package/dist/browser/crawler-manager.d.ts +6 -0
  4. package/dist/browser/crawler-manager.d.ts.map +1 -1
  5. package/dist/browser/crawler-manager.js +29 -1
  6. package/dist/browser/crawler-manager.js.map +1 -1
  7. package/dist/core/media-scraper.d.ts +6 -0
  8. package/dist/core/media-scraper.d.ts.map +1 -1
  9. package/dist/core/media-scraper.js +16 -2
  10. package/dist/core/media-scraper.js.map +1 -1
  11. package/dist/download/download-engine.d.ts +32 -0
  12. package/dist/download/download-engine.d.ts.map +1 -0
  13. package/dist/download/download-engine.js +177 -0
  14. package/dist/download/download-engine.js.map +1 -0
  15. package/dist/download/download-manager.d.ts +18 -0
  16. package/dist/download/download-manager.d.ts.map +1 -0
  17. package/dist/download/download-manager.js +232 -0
  18. package/dist/download/download-manager.js.map +1 -0
  19. package/dist/download/download-scrape.d.ts +32 -0
  20. package/dist/download/download-scrape.d.ts.map +1 -0
  21. package/dist/download/download-scrape.js +159 -0
  22. package/dist/download/download-scrape.js.map +1 -0
  23. package/dist/download/index.d.ts +4 -0
  24. package/dist/download/index.d.ts.map +1 -0
  25. package/dist/download/index.js +25 -0
  26. package/dist/download/index.js.map +1 -0
  27. package/dist/download/types.d.ts +48 -0
  28. package/dist/download/types.d.ts.map +1 -0
  29. package/dist/download/types.js +6 -0
  30. package/dist/download/types.js.map +1 -0
  31. package/dist/index.d.ts +3 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +7 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/platforms/instagram/index.d.ts.map +1 -1
  36. package/dist/platforms/instagram/index.js +48 -0
  37. package/dist/platforms/instagram/index.js.map +1 -1
  38. package/dist/utils/browser/browser-path-resolver.d.ts +29 -0
  39. package/dist/utils/browser/browser-path-resolver.d.ts.map +1 -0
  40. package/dist/utils/browser/browser-path-resolver.js +76 -0
  41. package/dist/utils/browser/browser-path-resolver.js.map +1 -0
  42. package/dist/utils/config/config-parser.d.ts +2 -0
  43. package/dist/utils/config/config-parser.d.ts.map +1 -1
  44. package/dist/utils/config/config-parser.js.map +1 -1
  45. package/instasave.config.example +18 -20
  46. package/package.json +6 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,154 @@
2
2
 
3
3
  All notable changes to InstaSave SDK will be documented in this file.
4
4
 
5
+ ## [1.2.9] - 2026-01-04
6
+
7
+ ### 🔧 Browser & Plugin System Improvements
8
+
9
+ #### Browser Type Configuration
10
+ - **System browser support** - Added `BROWSER_TYPE` configuration for macOS
11
+ - **Supported browsers** - Chrome, Chromium, Edge, Brave, Opera, Vivaldi, Arc, Comet
12
+ - **Automatic path resolution** - Maps browser types to standard macOS paths
13
+ - **Priority system** - Explicit path > browser_type > env variable > default
14
+ - **Fallback logic** - Automatic fallback to available browsers with warnings
15
+
16
+ #### Instagram Content Access
17
+ - **Inappropriate content handling** - Automatic detection and bypass of age-restricted content warnings
18
+ - **Enhanced login flow** - Better handling of "Log in to continue" prompts
19
+ - **Session persistence** - Improved cookie application for restricted content
20
+
21
+ #### Plugin System Documentation
22
+ - **Complete plugin documentation** - Comprehensive guides for creating custom plugins
23
+ - **Instagram plugin reference** - Detailed analysis of built-in Instagram plugin
24
+ - **TikTok plugin tutorial** - Step-by-step guide for creating new platform plugins
25
+ - **Utility plugin examples** - Watermark, resize, analytics, and content filter plugins
26
+ - **Testing documentation** - Unit, integration, and E2E testing guides
27
+ - **Plugin template** - Ready-to-use template for new platform plugins
28
+
29
+ ### 🐛 Bug Fixes
30
+ - Fixed browser process not terminating automatically after scraping
31
+ - Improved cleanup logic for browser instances and crawler resources
32
+
33
+ ### 📚 Documentation
34
+ - Added `PLUGIN_DEVELOPMENT.md` - Main plugin system documentation
35
+ - Added `docs/INSTAGRAM_PLUGIN.md` - Instagram plugin reference
36
+ - Added `docs/TIKTOK_PLUGIN_TUTORIAL.md` - Step-by-step plugin creation
37
+ - Added `docs/UTILITY_PLUGINS.md` - Utility plugins and testing guide
38
+ - Added `templates/platform-plugin-template.ts` - Plugin template
39
+
40
+ ## [1.2.8] - 2026-01-04
41
+
42
+ ### ✨ New Features - Direct Download API
43
+
44
+ #### Added `downloadImages()` Function
45
+ - **Batch image download** - Download all images from scraped MediaData
46
+ - **Progress tracking** - Real-time progress callbacks `(percent, current, total)`
47
+ - **Custom filename patterns** - `{username}_{postid}_{index}.{ext}`
48
+ - **Duplicate detection** - MD5 hash-based skip for already downloaded files
49
+ - **Retry logic** - 3 attempts with exponential backoff (1s, 2s, 4s)
50
+ - **Configurable timeout** - Default 30 seconds per image
51
+
52
+ #### Added `downloadScrape()` Function
53
+ - **Direct URL download** - Download any image URL directly
54
+ - **Base64 conversion** - Optional: Download → Base64 → File
55
+ - **Direct download** - Download → File (bypasses Base64)
56
+ - **Format auto-detection** - Detects format from Content-Type header
57
+ - **Retry mechanism** - 3 attempts with exponential backoff
58
+ - **Engine class** - `DownloadScrapeEngine` for batch operations
59
+
60
+ ### New Dependencies
61
+ - **axios** ^1.6.0 - HTTP client for downloads
62
+ - **sharp** ^0.33.0 - Image processing (future features)
63
+ - **file-type** ^18.0.0 - File format detection
64
+
65
+ ### API Examples
66
+
67
+ #### downloadImages()
68
+ ```javascript
69
+ import { downloadImages, MediaScraper } from 'instasave-sdk';
70
+
71
+ const scraper = new MediaScraper();
72
+ const data = await scraper.scrape('https://instagram.com/p/ABC123/');
73
+
74
+ // Download all images with progress
75
+ const result = await downloadImages(data, {
76
+ savePath: './downloads',
77
+ getFile: true,
78
+ filename: '{username}_{postid}_{index}.{ext}',
79
+ skipDuplicates: true,
80
+ onProgress: (percent, current, total) => {
81
+ console.log(`${percent}% (${current}/${total})`);
82
+ }
83
+ });
84
+
85
+ console.log(`Downloaded: ${result.downloaded}/${result.total}`);
86
+ ```
87
+
88
+ #### downloadScrape()
89
+ ```javascript
90
+ import { downloadScrape } from 'instasave-sdk';
91
+
92
+ // Download with Base64 conversion (default)
93
+ const result = await downloadScrape(imageUrl, {
94
+ useBase64: true,
95
+ outputPath: './images',
96
+ filename: 'my-image.jpg'
97
+ });
98
+
99
+ // Direct download (faster)
100
+ const result = await downloadScrape(imageUrl, {
101
+ useBase64: false,
102
+ outputPath: './images',
103
+ filename: 'my-image.jpg'
104
+ });
105
+
106
+ console.log(result.localPath); // "./images/my-image.jpg"
107
+ console.log(result.bytes); // File size in bytes
108
+ console.log(result.format); // "jpg", "png", "webp"
109
+ ```
110
+
111
+ ### Download Options
112
+ | Option | Type | Default | Description |
113
+ |--------|------|---------|-------------|
114
+ | `savePath` | string | './downloads' | Destination folder |
115
+ | `getFile` | boolean | true | Save to file or just return URLs |
116
+ | `filename` | string | `{username}_{postid}_{index}.{ext}` | Custom filename pattern |
117
+ | `useBase64` | boolean | true | Convert to Base64 before saving |
118
+ | `skipDuplicates` | boolean | false | Skip already downloaded files |
119
+ | `timeout` | number | 30000 | Request timeout in ms |
120
+ | `retries` | number | 3 | Retry attempts on failure |
121
+
122
+ ### Download Result
123
+ ```typescript
124
+ {
125
+ success: true, // true if all files downloaded
126
+ total: 5, // total files attempted
127
+ downloaded: 5, // successfully downloaded
128
+ failed: 0, // failed downloads
129
+ skipped: 0, // skipped duplicates
130
+ files: [
131
+ {
132
+ index: 0,
133
+ url: "https://...",
134
+ path: "./downloads/user_ABC123_01.jpg",
135
+ filename: "user_ABC123_01.jpg",
136
+ bytes: 265661,
137
+ format: "jpg"
138
+ }
139
+ ],
140
+ totalBytes: 1328305, // total bytes downloaded
141
+ duration: 5234 // time in milliseconds
142
+ }
143
+ ```
144
+
145
+ ### New Exports
146
+ - `downloadImages()` - Main download function
147
+ - `DownloadManager` - Manager class for advanced usage
148
+ - `downloadScrape()` - Direct URL download function
149
+ - `DownloadScrapeEngine` - Engine class for batch downloads
150
+ - `DownloadScrapeOptions` - Options interface
151
+ - `DownloadScrapeResult` - Result interface
152
+
5
153
  ## [1.2.7] - 2026-01-04
6
154
 
7
155
  ### 🐛 Metadata Extraction Fix
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # InstaSave SDK
2
2
 
3
- [![Version](https://img.shields.io/badge/version-1.2.7-blue.svg)](https://github.com/nykadamec/instasave-sdk/releases/tag/v1.2.7)
3
+ [![Version](https://img.shields.io/badge/version-1.2.9-blue.svg)](https://github.com/nykadamec/instasave-sdk/releases/tag/v1.2.9)
4
4
  [![Changelog](https://img.shields.io/badge/changelog-latest-green.svg)](https://github.com/nykadamec/instasave-sdk/blob/main/CHANGELOG.md)
5
5
 
6
6
  📸 **Simple Instagram scraper for downloading images from posts**
7
7
 
8
- Fast, reliable, and easy-to-use Instagram media downloader with authentication support.
8
+ Fast, reliable, and easy-to-use Instagram media downloader with authentication and direct download support.
9
9
 
10
10
  ---
11
11
 
@@ -113,6 +113,204 @@ const data = await scraper.scrape('URL', {
113
113
 
114
114
  ---
115
115
 
116
+ ## 📥 Download Images
117
+
118
+ Stáhněte obrázky přímo z scraped dat:
119
+
120
+ ```javascript
121
+ import { MediaScraper, downloadImages } from 'instasave-sdk';
122
+
123
+ const scraper = new MediaScraper();
124
+
125
+ // Nejprve scrape data
126
+ const data = await scraper.scrape('https://www.instagram.com/p/ABC123/');
127
+
128
+ // Potom stáhněte obrázky
129
+ const result = await downloadImages(data, {
130
+ savePath: './downloads', // Kam ukládat
131
+ getFile: true, // 'download' | 'save' | false
132
+ filename: '{username}_{postid}_{index}.{ext}',
133
+ skipDuplicates: true,
134
+ onProgress: (percent, current, total) => {
135
+ console.log(`${percent}% (${current}/${total})`);
136
+ }
137
+ });
138
+
139
+ console.log(`✅ Staženo: ${result.downloaded}/${result.total}`);
140
+ console.log(`📁 Soubory: ${result.files.map(f => f.filename).join(', ')}`);
141
+ ```
142
+
143
+ ### Download Options
144
+
145
+ | Parametr | Typ | Default | Popis |
146
+ |----------|-----|---------|-------|
147
+ | `savePath` | string | - | Cílová složka |
148
+ | `getFile` | boolean | true | Ukládat soubory |
149
+ | `filename` | string | `{username}_{postid}_{index}.{ext}` | Pattern názvu |
150
+ | `skipDuplicates` | boolean | false | Přeskočit duplikáty |
151
+ | `createSubfolders` | boolean | false | Vytvořit podsložku podle username |
152
+ | `onProgress` | function | - | Callback pro progress |
153
+ | `timeout` | number | 30000 | Timeout v ms |
154
+
155
+ ### Download Result
156
+
157
+ ```javascript
158
+ {
159
+ success: true, // true pokud všechny úspěšné
160
+ total: 5, // celkem obrázků
161
+ downloaded: 4, // úspěšně staženo
162
+ failed: 1, // selhalo
163
+ skipped: 0, // přeskočeno (duplikáty)
164
+ files: [
165
+ {
166
+ index: 0,
167
+ url: 'https://...',
168
+ path: './downloads/user_ABC123_01.jpg',
169
+ filename: 'user_ABC123_01.jpg',
170
+ bytes: 245000,
171
+ format: 'jpg'
172
+ }
173
+ ],
174
+ errors: [
175
+ {
176
+ index: 4,
177
+ url: 'https://...',
178
+ code: 'DOWNLOAD_FAILED',
179
+ message: 'Timeout after 3 attempts'
180
+ }
181
+ ],
182
+ totalBytes: 980000, // celkem staženo bytes
183
+ duration: 5234 // ms
184
+ }
185
+ ```
186
+
187
+ ---
188
+
189
+ ## 📥 Download Images
190
+
191
+ Download images directly from scraped data:
192
+
193
+ ```javascript
194
+ import { MediaScraper, downloadImages } from 'instasave-sdk';
195
+
196
+ const scraper = new MediaScraper();
197
+ const data = await scraper.scrape('https://www.instagram.com/p/ABC123/');
198
+
199
+ // Download all images with progress tracking
200
+ const result = await downloadImages(data, {
201
+ savePath: './downloads',
202
+ getFile: true,
203
+ filename: '{username}_{postid}_{index}.{ext}',
204
+ skipDuplicates: false,
205
+ onProgress: (percent, current, total) => {
206
+ console.log(`${percent}% (${current}/${total})`);
207
+ }
208
+ });
209
+
210
+ console.log(`Downloaded: ${result.downloaded}/${result.total}`);
211
+ console.log(`Files: ${result.files.map(f => f.filename).join(', ')}`);
212
+ ```
213
+
214
+ ### Download Options
215
+
216
+ | Option | Type | Default | Description |
217
+ |--------|------|---------|-------------|
218
+ | `savePath` | string | './downloads' | Destination folder |
219
+ | `getFile` | boolean | true | Save to file or return URLs |
220
+ | `filename` | string | `{username}_{postid}_{index}.{ext}` | Filename pattern |
221
+ | `skipDuplicates` | boolean | false | Skip already downloaded files |
222
+ | `createSubfolders` | boolean | false | Create subfolder by username |
223
+ | `onProgress` | function | - | Progress callback |
224
+ | `timeout` | number | 30000 | Request timeout in ms |
225
+
226
+ ### Download Result
227
+
228
+ ```javascript
229
+ {
230
+ success: true, // true if all successful
231
+ total: 5, // total images
232
+ downloaded: 4, // successfully downloaded
233
+ failed: 1, // failed downloads
234
+ skipped: 0, // skipped duplicates
235
+ files: [
236
+ {
237
+ index: 0,
238
+ url: 'https://...',
239
+ path: './downloads/user_ABC123_01.jpg',
240
+ filename: 'user_ABC123_01.jpg',
241
+ bytes: 245000,
242
+ format: 'jpg'
243
+ }
244
+ ],
245
+ errors: [
246
+ {
247
+ index: 4,
248
+ url: 'https://...',
249
+ code: 'DOWNLOAD_FAILED',
250
+ message: 'Timeout after 3 attempts'
251
+ }
252
+ ],
253
+ totalBytes: 980000, // total bytes
254
+ duration: 5234 // milliseconds
255
+ }
256
+ ```
257
+
258
+ ---
259
+
260
+ ## 🔗 Direct URL Download
261
+
262
+ Download any image URL directly with `downloadScrape()`:
263
+
264
+ ```javascript
265
+ import { downloadScrape } from 'instasave-sdk';
266
+
267
+ // Download with Base64 conversion (default)
268
+ const result = await downloadScrape(imageUrl, {
269
+ useBase64: true,
270
+ outputPath: './images',
271
+ filename: 'my-image.jpg'
272
+ });
273
+ // Flow: Download → Base64 → File
274
+
275
+ // Direct download (faster)
276
+ const result = await downloadScrape(imageUrl, {
277
+ useBase64: false,
278
+ outputPath: './images',
279
+ filename: 'my-image.jpg'
280
+ });
281
+ // Flow: Download → File
282
+
283
+ console.log(result.localPath); // "./images/my-image.jpg"
284
+ console.log(result.bytes); // 265661
285
+ console.log(result.format); // "jpg"
286
+ ```
287
+
288
+ ### downloadScrape Options
289
+
290
+ | Option | Type | Default | Description |
291
+ |--------|------|---------|-------------|
292
+ | `useBase64` | boolean | true | Download→Base64→File or direct Download→File |
293
+ | `outputPath` | string | './downloads' | Destination folder |
294
+ | `filename` | string | auto-generated | Filename |
295
+ | `timeout` | number | 30000 | Request timeout in ms |
296
+ | `retries` | number | 3 | Retry attempts on failure |
297
+
298
+ ### downloadScrape Result
299
+
300
+ ```javascript
301
+ {
302
+ success: true,
303
+ url: 'https://instagram.com/image.jpg',
304
+ localPath: './images/my-image.jpg',
305
+ filename: 'my-image.jpg',
306
+ format: 'jpg',
307
+ bytes: 265661,
308
+ error: undefined
309
+ }
310
+ ```
311
+
312
+ ---
313
+
116
314
  ## ⚙️ Configuration
117
315
 
118
316
  Create `instasave.config` in your project root for automatic setup:
@@ -120,6 +318,7 @@ Create `instasave.config` in your project root for automatic setup:
120
318
  ```ini
121
319
  [DEFAULT]
122
320
  PUPPETEER_EXECUTABLE_PATH = /path/to/chrome
321
+ BROWSER_TYPE = chrome
123
322
  WORKFLOWS_DIR = ./workflows
124
323
 
125
324
  [ACCOUNT]
@@ -132,6 +331,22 @@ HEADLESS = true
132
331
  TIMEOUT = 60
133
332
  ```
134
333
 
334
+ **Supported Browser Types:**
335
+ - `chrome` - Google Chrome
336
+ - `chromium` - Chromium
337
+ - `edge` - Microsoft Edge
338
+ - `brave` - Brave Browser
339
+ - `opera` - Opera
340
+ - `vivaldi` - Vivaldi
341
+ - `arc` - Arc Browser
342
+ - `comet` - Comet Browser
343
+
344
+ **Browser Priority Order:**
345
+ 1. **Explicit path** (`PUPPETEER_EXECUTABLE_PATH`) - highest priority
346
+ 2. **Browser type** (`BROWSER_TYPE`) - resolves to standard macOS path
347
+ 3. **Environment variable** (`PUPPETEER_EXECUTABLE_PATH` env var)
348
+ 4. **Default** - Puppeteer's bundled Chromium
349
+
135
350
  **Benefits:**
136
351
  - ✅ **Auto-login** - Automatic authentication on startup
137
352
  - ✅ **Custom browser** - Use specific Chrome/Chromium installation
@@ -155,6 +370,8 @@ TIMEOUT = 60
155
370
  ✅ **Reliable login** - Stable authentication with Instagram
156
371
  ✅ **Browser reuse** - 61-70% faster performance through connection pooling
157
372
  ✅ **Hot reload config** - Automatic config updates without restart
373
+ ✅ **Direct download** - Download images directly from scraped data
374
+ ✅ **Download API** - Batch download with progress tracking and retry logic
158
375
 
159
376
  ### Limitations
160
377
  ❌ **Videos/Reels** - Images only
@@ -2,10 +2,12 @@
2
2
  * Crawler manager for browser instance reuse
3
3
  */
4
4
  import { PuppeteerCrawler } from 'crawlee';
5
+ import { BrowserType } from '../utils/config/config-parser';
5
6
  export interface CrawlerOptions {
6
7
  maxRequestRetries?: number;
7
8
  requestHandlerTimeoutSecs?: number;
8
9
  executablePath?: string;
10
+ browserType?: BrowserType;
9
11
  headless?: boolean;
10
12
  }
11
13
  export declare class CrawlerManager {
@@ -16,6 +18,10 @@ export declare class CrawlerManager {
16
18
  private readonly maxIdleTime;
17
19
  private constructor();
18
20
  static getInstance(): CrawlerManager;
21
+ /**
22
+ * Resolve browser executable path with priority order
23
+ */
24
+ private resolveBrowserExecutable;
19
25
  /**
20
26
  * Get or create crawler instance
21
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"crawler-manager.d.ts","sourceRoot":"","sources":["../../src/browser/crawler-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmCzE;;OAEG;IACH,aAAa,IAAI,IAAI;IAKrB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
1
+ {"version":3,"file":"crawler-manager.d.ts","sourceRoot":"","sources":["../../src/browser/crawler-manager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,MAAM,WAAW,cAAc;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAiB;IACxC,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,QAAQ,CAAc;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiB;IAE7C,OAAO;IAEP,MAAM,CAAC,WAAW,IAAI,cAAc;IAOpC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;IACG,UAAU,CAAC,OAAO,GAAE,cAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmCzE;;OAEG;IACH,aAAa,IAAI,IAAI;IAKrB;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAa9B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAI/B"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.CrawlerManager = void 0;
7
7
  const crawlee_1 = require("crawlee");
8
8
  const logger_1 = require("../utils/logger");
9
+ const browser_path_resolver_1 = require("../utils/browser/browser-path-resolver");
9
10
  class CrawlerManager {
10
11
  constructor() {
11
12
  this.crawler = null;
@@ -19,6 +20,33 @@ class CrawlerManager {
19
20
  }
20
21
  return CrawlerManager.instance;
21
22
  }
23
+ /**
24
+ * Resolve browser executable path with priority order
25
+ */
26
+ resolveBrowserExecutable(options) {
27
+ // Priority: explicit path > browser_type > env variable > default
28
+ // 1. Explicit path (highest priority)
29
+ if (options.executablePath) {
30
+ logger_1.Logger.debug(`Using explicit browser path: ${options.executablePath}`);
31
+ return options.executablePath;
32
+ }
33
+ // 2. Browser type resolution
34
+ if (options.browserType) {
35
+ const resolvedPath = browser_path_resolver_1.BrowserPathResolver.findAvailableBrowser(options.browserType);
36
+ if (resolvedPath) {
37
+ logger_1.Logger.debug(`Resolved ${options.browserType} to: ${resolvedPath}`);
38
+ return resolvedPath;
39
+ }
40
+ }
41
+ // 3. Environment variable
42
+ if (process.env.PUPPETEER_EXECUTABLE_PATH) {
43
+ logger_1.Logger.debug(`Using env PUPPETEER_EXECUTABLE_PATH: ${process.env.PUPPETEER_EXECUTABLE_PATH}`);
44
+ return process.env.PUPPETEER_EXECUTABLE_PATH;
45
+ }
46
+ // 4. Default (Puppeteer's bundled Chromium)
47
+ logger_1.Logger.debug('Using default Puppeteer Chromium');
48
+ return undefined;
49
+ }
22
50
  /**
23
51
  * Get or create crawler instance
24
52
  */
@@ -38,7 +66,7 @@ class CrawlerManager {
38
66
  requestHandlerTimeoutSecs: options.requestHandlerTimeoutSecs || 60,
39
67
  launchContext: {
40
68
  launchOptions: {
41
- executablePath: options.executablePath || process.env.PUPPETEER_EXECUTABLE_PATH || undefined,
69
+ executablePath: this.resolveBrowserExecutable(options),
42
70
  headless: options.headless !== false,
43
71
  args: ['--no-sandbox', '--disable-setuid-sandbox']
44
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"crawler-manager.js","sourceRoot":"","sources":["../../src/browser/crawler-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crawler-manager.js","sourceRoot":"","sources":["../../src/browser/crawler-manager.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { MediaData } from '../types';
2
2
  import { FastAuthManager, LoginCredentials } from '../auth';
3
3
  import { PluginManager, Plugin, ScrapingOptions } from '../plugins';
4
4
  import { ConfigParser, InstaSaveConfig } from '../utils/config';
5
+ import { DownloadOptions, DownloadResult } from '../download';
5
6
  /**
6
7
  * Main media scraper class with multi-platform support
7
8
  * @class MediaScraper
@@ -18,6 +19,7 @@ export declare class MediaScraper {
18
19
  private currentScrapeId;
19
20
  private stepCallback;
20
21
  private crawlerManager;
22
+ private downloadManager;
21
23
  /**
22
24
  * Creates a new MediaScraper instance
23
25
  */
@@ -95,6 +97,10 @@ export declare class MediaScraper {
95
97
  * Logout and clear session data
96
98
  */
97
99
  logout(): Promise<void>;
100
+ /**
101
+ * Download images from scraped media data
102
+ */
103
+ downloadImages(data: MediaData, options: DownloadOptions): Promise<DownloadResult>;
98
104
  /**
99
105
  * Clear all cached data and reset SDK state
100
106
  */
@@ -1 +1 @@
1
- {"version":3,"file":"media-scraper.d.ts","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAKpF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAShE;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,cAAc,CAAiB;IAEvC;;OAEG;;IAoCH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;YACW,SAAS;IAevB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACG,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B5D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;YAqQ9D,UAAU;IAaxB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;IAIjD;;OAEG;IACH,UAAU;IAIV;;OAEG;IACG,SAAS;IAIf;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,cAAc,IAAI,eAAe;IAIjC;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,eAAe,IAAI,YAAY;IAIzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,WAAW,IAAI;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAOtE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
1
+ {"version":3,"file":"media-scraper.d.ts","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,EAAkB,eAAe,EAAE,MAAM,YAAY,CAAC;AAKpF,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAKhE,OAAO,EAAmB,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAK/E;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,YAAY,CAA0C;IAC9D,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IAEzC;;OAEG;;IAqCH;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;YACW,SAAS;IAevB;;OAEG;IACH,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIzB;;OAEG;IACG,KAAK,CAAC,WAAW,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IA8B5D;;OAEG;IACG,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,SAAS,CAAC;YAwQ9D,UAAU;IAaxB;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,IAAI;IAIjD;;OAEG;IACH,UAAU;IAIV;;OAEG;IACG,SAAS;IAIf;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,gBAAgB,IAAI,aAAa;IAIjC;;OAEG;IACH,cAAc,IAAI,eAAe;IAIjC;;OAEG;IACH,SAAS,IAAI,eAAe;IAI5B;;OAEG;IACH,eAAe,IAAI,YAAY;IAIzB,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAWxC;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;OAEG;IACH,WAAW,IAAI;QAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;IAOtE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAK7B;;OAEG;IACG,cAAc,CAClB,IAAI,EAAE,SAAS,EACf,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC;IAI1B;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ9B;;OAEG;IACH,OAAO,CAAC,KAAK;CAGd"}
@@ -49,6 +49,7 @@ const url_normalizer_1 = require("../utils/url-normalizer");
49
49
  const crawler_manager_1 = require("../browser/crawler-manager");
50
50
  const logger_1 = require("../utils/logger");
51
51
  const workflow_executor_1 = require("./workflow-executor");
52
+ const download_1 = require("../download");
52
53
  // Load environment variables
53
54
  dotenv.config();
54
55
  /**
@@ -71,6 +72,7 @@ class MediaScraper {
71
72
  this.fileManager = new file_manager_1.FileManager();
72
73
  this.configParser = new config_1.ConfigParser();
73
74
  this.crawlerManager = crawler_manager_1.CrawlerManager.getInstance();
75
+ this.downloadManager = new download_1.DownloadManager();
74
76
  // Set crawler manager for auth manager
75
77
  this.authManager.setCrawlerManager(this.crawlerManager);
76
78
  // Load configuration
@@ -142,7 +144,10 @@ class MediaScraper {
142
144
  requestHandlerTimeoutSecs: 60,
143
145
  launchContext: {
144
146
  launchOptions: {
145
- executablePath: process.env.PUPPETEER_EXECUTABLE_PATH || undefined,
147
+ executablePath: this.config.default.puppeteer_executable_path ||
148
+ (this.config.default.browser_type ?
149
+ require('../utils/browser/browser-path-resolver').BrowserPathResolver.findAvailableBrowser(this.config.default.browser_type) :
150
+ process.env.PUPPETEER_EXECUTABLE_PATH) || undefined,
146
151
  headless: this.config.settings.headless !== false,
147
152
  args: ['--no-sandbox', '--disable-setuid-sandbox']
148
153
  }
@@ -194,7 +199,10 @@ class MediaScraper {
194
199
  requestHandlerTimeoutSecs: options.timeout || 60,
195
200
  launchContext: {
196
201
  launchOptions: {
197
- executablePath: process.env.PUPPETEER_EXECUTABLE_PATH || undefined,
202
+ executablePath: this.config.default.puppeteer_executable_path ||
203
+ (this.config.default.browser_type ?
204
+ require('../utils/browser/browser-path-resolver').BrowserPathResolver.findAvailableBrowser(this.config.default.browser_type) :
205
+ process.env.PUPPETEER_EXECUTABLE_PATH) || undefined,
198
206
  args: ['--no-sandbox', '--disable-setuid-sandbox']
199
207
  }
200
208
  },
@@ -476,6 +484,12 @@ class MediaScraper {
476
484
  await this.authManager.logout();
477
485
  logger_1.log.info('🔐 Session cleared successfully');
478
486
  }
487
+ /**
488
+ * Download images from scraped media data
489
+ */
490
+ async downloadImages(data, options) {
491
+ return this.downloadManager.downloadImages(data, options);
492
+ }
479
493
  /**
480
494
  * Clear all cached data and reset SDK state
481
495
  */
@@ -1 +1 @@
1
- {"version":3,"file":"media-scraper.js","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"media-scraper.js","sourceRoot":"","sources":["../../src/core/media-scraper.ts"],"names":[],"mappings":"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"}