mirror of
https://github.com/imputnet/cobalt.git
synced 2025-07-18 11:18:28 +00:00
feat(pinterest): implement image and gifs support
This commit is contained in:
parent
709d14ee9e
commit
2ab25fabfc
@ -1,6 +1,7 @@
|
|||||||
import { genericUserAgent } from "../../config.js";
|
import { genericUserAgent } from "../../config.js";
|
||||||
|
|
||||||
const linkRegex = /"url":"(https:\/\/v1.pinimg.com\/videos\/.*?)"/g;
|
const videoRegex = /"url":"(https:\/\/v1.pinimg.com\/videos\/.*?)"/g;
|
||||||
|
const imageRegex = /src="(https:\/\/i\.pinimg\.com\/.*\.(jpg|gif))"/g;
|
||||||
|
|
||||||
export default async function(o) {
|
export default async function(o) {
|
||||||
let id = o.id;
|
let id = o.id;
|
||||||
@ -19,15 +20,24 @@ export default async function(o) {
|
|||||||
|
|
||||||
if (!html) return { error: 'ErrorCouldntFetch' };
|
if (!html) return { error: 'ErrorCouldntFetch' };
|
||||||
|
|
||||||
let videoLink = [...html.matchAll(linkRegex)]
|
let videoLink = [...html.matchAll(videoRegex)]
|
||||||
.map(([, link]) => link)
|
.map(([, link]) => link)
|
||||||
.filter(a => a.endsWith('.mp4') && a.includes('720p'))[0];
|
.filter(a => a.endsWith('.mp4') && a.includes('720p'))[0];
|
||||||
|
|
||||||
if (!videoLink) return { error: 'ErrorEmptyDownload' };
|
if (videoLink) return {
|
||||||
|
|
||||||
return {
|
|
||||||
urls: videoLink,
|
urls: videoLink,
|
||||||
filename: `pinterest_${o.id}.mp4`,
|
filename: `pinterest_${o.id}.mp4`,
|
||||||
audioFilename: `pinterest_${o.id}_audio`
|
audioFilename: `pinterest_${o.id}_audio`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let imageLink = [...html.matchAll(imageRegex)]
|
||||||
|
.map(([, link]) => link)
|
||||||
|
.filter(a => a.endsWith('.jpg') || a.endsWith('.gif'))[0];
|
||||||
|
|
||||||
|
if (imageLink) return {
|
||||||
|
urls: imageLink,
|
||||||
|
isPhoto: true
|
||||||
|
}
|
||||||
|
|
||||||
|
return { error: 'ErrorEmptyDownload' };
|
||||||
}
|
}
|
||||||
|
@ -976,6 +976,38 @@
|
|||||||
"code": 200,
|
"code": 200,
|
||||||
"status": "redirect"
|
"status": "redirect"
|
||||||
}
|
}
|
||||||
|
}, {
|
||||||
|
"name": "regular picture",
|
||||||
|
"url": "https://www.pinterest.com/pin/412994228343400946/",
|
||||||
|
"params": {},
|
||||||
|
"expected": {
|
||||||
|
"code": 200,
|
||||||
|
"status": "redirect"
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"name": "regular picture (.ca TLD)",
|
||||||
|
"url": "https://www.pinterest.ca/pin/412994228343400946/",
|
||||||
|
"params": {},
|
||||||
|
"expected": {
|
||||||
|
"code": 200,
|
||||||
|
"status": "redirect"
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"name": "regular gif",
|
||||||
|
"url": "https://www.pinterest.com/pin/814447913881127862/",
|
||||||
|
"params": {},
|
||||||
|
"expected": {
|
||||||
|
"code": 200,
|
||||||
|
"status": "redirect"
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
"name": "regular gif (.ca TLD)",
|
||||||
|
"url": "https://www.pinterest.ca/pin/814447913881127862/",
|
||||||
|
"params": {},
|
||||||
|
"expected": {
|
||||||
|
"code": 200,
|
||||||
|
"status": "redirect"
|
||||||
|
}
|
||||||
}],
|
}],
|
||||||
"streamable": [{
|
"streamable": [{
|
||||||
"name": "regular video",
|
"name": "regular video",
|
||||||
|
Loading…
Reference in New Issue
Block a user