Added 'visible' property to entities. Added various Teen Core Club logos.
This commit is contained in:
@@ -15,7 +15,7 @@ function scrapeAll(scenes, entity) {
|
||||
const release = {};
|
||||
|
||||
release.entryId = scene.id;
|
||||
release.url = `${entity.url}/video/${scene.id}/${scene.slug}`;
|
||||
release.url = `${new URL(entity.url).origin}/video/${scene.id}/${scene.slug}`;
|
||||
|
||||
if (/bic/i.test(scene.title)) {
|
||||
release.shootId = scene.title.toUpperCase().replace('-', '_');
|
||||
@@ -28,9 +28,9 @@ function scrapeAll(scenes, entity) {
|
||||
release.datePrecision = 'year';
|
||||
|
||||
release.actors = scene.actors.map(actor => ({
|
||||
name: actor.name,
|
||||
avatar: actor.image,
|
||||
}));
|
||||
name: actor.name.trim(),
|
||||
avatar: actor.image || null,
|
||||
})).filter(actor => actor.name && slugify(actor.name) !== 'amateur-girl');
|
||||
|
||||
release.duration = scene.duration;
|
||||
release.stars = scene.video_rating_score;
|
||||
@@ -65,7 +65,11 @@ async function scrapeScene({ query }, url, _entity) {
|
||||
release.description = query.q('.detail-description', true);
|
||||
release.duration = query.dur('.detail-meta li:first-child');
|
||||
|
||||
release.actors = [query.q('.detail-hero-title h1', true)];
|
||||
const actors = [query.q('.detail-hero-title h1', true)?.trim()].filter(name => name && slugify(name) !== 'amateur-girl');
|
||||
|
||||
if (actors.length > 0) {
|
||||
release.actors = actors;
|
||||
}
|
||||
|
||||
release.poster = query.q('.detail-hero').style['background-image'].match(/url\((.+)\)/)[1];
|
||||
release.photos = query.imgs('.detail-grabs img');
|
||||
@@ -112,7 +116,6 @@ async function scrapeProfile(actor, entity, include) {
|
||||
}
|
||||
}
|
||||
|
||||
console.log(profile);
|
||||
return profile;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@ const argv = require('./argv');
|
||||
const logger = require('./logger')(__filename);
|
||||
const knex = require('./knex');
|
||||
const slugify = require('./utils/slugify');
|
||||
const formatDate = require('./utils/qu');
|
||||
const { formatDate } = require('./utils/qu');
|
||||
const { associateActors, scrapeActors } = require('./actors');
|
||||
const { associateReleaseTags } = require('./tags');
|
||||
const { curateEntity } = require('./entities');
|
||||
@@ -15,7 +15,7 @@ const { associateReleaseMedia } = require('./media');
|
||||
function curateReleaseEntry(release, batchId, existingRelease) {
|
||||
const slugBase = release.title
|
||||
|| (release.actors?.length && `${release.entity.slug} ${release.actors.map(actor => actor.name).join(' ')}`)
|
||||
|| (release.date && `${release.entity.slug} ${formatDate('YYYY MM DD')}`)
|
||||
|| (release.date && `${release.entity.slug} ${formatDate(release.date, 'YYYY MM DD')}`)
|
||||
|| null;
|
||||
|
||||
const slug = slugify(slugBase, '-', {
|
||||
@@ -36,6 +36,7 @@ function curateReleaseEntry(release, batchId, existingRelease) {
|
||||
description: release.description,
|
||||
duration: release.duration,
|
||||
type: release.type,
|
||||
comment: release.comment,
|
||||
// director: release.director,
|
||||
// likes: release.rating && release.rating.likes,
|
||||
// dislikes: release.rating && release.rating.dislikes,
|
||||
|
||||
827
src/utils/tcc.js
Normal file
827
src/utils/tcc.js
Normal file
@@ -0,0 +1,827 @@
|
||||
const Promise = require('bluebird');
|
||||
const bhttp = require('bhttp');
|
||||
const fs = require('fs');
|
||||
|
||||
const channels = [{
|
||||
name: 'Analyzed Girls',
|
||||
slug: 'analyzedgirls',
|
||||
url: 'https://analyzedgirls.com',
|
||||
alias: ['ag',
|
||||
],
|
||||
tags: ['anal',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 178,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Archived Updates',
|
||||
slug: 'archivedupdates',
|
||||
url: 'https://archivedupdates.com',
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 482,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Ass Teen Mouth',
|
||||
slug: 'assteenmouth',
|
||||
url: 'https://assteenmouth.com',
|
||||
alias: ['atm',
|
||||
],
|
||||
tags: ['anal',
|
||||
'atm',
|
||||
'teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 180,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Bang Teen Pussy',
|
||||
slug: 'bangteenpussy',
|
||||
url: 'https://bangteenpussy.com',
|
||||
alias: ['btp',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 182,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Brutal Invasion',
|
||||
slug: 'brutalinvasion',
|
||||
url: 'https://brutalinvasion.com',
|
||||
alias: ['bin',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 184,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Clean My Ass',
|
||||
slug: 'cleanmyass',
|
||||
url: 'https://cleanmyass.com',
|
||||
tags: ['ass-eating'],
|
||||
alias: ['cma',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 362,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'College Party Time',
|
||||
slug: 'collegepartytime',
|
||||
url: 'https://collegepartytime.com',
|
||||
alias: ['cpt',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 278,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Cumaholic Teens',
|
||||
slug: 'cumaholicteens',
|
||||
url: 'https://cumaholicteens.com',
|
||||
alias: ['ct',
|
||||
'cumoholic teens',
|
||||
'cumoholicteens',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 186,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Cum Filled Throat',
|
||||
slug: 'cumfilledthroat',
|
||||
url: 'https://cumfilledthroat.com',
|
||||
alias: ['cft',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 280,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Cum Sumption Cocktail',
|
||||
slug: 'cumsumptioncocktail',
|
||||
url: 'https://cumsumptioncocktail.com',
|
||||
alias: ['csc',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 282,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Defiled18',
|
||||
slug: 'defiled18',
|
||||
url: 'https://defiled18.com',
|
||||
alias: ['d18',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 188,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Dirty Baby Sitter',
|
||||
slug: 'dirtybabysitter',
|
||||
url: 'https://dirtybabysitter.com',
|
||||
alias: ['dbs',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 284,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Double Teamed Teens',
|
||||
slug: 'doubleteamedteens',
|
||||
url: 'https://doubleteamedteens.com',
|
||||
alias: ['dtt',
|
||||
],
|
||||
tags: ['teen',
|
||||
'dp',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 190,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Dreamteens HD',
|
||||
slug: 'dreamteenshd',
|
||||
url: 'https://dreamteenshd.com',
|
||||
alias: ['dhd',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 192,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Drill Her Butt',
|
||||
slug: 'drillherbutt',
|
||||
url: 'https://drillherbutt.com',
|
||||
tags: ['anal'],
|
||||
alias: ['dhb',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 288,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Dual Throat',
|
||||
slug: 'dualthroat',
|
||||
url: 'https://dualthroat.com',
|
||||
alias: ['dt',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 290,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Gang Land Victims',
|
||||
slug: 'ganglandvictims',
|
||||
url: 'https://ganglandvictims.com',
|
||||
alias: ['glv',
|
||||
],
|
||||
tags: ['gangbang',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 292,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Girls Got Cream',
|
||||
slug: 'girlsgotcream',
|
||||
url: 'https://girlsgotcream.com',
|
||||
alias: ['ggc',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 194,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Hardcore Youth',
|
||||
slug: 'hardcoreyouth',
|
||||
url: 'https://hardcoreyouth.com',
|
||||
alias: ['hcy',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 196,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Little Hellcat',
|
||||
slug: 'littlehellcat',
|
||||
url: 'https://littlehellcat.com',
|
||||
alias: ['lhc',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 198,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Little Teen Suckers',
|
||||
slug: 'littleteensuckers',
|
||||
url: 'https://littleteensuckers.com',
|
||||
alias: ['lts',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 294,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'MAIKO',
|
||||
slug: 'maiko',
|
||||
url: 'https://maiko.com',
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 566,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Make Teen Gape',
|
||||
slug: 'maketeengape',
|
||||
url: 'https://maketeengape.com',
|
||||
alias: ['mtg',
|
||||
],
|
||||
tags: ['teen',
|
||||
'gaping',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 200,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Make Teen Moan',
|
||||
slug: 'maketeenmoan',
|
||||
url: 'https://maketeenmoan.com',
|
||||
alias: ['mtm',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 296,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Mega Penetrations',
|
||||
slug: 'megapenetrations',
|
||||
url: 'https://megapenetrations.com',
|
||||
alias: ['mp',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 298,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Messy Gang Bangs',
|
||||
slug: 'messygangbangs',
|
||||
url: 'https://messygangbangs.com',
|
||||
alias: ['mgb',
|
||||
],
|
||||
tags: ['gangbang',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 300,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'My Black Coeds',
|
||||
slug: 'myblackcoeds',
|
||||
url: 'https://myblackcoeds.com',
|
||||
alias: ['mbc',
|
||||
],
|
||||
tags: ['ebony',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 302,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'My Latina Teen',
|
||||
slug: 'mylatinateen',
|
||||
url: 'https://mylatinateen.com',
|
||||
alias: ['mlt',
|
||||
],
|
||||
tags: ['teen',
|
||||
'latina',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 304,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Nasty Ass Lickers',
|
||||
slug: 'nastyasslickers',
|
||||
url: 'https://nastyasslickers.com',
|
||||
tags: ['ass-eating'],
|
||||
alias: ['nal',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 306,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Naughty Little Nymphs',
|
||||
slug: 'naughtylittlenymphs',
|
||||
url: 'https://naughtylittlenymphs.com',
|
||||
alias: ['nln',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 308,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'NC UK Sinners',
|
||||
slug: 'ncuksinners',
|
||||
url: 'https://ncuksinners.com',
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 568,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'NC Verso Cinema',
|
||||
slug: 'ncversocinema',
|
||||
url: 'https://ncversocinema.com',
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 570,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Network Mixed',
|
||||
slug: 'networkmixed',
|
||||
url: 'https://networkmixed.com',
|
||||
alias: ['anc',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 360,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Never Done That Before',
|
||||
slug: 'neverdonethatbefore',
|
||||
url: 'https://neverdonethatbefore.com',
|
||||
alias: ['ndt',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 310,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Nylon Sweeties',
|
||||
slug: 'nylonsweeties',
|
||||
url: 'https://nylonsweeties.com',
|
||||
alias: ['nsw',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 202,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Pink Eye Sluts',
|
||||
slug: 'pinkeyesluts',
|
||||
url: 'https://pinkeyesluts.com',
|
||||
alias: ['pes',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 312,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Plug2 Holes',
|
||||
slug: 'plug2holes',
|
||||
url: 'https://plug2holes.com',
|
||||
alias: ['p2h',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 314,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Pussy Babes',
|
||||
slug: 'pussybabes',
|
||||
url: 'https://pussybabes.com',
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 556,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Road Gang Bangs',
|
||||
slug: 'roadgangbangs',
|
||||
url: 'https://roadgangbangs.com',
|
||||
alias: ['rgb',
|
||||
],
|
||||
tags: ['gangbang',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 316,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Russian Teen Updates',
|
||||
slug: 'russianteenupdates',
|
||||
url: 'https://russianteenupdates.com',
|
||||
tags: ['teen',
|
||||
'russian',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 418,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'School Bus Chicks',
|
||||
slug: 'schoolbuschicks',
|
||||
url: 'https://schoolbuschicks.com',
|
||||
alias: ['sbc',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 318,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Seductive18',
|
||||
slug: 'seductive18',
|
||||
url: 'https://seductive18.com',
|
||||
alias: ['s18',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 204,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Show Me Gape',
|
||||
slug: 'showmegape',
|
||||
url: 'https://showmegape.com',
|
||||
tags: ['gaping'],
|
||||
alias: ['smg',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 320,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Shy Teachers Pet',
|
||||
slug: 'shyteacherspet',
|
||||
url: 'https://shyteacherspet.com',
|
||||
alias: ['stp',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 322,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Small Tits Hunter',
|
||||
slug: 'smalltitshunter',
|
||||
url: 'https://smalltitshunter.com',
|
||||
alias: ['sth',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 324,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Spermantino',
|
||||
slug: 'spermantino',
|
||||
url: 'https://spermantino.com',
|
||||
alias: ['spe',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 366,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'TCC Network Archives',
|
||||
slug: 'tccnetworkarchives',
|
||||
url: 'https://tccnetworkarchives.com',
|
||||
alias: ['all',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 176,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teach My Ass',
|
||||
slug: 'teachmyass',
|
||||
url: 'https://teachmyass.com',
|
||||
tags: ['anal'],
|
||||
alias: ['tma',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 368,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teenagers Going Wild',
|
||||
slug: 'teenagersgoingwild',
|
||||
url: 'https://teenagersgoingwild.com',
|
||||
alias: ['tgw',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 326,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teen Anal Casting',
|
||||
slug: 'teenanalcasting',
|
||||
url: 'https://teenanalcasting.com',
|
||||
alias: ['tac',
|
||||
],
|
||||
tags: ['anal',
|
||||
'teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 206,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teen Drillers',
|
||||
slug: 'teendrillers',
|
||||
url: 'https://teendrillers.com',
|
||||
alias: ['td',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 208,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teen Gina',
|
||||
slug: 'teengina',
|
||||
url: 'https://teengina.com',
|
||||
alias: ['tg',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 210,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teens Love Blacks',
|
||||
slug: 'teensloveblacks',
|
||||
url: 'https://teensloveblacks.com',
|
||||
alias: ['tlb',
|
||||
],
|
||||
tags: ['interracial',
|
||||
'bbc',
|
||||
'teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 328,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teens Natural Way',
|
||||
slug: 'teensnaturalway',
|
||||
url: 'https://teensnaturalway.com',
|
||||
alias: ['tnw',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 212,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teens Try Anal',
|
||||
slug: 'teenstryanal',
|
||||
url: 'https://teenstryanal.com',
|
||||
alias: ['tta',
|
||||
],
|
||||
tags: ['anal',
|
||||
'teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 330,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teens Try Blacks',
|
||||
slug: 'teenstryblacks',
|
||||
url: 'https://teenstryblacks.com',
|
||||
alias: ['ttb',
|
||||
],
|
||||
tags: ['interracial',
|
||||
'bbc',
|
||||
'teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 214,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Teens Want Orgies',
|
||||
slug: 'teenswantorgies',
|
||||
url: 'https://teenswantorgies.com',
|
||||
alias: ['two',
|
||||
],
|
||||
tags: ['teen',
|
||||
'threesome',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 332,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Try Teens',
|
||||
slug: 'tryteens',
|
||||
url: 'https://tryteens.com',
|
||||
alias: ['tt',
|
||||
],
|
||||
tags: ['teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 216,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Tug Job Queens',
|
||||
slug: 'tugjobqueens',
|
||||
url: 'https://tugjobqueens.com',
|
||||
tags: ['handjob'],
|
||||
alias: ['tjq',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 334,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'UK Sinners',
|
||||
slug: 'uksinners',
|
||||
url: 'https://uksinners.com',
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 558,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'White Box Black Cocks',
|
||||
slug: 'whiteboxblackcocks',
|
||||
url: 'https://whiteboxblackcocks.com',
|
||||
alias: ['wbc',
|
||||
],
|
||||
tags: ['interracial',
|
||||
'bbc',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 336,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'White Teens Black Cocks',
|
||||
slug: 'whiteteensblackcocks',
|
||||
url: 'https://whiteteensblackcocks.com',
|
||||
alias: ['wbc',
|
||||
],
|
||||
tags: ['interracial',
|
||||
'bbc',
|
||||
'teen',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
hasLogo: false,
|
||||
parameters: {
|
||||
siteId: 218,
|
||||
},
|
||||
},
|
||||
{
|
||||
name: 'Young Throats',
|
||||
slug: 'youngthroats',
|
||||
url: 'https://youngthroats.com',
|
||||
tags: ['blowjob', 'deepthroat', 'facefucking'],
|
||||
alias: ['yt',
|
||||
],
|
||||
parent: 'teencoreclub',
|
||||
parameters: {
|
||||
siteId: 220,
|
||||
},
|
||||
}];
|
||||
|
||||
async function init() {
|
||||
const results = await Promise.map(channels, async (channel) => {
|
||||
try {
|
||||
const res = await bhttp.head(channel.url, {
|
||||
followRedirects: false,
|
||||
responseTimeout: 30000,
|
||||
});
|
||||
|
||||
console.log(res.statusCode, channel.url);
|
||||
|
||||
if (res.statusCode === 200) {
|
||||
return channel;
|
||||
}
|
||||
|
||||
throw new Error(`${channel.url} no longer available: ${res.statusCode}`);
|
||||
} catch (error) {
|
||||
console.error(channel.url, error.message);
|
||||
|
||||
return {
|
||||
name: channel.name,
|
||||
slug: channel.slug,
|
||||
url: `https://teencoreclub.com/browsevideos/site/${channel.parameters.siteId}/${channel.name.replace(/\s+/g, '')}`,
|
||||
...(channel.tags && { tags: channel.tags }),
|
||||
...(channel.alias && { alias: channel.alias }),
|
||||
parent: channel.parent,
|
||||
...(channel.hasLogo !== undefined && { hasLogo: channel.hasLogo }),
|
||||
parameters: channel.parameters,
|
||||
};
|
||||
}
|
||||
}, { concurrency: 5 });
|
||||
|
||||
await fs.promises.writeFile('./tcc.json', JSON.stringify(results, null, 4));
|
||||
|
||||
console.log('done!');
|
||||
}
|
||||
|
||||
init();
|
||||
Reference in New Issue
Block a user