Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian
ec307112a9 1.255.5 2026-07-24 16:57:18 +02:00
DebaucheryLibrarian
8f0609ade2 Improved Aziani profile scraper for Cosplayground, allowing image type override, added profile test for Cosplayground. 2026-07-24 16:57:15 +02:00
5 changed files with 15 additions and 8 deletions

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "traxxx",
"version": "1.255.4",
"version": "1.255.5",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "traxxx",
"version": "1.255.4",
"version": "1.255.5",
"license": "ISC",
"dependencies": {
"@aws-sdk/client-s3": "^3.458.0",

View File

@@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.255.4",
"version": "1.255.5",
"description": "All the latest porn releases in one place",
"main": "src/app.js",
"scripts": {

View File

@@ -13547,6 +13547,7 @@ const sites = [
videos: '/videos',
scenePath: '/videos',
modelPath: '/models',
imageType: 'photos',
},
},
// TEEN CORE CLUB

View File

@@ -45,7 +45,7 @@ function scrapeScene(data, channel, parameters) {
.map((key) => unprint.prefixUrl(`${poster[key][0].fileuri}?${poster[key][0].signature}`, parameters.cdn));
}
release.caps = data.content
release[parameters.imageType || 'caps'] = data.content
?.filter((item) => item.content_type === 'image' && item.content?.[0])
.map((item) => [
item.content[0],
@@ -187,7 +187,10 @@ function scrapeProfile(data, entity, parameters) {
profile.gender = bio.gender?.toLowerCase();
profile.age = bio.age;
profile.dateOfBirth = unprint.extractDate(`${bio.born} 0`, 'MMMM Do YYYY', { match: /\w+ \d+\w{2} \d{1,4}/ });
profile.dateOfBirth = unprint.extractDate(`${bio.born} 0`, 'MMMM Do YYYY', { match: /\w+ \d+\w{2} \d{1,4}/ })
|| unprint.extractDate(bio.date_of_birth, 'yyyy-MM-dd');
profile.birthPlace = bio.birthplace;
profile.ethnicity = bio.ethnicity;
profile.measurements = bio.measurements;
@@ -210,16 +213,18 @@ function scrapeProfile(data, entity, parameters) {
};
}
profile.socials = [bio.onlyfans, bio.instagram].filter(Boolean);
return profile;
}
async function fetchProfile({ name, url }, { entity, parameters }) {
if (!url) {
// no easy search option
if (!url && !parameters.entryIdSlug) {
// no easy search option and numeric ID is non-derivable
return null;
}
const actorId = new URL(url).pathname.match(/models?\/(\d+)/)?.[1];
const actorId = url && new URL(url).pathname.match(/models?\/(\d+)/)?.[1];
if (!actorId && !parameters.entryIdSlug) {
return null;

View File

@@ -266,6 +266,7 @@ const actors = [
{ entity: 'wakeupnfuck', name: 'Abby Lee Brazil', fields: ['avatar', 'nationality'] },
{ entity: 'darkkotv', name: 'Aidra Fox', fields: ['avatar', 'description', 'dateOfBirth', 'birthPlace', 'ethnicity', 'height', 'weight', 'measurements', 'naturalBoobs', 'hasTattoos', 'hasPiercings'] },
{ entity: 'jaxslayher', name: 'Eliza Ibarra', fields: ['avatar', 'description', 'eyes', 'height', 'weight', 'birthPlace', 'measurements', 'hairColor'] },
{ entity: 'cosplayground', name: 'Anna Claire Clouds', url: 'https://cosplayground.com/models/anna-claire-clouds?models=Anna%20Claire%20Clouds', fields: ['avatar', 'description', 'dateOfBirth', 'birthPlace', 'height', 'measurements', 'hairColor', 'ethnicity'] },
];
const actorScrapers = scrapers.actors;