From f4300d8dfbeed271f4b10a3b502af03c3282d1a1 Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Fri, 23 Jan 2026 01:55:37 +0100 Subject: [PATCH] Separated some Naughty America channels into Naughty America VR. --- seeds/01_networks.js | 18 ++- seeds/02_sites.js | 259 +++++++++++++++++---------------- src/scrapers/naughtyamerica.js | 7 + src/scrapers/pierrewoodman.js | 2 +- 4 files changed, 150 insertions(+), 136 deletions(-) diff --git a/seeds/01_networks.js b/seeds/01_networks.js index df6cd38a..0b3ccfe9 100755 --- a/seeds/01_networks.js +++ b/seeds/01_networks.js @@ -93,6 +93,12 @@ const parentNetworks = [ url: 'https://dfxtra.com', parent: 'gamma', }, + { + slug: 'naughtyamerica', + name: 'Naughty America', + url: 'https://www.naughtyamerica.com', + description: 'The best porn movies daily at Naughty America! Experience the most seductive porn stars in stunning virtual reality, 4K and HD porn videos!', + }, ]; const networks = [ @@ -561,6 +567,12 @@ const networks = [ name: 'Mike Adriano', url: 'https://www.mikeadriano.com', }, + { + slug: 'naughtyamericavr', + name: 'Naughty America VR', + url: 'https://www.naughtyamericavr.com', + parent: 'naughtyamerica', + }, { slug: 'adultmobile', rename: 'milehighmedia', @@ -603,12 +615,6 @@ const networks = [ avatars: 'https://images.mylfcdn.net/tsv4/model/profiles', }, }, - { - slug: 'naughtyamerica', - name: 'Naughty America', - url: 'https://www.naughtyamerica.com', - description: 'The best porn movies daily at Naughty America! Experience the most seductive porn stars in stunning virtual reality, 4K and HD porn videos!', - }, { slug: 'nebraskacoeds', name: 'Nebraska Coeds', diff --git a/seeds/02_sites.js b/seeds/02_sites.js index 9d738cea..dfe71077 100755 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -8490,13 +8490,6 @@ const sites = [ url: 'https://www.naughtyamerica.com/site/wives-on-vacation', parent: 'naughtyamerica', }, - { - slug: 'naughtyweddings', - name: 'Naughty Weddings', - alias: ['nw'], - url: 'https://www.naughtyamerica.com/site/naughty-weddings', - parent: 'naughtyamerica', - }, { slug: 'dirtywivesclub', name: 'Dirty Wives Club', @@ -8649,13 +8642,6 @@ const sites = [ url: 'https://www.naughtyamerica.com/site/asian-1-on-1', parent: 'naughtyamerica', }, - { - slug: 'americandaydreams', - name: 'American Daydreams', - alias: ['ad'], - url: 'https://www.naughtyamerica.com/site/american-daydreams', - parent: 'naughtyamerica', - }, { slug: 'socalcoeds', name: 'Socal Coeds', @@ -8748,96 +8734,12 @@ const sites = [ url: 'https://www.naughtyamerica.com/site/live-naughty-nurse', parent: 'naughtyamerica', }, - { - slug: 'afterschool', - name: 'After School', - url: 'https://www.naughtyamerica.com/site/after-schooll', // sic - parent: 'naughtyamerica', - }, { slug: 'momsmoney', name: 'Mom\'s Money', url: 'https://www.naughtyamerica.com/site/mom-s-money', parent: 'naughtyamerica', }, - { - slug: 'thedressingroom', - name: 'The Dressing Room', - url: 'https://www.naughtyamerica.com/site/dressing-room', - parent: 'naughtyamerica', - }, - { - slug: 'thegym', - name: 'The Gym', - url: 'https://www.naughtyamerica.com/site/gym', - parent: 'naughtyamerica', - }, - { - slug: 'theoffice', - name: 'The Office', - url: 'https://www.naughtyamerica.com/site/office', - parent: 'naughtyamerica', - }, - { - slug: 'thedormroom', - name: 'The Dorm Room', - url: 'https://www.naughtyamerica.com/site/dorm-room', - parent: 'naughtyamerica', - }, - { - slug: 'fuckmyass', - name: 'Fuck My Ass', - url: 'https://www.naughtyamerica.com/site/fuck-my-ass', - parent: 'naughtyamerica', - }, - { - slug: 'mygirlfriend', - name: 'My Girlfriend', - url: 'https://www.naughtyamerica.com/site/my-girlfriend', - parent: 'naughtyamerica', - }, - { - slug: 'pornstarexperience', - name: 'Porn Star Experience', - url: 'https://www.naughtyamerica.com/site/pse-porn-star-experience', - parent: 'naughtyamerica', - }, - { - slug: 'springbreak', - name: 'Spring Break', - url: 'https://www.naughtyamerica.com/site/spring-break', - parent: 'naughtyamerica', - }, - { - slug: 'summervacation', - name: 'Summer Vacation', - url: 'https://www.naughtyamerica.com/site/summer-vacation', - parent: 'naughtyamerica', - }, - { - slug: 'supersluts', - name: 'Super Sluts', - url: 'https://www.naughtyamerica.com/site/super-sluts', - parent: 'naughtyamerica', - }, - { - slug: 'tanda', - name: 'T&A', - url: 'https://www.naughtyamerica.com/site/t-a', - parent: 'naughtyamerica', - }, - { - slug: 'thespa', - name: 'The Spa', - url: 'https://www.naughtyamerica.com/site/spa', - parent: 'naughtyamerica', - }, - { - slug: 'truesexstories', - name: 'True Sex Stories', - url: 'https://www.naughtyamerica.com/site/true-sex-stories', - parent: 'naughtyamerica', - }, { slug: 'mrscreampie', name: 'Mrs. Creampie', @@ -8850,61 +8752,160 @@ const sites = [ url: 'https://www.naughtyamerica.com/site/college-sugar-babes', parent: 'naughtyamerica', }, - { - slug: 'classroom', - name: 'Classroom', - url: 'https://www.naughtyamerica.com/site/classroom', - parent: 'naughtyamerica', - }, { slug: 'tonightsfuck', name: 'Tonight\'s Fuck', url: 'https://www.naughtyamerica.com/site/tonight-s-fuck', parent: 'naughtyamerica', }, - { - slug: 'fans', - name: 'Fans', - url: 'https://www.naughtyamerica.com/site/fans', - parent: 'naughtyamerica', - }, - { - slug: 'realpornstars', - name: 'Real Pornstars', - url: 'https://www.naughtyamerica.com/site/real-pornstars', - tags: ['vr'], - parent: 'naughtyamerica', - }, { slug: 'singlemoms', name: 'Single Moms', url: 'https://www.naughtyamerica.com/site/single-moms', parent: 'naughtyamerica', }, - { - slug: 'partygirls', - name: 'Party Girls', - url: 'https://www.naughtyamerica.com/site/party-girls', - parent: 'naughtyamerica', - }, { slug: 'bigcockbully', name: 'Big Cock Bully', url: 'https://www.naughtyamerica.com/site/big-cock-bully', parent: 'naughtyamerica', }, - { - slug: 'shows', - name: 'Shows', - url: 'https://www.naughtyamerica.com/site/shows', - parent: 'naughtyamerica', - }, { slug: 'insidenaughtyamerica', name: 'Inside Naughty America', url: 'https://www.naughtyamerica.com/site/inside-naughty-america', parent: 'naughtyamerica', }, + // NAUGHTY AMERICA VR + { + slug: 'thedormroom', + name: 'The Dorm Room', + url: 'https://www.naughtyamerica.com/site/dorm-room', + parent: 'naughtyamericavr', + }, + { + slug: 'thedressingroom', + name: 'The Dressing Room', + url: 'https://www.naughtyamerica.com/site/dressing-room', + parent: 'naughtyamericavr', + }, + { + slug: 'thegym', + name: 'The Gym', + url: 'https://www.naughtyamerica.com/site/gym', + parent: 'naughtyamericavr', + }, + { + slug: 'pornstarexperience', + name: 'Porn Star Experience', + url: 'https://www.naughtyamerica.com/site/pse-porn-star-experience', + parent: 'naughtyamericavr', + }, + { + slug: 'mygirlfriend', + name: 'My Girlfriend', + url: 'https://www.naughtyamerica.com/site/my-girlfriend', + parent: 'naughtyamericavr', + }, + { + slug: 'supersluts', + name: 'Super Sluts', + url: 'https://www.naughtyamerica.com/site/super-sluts', + parent: 'naughtyamericavr', + }, + { + slug: 'americandaydreams', + name: 'American Daydreams', + alias: ['ad'], + url: 'https://www.naughtyamerica.com/site/american-daydreams', + parent: 'naughtyamericavr', + }, + { + slug: 'thespa', + name: 'The Spa', + url: 'https://www.naughtyamerica.com/site/spa', + parent: 'naughtyamericavr', + }, + { + slug: 'realpornstars', + name: 'Real Pornstars', + url: 'https://www.naughtyamerica.com/site/real-pornstars', + tags: ['vr'], + parent: 'naughtyamericavr', + }, + { + slug: 'naughtyweddings', + name: 'Naughty Weddings', + alias: ['nw'], + url: 'https://www.naughtyamerica.com/site/naughty-weddings', + parent: 'naughtyamericavr', + }, + { + slug: 'summervacation', + name: 'Summer Vacation', + url: 'https://www.naughtyamerica.com/site/summer-vacation', + parent: 'naughtyamericavr', + }, + { + slug: 'springbreak', + name: 'Spring Break', + url: 'https://www.naughtyamerica.com/site/spring-break', + parent: 'naughtyamericavr', + }, + { + slug: 'theoffice', + name: 'The Office', + url: 'https://www.naughtyamerica.com/site/office', + parent: 'naughtyamericavr', + }, + { + slug: 'classroom', + name: 'Classroom', + url: 'https://www.naughtyamerica.com/site/classroom', + parent: 'naughtyamericavr', + }, + { + slug: 'afterschool', + name: 'After School', + url: 'https://www.naughtyamerica.com/site/after-schooll', // sic + parent: 'naughtyamericavr', + }, + { + slug: 'partygirls', + name: 'Party Girls', + url: 'https://www.naughtyamerica.com/site/party-girls', + parent: 'naughtyamericavr', + }, + { + slug: 'fuckmyass', + name: 'Fuck My Ass', + url: 'https://www.naughtyamerica.com/site/fuck-my-ass', + parent: 'naughtyamericavr', + }, + { + slug: 'truesexstories', + name: 'True Sex Stories', + url: 'https://www.naughtyamerica.com/site/true-sex-stories', + parent: 'naughtyamericavr', + }, + { + slug: 'tanda', + name: 'T&A', + url: 'https://www.naughtyamerica.com/site/t-a', + parent: 'naughtyamericavr', + }, + { + slug: 'fans', + name: 'Fans', + url: 'https://www.naughtyamerica.com/site/fans', + parent: 'naughtyamericavr', + }, + { + slug: 'shows', + name: 'Shows', + url: 'https://www.naughtyamerica.com/site/shows', + parent: 'naughtyamericavr', + }, // NEBRASKA COEDS { name: 'Nebraska Coeds', diff --git a/src/scrapers/naughtyamerica.js b/src/scrapers/naughtyamerica.js index 01d98b7b..dd31ffee 100755 --- a/src/scrapers/naughtyamerica.js +++ b/src/scrapers/naughtyamerica.js @@ -59,6 +59,13 @@ async function fetchLatest(channel, page = 1, { parameters }) { if (res.ok) { const scenes = scrapeLatest(res.context, channel, parameters); + const vrScenes = scenes.filter((scene) => scene.tags.includes('VR')); + + // console.log(scenes.length, vrScenes.length, scenes.length / vrScenes.length); + + if (vrScenes.length / scenes.length > 0.6) { + console.log('VIRTUAL REALITY', channel.slug, channel.url); + } return scenes; } diff --git a/src/scrapers/pierrewoodman.js b/src/scrapers/pierrewoodman.js index 0acc7f83..7e25cd3c 100755 --- a/src/scrapers/pierrewoodman.js +++ b/src/scrapers/pierrewoodman.js @@ -105,7 +105,7 @@ function scrapeProfile({ query }, url, entity) { profile.avatar = query.img('.actor img, .avatar img'); profile.nationality = query.content(['.nationality, .nationnality', '//strong[contains(text(), "Nationnality")]'])?.replace(/nationn?ality\s*:/i, '').trim(); // sic - profile.scenes = scrapeAll(unprint.initAll(query.all('.videos .item, .list .scene.item')), entity, false); + profile.scenes = scrapeAll(unprint.initAll(query.all('.videos .item, .list .scene.item')), entity, false).scenes; return profile; }