From d4db2ee1e47e06405989917784f9e238e371bf0a Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Wed, 8 Jul 2026 04:38:02 +0200 Subject: [PATCH] Added Glowing Desire, adapted Nubiles scraper. --- seeds/02_sites.js | 6 ++++++ src/scrapers/nubiles.js | 13 ++++++++----- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/seeds/02_sites.js b/seeds/02_sites.js index 9695e7cb..e4ddf56f 100755 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -9477,6 +9477,12 @@ const sites = [ url: 'https://shesbreedingmaterial.com', parent: 'nubiles', }, + { + slug: 'glowingdesire', + name: 'Glowing Desire', + url: 'https://glowingdesire.com', + parent: 'nubiles', + }, // PASCALS SUBSLUTS { slug: 'pascalssubsluts', diff --git a/src/scrapers/nubiles.js b/src/scrapers/nubiles.js index d3e3f066..31ad092b 100755 --- a/src/scrapers/nubiles.js +++ b/src/scrapers/nubiles.js @@ -26,9 +26,11 @@ async function getPhotos(albumUrl) { selectAll: '.photo-thumb', }); - return res.ok - ? res.context.map(({ query }) => unprint.prefixUrl(query.element('source').srcset)) - : []; + if (res.ok) { + return res.context.map(({ query }) => query.sourceSet('source, picture img')).filter(Boolean); + } + + return []; } function scrapeAll(scenes, entity) { @@ -37,7 +39,7 @@ function scrapeAll(scenes, entity) { release.title = query.content('.title a'); release.url = stripQuery(unprint.prefixUrl(query.url('.title a'), entity.url)); - release.entryId = Number(new URL(release.url).pathname.match(/\/watch\/(\d+)/)[1]); + release.entryId = Number(new URL(release.url).pathname.match(/\/(?:watch|stream)\/(\d+)/)[1]); release.date = query.date('.date', 'MMM D, YYYY'); @@ -51,7 +53,8 @@ function scrapeAll(scenes, entity) { release.actors = query.content('.models', { trim: false })?.trim().split(/\s{2,}/); } - const poster = query.sourceSet('img', 'data-srcset')?.[0]; + const poster = query.sourceSet('img', 'data-srcset')?.[0] + || query.sourceSet('img', 'data-src')?.[0]; release.poster = poster && [ poster.replace('_640', '_1280'),