Filtering out 'Amateur' model in Model Media API.

This commit is contained in:
DebaucheryLibrarian 2026-02-06 06:02:59 +01:00
parent 7062f04e78
commit e8d6345400
4 changed files with 34 additions and 19 deletions

View File

@ -2,7 +2,7 @@
const adultempire = require('./adultempire'); const adultempire = require('./adultempire');
const angelogodshackoriginal = require('./angelogodshackoriginal'); const angelogodshackoriginal = require('./angelogodshackoriginal');
const americanpornstar = require('./americanpornstar'); // const americanpornstar = require('./americanpornstar'); // offline
const aziani = require('./aziani'); const aziani = require('./aziani');
const badoink = require('./badoink'); const badoink = require('./badoink');
const bamvisions = require('./bamvisions'); const bamvisions = require('./bamvisions');
@ -163,10 +163,10 @@ module.exports = {
thatsitcomshow: nubiles, thatsitcomshow: nubiles,
// porndoe // porndoe
amateureuro: porndoe, amateureuro: porndoe,
forbondage: porndoe,
mamacitaz: porndoe, mamacitaz: porndoe,
transbella: porndoe, transbella: porndoe,
vipsexvault: porndoe, vipsexvault: porndoe,
// forbondage: porndoe,
// aziani // aziani
aziani, aziani,
'2poles1hole': aziani, '2poles1hole': aziani,
@ -209,7 +209,7 @@ module.exports = {
fullpornnetwork, fullpornnetwork,
adultempire, adultempire,
allherluv: missax, allherluv: missax,
americanpornstar, // americanpornstar,
angelogodshackoriginal, angelogodshackoriginal,
babevr: badoink, babevr: badoink,
badoinkvr: badoink, badoinkvr: badoink,

View File

@ -2,9 +2,8 @@
const unprint = require('unprint'); const unprint = require('unprint');
const http = require('../utils/http');
const slugify = require('../utils/slugify'); const slugify = require('../utils/slugify');
const { feetInchesToCm, lbsToKg } = require('../utils/convert'); const { convert } = require('../utils/convert');
function scrapeAll(scenes, channel, _options) { function scrapeAll(scenes, channel, _options) {
return scenes.map(({ query }) => { return scenes.map(({ query }) => {
@ -122,7 +121,7 @@ async function scrapeProfile({ query }) {
const bioText = query.content('#profileModal .well'); const bioText = query.content('#profileModal .well');
profile.description = query.content('#profileModal .modal-body') profile.description = query.content('#profileModal .modal-body')
.slice(bioText.length) ?.slice(bioText?.length || 0)
.replace(/Biography Text ©Adult DVD Empire/i, '') .replace(/Biography Text ©Adult DVD Empire/i, '')
.trim(); .trim();
@ -132,8 +131,8 @@ async function scrapeProfile({ query }) {
profile.eyes = bio.eyes; profile.eyes = bio.eyes;
profile.ethnicity = bio.ethnicity; profile.ethnicity = bio.ethnicity;
profile.height = feetInchesToCm(bio.height); profile.height = convert(bio.height, 'cm');
profile.weight = lbsToKg(bio.weight); profile.weight = convert(bio.weight, 'lb', 'kg');
const avatar = query.img('picture img, .performer-image-container img'); const avatar = query.img('picture img, .performer-image-container img');
@ -146,6 +145,8 @@ async function scrapeProfile({ query }) {
]; ];
} }
console.log(profile);
return profile; return profile;
} }
@ -155,8 +156,8 @@ async function fetchLatest(channel, page, options) {
? `${options.parameters.latest}?page=${page}&view=grid` ? `${options.parameters.latest}?page=${page}&view=grid`
: `${channel.url}/watch-newest-clips-and-scenes.html?page=${page}&view=grid`, { : `${channel.url}/watch-newest-clips-and-scenes.html?page=${page}&view=grid`, {
selectAll: '.item-grid-scene .grid-item', selectAll: '.item-grid-scene .grid-item',
headers: { cookies: {
Cookie: 'ageConfirmed=true;', ageConfirmed: true,
}, },
}); });
@ -171,6 +172,9 @@ async function fetchProfilePage(actorUrl) {
const res = await unprint.get(actorUrl, { const res = await unprint.get(actorUrl, {
select: '#content', select: '#content',
rejectUnauthorized: false, rejectUnauthorized: false,
cookies: {
ageConfirmed: true,
},
}); });
if (res.ok) { if (res.ok) {
@ -189,10 +193,14 @@ async function fetchProfile(baseActor, channel, include) {
} }
} }
const searchRes = await http.get(`https://www.adultempire.com/search/SearchAutoComplete_Agg_EmpireDTRank?search_type=Pornstars&rows=9&name_startsWith=${slugify(baseActor.name, '+')}`); const searchRes = await unprint.get(`https://www.adultempire.com/search/SearchAutoComplete_Agg_EmpireDTRank?search_type=Pornstars&rows=9&name_startsWith=${slugify(baseActor.name, '+')}`, {
cookies: {
ageConfirmed: true,
},
});
if (searchRes.ok && searchRes.body.Results) { if (searchRes.ok && searchRes.data.Results) {
const actorResult = searchRes.body.Results.find((result) => /performer/i.test(result.BasicResponseGroup?.displaytype) && new RegExp(baseActor.name, 'i').test(result.BasicResponseGroup?.description)); const actorResult = searchRes.data.Results.find((result) => /performer/i.test(result.BasicResponseGroup?.displaytype) && new RegExp(baseActor.name, 'i').test(result.BasicResponseGroup?.description));
if (actorResult) { if (actorResult) {
const url = `https://www.adultempire.com/${actorResult.BasicResponseGroup.id}`; const url = `https://www.adultempire.com/${actorResult.BasicResponseGroup.id}`;

View File

@ -30,7 +30,7 @@ function scrapeSceneApi(scene, channel, parameters) {
model.avatar, model.avatar,
model.avatar?.replace('_compressed', ''), // this is often a wider image, not just uncompressed model.avatar?.replace('_compressed', ''), // this is often a wider image, not just uncompressed
])).filter(Boolean), ])).filter(Boolean),
})); })).filter((actor) => actor.name?.toLowerCase() === 'amateur'); // generic name for various amateur models
release.tags = scene.tags?.map((tag) => tag.name); release.tags = scene.tags?.map((tag) => tag.name);
@ -131,6 +131,10 @@ function scrapeAll(scenes) {
function scrapeProfileApi(model, channel, parameters) { function scrapeProfileApi(model, channel, parameters) {
const profile = {}; const profile = {};
if (model.name?.toLowerCase() === 'amateur') {
return null; // generic profile for various amateur models
}
profile.entryId = model.id; profile.entryId = model.id;
profile.url = `${channel.origin}${parameters.basePath || ''}/models/${model.id}`; profile.url = `${channel.origin}${parameters.basePath || ''}/models/${model.id}`;

View File

@ -242,11 +242,14 @@ const actors = [
{ entity: 'boyfun', name: 'Amahd Passer', fields: ['avatar', 'age', 'height', 'weight', 'penisLength', 'isCircumcised'] }, { entity: 'boyfun', name: 'Amahd Passer', fields: ['avatar', 'age', 'height', 'weight', 'penisLength', 'isCircumcised'] },
{ entity: 'bang', name: 'Riley Reid', fields: ['avatar', 'dateOfBirth', 'birthPlace', 'ethnicity', 'hairColor', 'eyes'] }, { entity: 'bang', name: 'Riley Reid', fields: ['avatar', 'dateOfBirth', 'birthPlace', 'ethnicity', 'hairColor', 'eyes'] },
{ entity: 'littlecapricedreams', name: 'Littlecaprice', fields: ['avatar', 'nationality', 'cup', 'measurements', 'height', 'description'] }, // sic { entity: 'littlecapricedreams', name: 'Littlecaprice', fields: ['avatar', 'nationality', 'cup', 'measurements', 'height', 'description'] }, // sic
{ entity: 'pascalssubsluts', name: 'Zlata Shine', fields: ['avatar', 'gender', 'nationality', 'hairColor', 'height', 'description'] }, // sic { entity: 'pascalssubsluts', name: 'Zlata Shine', fields: ['avatar', 'gender', 'nationality', 'hairColor', 'height', 'description'] },
{ entity: 'nebraskacoeds', name: 'Mary Beth Haglin', fields: ['avatar'] }, // sic { entity: 'nebraskacoeds', name: 'Mary Beth Haglin', fields: ['avatar'] },
{ entity: 'firstanalquest', name: 'Abigaile Johnson', fields: ['avatar', 'dateOfBirth', 'birthPlace', 'weight', 'height', 'measurements'] }, // sic { entity: 'firstanalquest', name: 'Abigaile Johnson', fields: ['avatar', 'dateOfBirth', 'birthPlace', 'weight', 'height', 'measurements'] },
{ entity: 'doubleviewcasting', name: 'Abigaile Johnson', fields: ['avatar', 'dateOfBirth', 'birthPlace', 'weight', 'height', 'measurements'] }, // sic { entity: 'doubleviewcasting', name: 'Abigaile Johnson', fields: ['avatar', 'dateOfBirth', 'birthPlace', 'weight', 'height', 'measurements'] },
{ entity: 'boobpedia', name: 'Paige British', fields: ['avatar'] }, // sic { entity: 'boobpedia', name: 'Paige British', fields: ['avatar'] },
{ entity: 'angelogodshackoriginal', name: 'Emily Pink', fields: ['avatar'] },
{ entity: 'bradmontana', name: 'Alicia Ribeiro', fields: ['avatar', 'gender'] },
{ entity: 'adultempire', name: 'Melissa Moore', fields: ['avatar'] },
]; ];
const actorScrapers = scrapers.actors; const actorScrapers = scrapers.actors;