mirror of
https://github.com/imputnet/cobalt.git
synced 2025-07-17 18:58:33 +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";
|
||||
|
||||
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) {
|
||||
let id = o.id;
|
||||
@ -19,15 +20,24 @@ export default async function(o) {
|
||||
|
||||
if (!html) return { error: 'ErrorCouldntFetch' };
|
||||
|
||||
let videoLink = [...html.matchAll(linkRegex)]
|
||||
let videoLink = [...html.matchAll(videoRegex)]
|
||||
.map(([, link]) => link)
|
||||
.filter(a => a.endsWith('.mp4') && a.includes('720p'))[0];
|
||||
|
||||
if (!videoLink) return { error: 'ErrorEmptyDownload' };
|
||||
|
||||
return {
|
||||
if (videoLink) return {
|
||||
urls: videoLink,
|
||||
filename: `pinterest_${o.id}.mp4`,
|
||||
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,
|
||||
"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": [{
|
||||
"name": "regular video",
|
||||
|
Loading…
Reference in New Issue
Block a user