Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian
ce94456494 1.248.55 2026-02-09 02:33:14 +01:00
DebaucheryLibrarian
fe3fcd0741 Fixed ExploitedX not matching some age fields. 2026-02-09 02:33:11 +01:00
5 changed files with 9 additions and 7 deletions

4
package-lock.json generated
View File

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

View File

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

View File

@@ -81,7 +81,7 @@ function scrapeProfile({ query }, _entity) {
const bio = Object.fromEntries(keys.map((key, index) => [slugify(key, '_'), values[index]]));
profile.age = Number(bio.age) || null;
profile.age = unprint.extractNumber(bio.age);
profile.height = convert(bio.height, 'cm');
profile.measurements = bio.measurements;

View File

@@ -91,11 +91,13 @@ function scrapeProfile({ query }, { url }) {
profile.description = [query.content('.model-bio-text, #performer-description'), bio.funfact].filter(Boolean).join(' ');
profile.aliases = bio.alias?.split(/[,\n]/).map((alias) => alias.trim());
profile.age = parseInt(bio.age, 10) || null;
profile.age = unprint.extractNumber(bio.age);
profile.dateOfBirth = unprint.extractDate(bio.age, 'MM/DD/YYYY');
profile.measurements = bio.measurements;
profile.height = Number(bio.height?.match(/(\d+)\s*cm/)?.[1]) || convert(bio.height, 'cm');
console.log(profile);
return profile;
}

View File

@@ -207,7 +207,7 @@ const actors = [
{ entity: 'amateurallure', name: 'Ava Amira', fields: ['avatar', 'description'] },
{ entity: 'swallowsalon', name: 'Abella Danger', fields: ['avatar'] },
// exploitedx
{ entity: 'exploitedx', name: 'Amber Moore', url: 'https://exploitedcollegegirls.com/models/AmberMoore.html', fields: ['avatar', 'description', 'age', 'height', 'measurements'] },
{ entity: 'exploitedx', name: 'Amber Moore', url: 'https://exploitedcollegegirls.com/models/Amber-Moore.html', fields: ['avatar', 'description', 'age', 'height', 'measurements'] },
{ entity: 'exploitedx', name: 'Amber Moore', url: 'https://bbcsurprise.com/models/AmberMoore.html', fields: ['avatar', 'age'] },
{ entity: 'exploitedx', name: 'Megan Marx', url: 'https://excogigirls.com/models/megan-marx.html', fields: ['avatar', 'description', 'age', 'height', 'measurements'] },
{ entity: 'exploitedx', name: 'Sophie Hunt', url: 'https://www.backroomcastingcouch.com/models/Sophie-Hunt.html', fields: ['avatar', 'age'] },
@@ -375,7 +375,7 @@ async function init() {
validators[field]
? await validators[field](profile[field])
: typeof profile[field] !== 'undefined',
`broken field ${field}, got ${profile[field]}`,
`broken field ${field}, got ${profile[field]} for ${actor.name}`,
);
}));
})));