From f11a009395070111e582bfb618713f6af638af6b Mon Sep 17 00:00:00 2001 From: DebaucheryLibrarian Date: Sun, 30 Jun 2024 03:27:57 +0200 Subject: [PATCH] Adapted Aylo scraper for Bang Bros. --- seeds/01_networks.js | 3 + seeds/02_sites.js | 57 +++++++++- seeds/06_affiliates.js | 234 +++++++++++++++++++++++++++++++++++++-- src/scrapers/aylo.js | 18 +-- src/scrapers/scrapers.js | 2 +- 5 files changed, 294 insertions(+), 20 deletions(-) diff --git a/seeds/01_networks.js b/seeds/01_networks.js index ab7d734c..5ec5d98d 100755 --- a/seeds/01_networks.js +++ b/seeds/01_networks.js @@ -164,6 +164,9 @@ const networks = [ url: 'https://bangbros.com', description: 'Here at Bang Bros, we only film the best highest quality porn with the sexiest Amateur girls and the top pornstars. Updated daily on Bangbros.com.', parent: 'wgcz', + parameters: { + preferSpartanId: true, + }, }, { slug: 'blowpass', diff --git a/seeds/02_sites.js b/seeds/02_sites.js index cbb93271..59b4e062 100755 --- a/seeds/02_sites.js +++ b/seeds/02_sites.js @@ -1042,6 +1042,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ap', + siteId: 115261, }, }, { @@ -1054,6 +1055,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'av', + siteId: 115661, }, }, { @@ -1066,6 +1068,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'brf', + siteId: 115671, }, }, { @@ -1078,6 +1081,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'mf', + siteId: 115681, }, }, { @@ -1090,6 +1094,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'es', + siteId: 116041, }, }, { @@ -1102,6 +1107,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bbe', + siteId: 115151, }, }, { @@ -1114,6 +1120,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bng', + siteId: 115161, }, }, { @@ -1126,6 +1133,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bbc', + siteId: 115171, }, }, { @@ -1138,6 +1146,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'vault', + siteId: 115181, }, }, { @@ -1150,6 +1159,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'rm', + siteId: 115701, }, }, { @@ -1162,6 +1172,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bb', + siteId: 115131, }, }, { @@ -1174,6 +1185,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'hih', + siteId: 115731, }, }, { @@ -1186,6 +1198,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bpov', + siteId: 115741, }, }, { @@ -1198,6 +1211,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bto', + siteId: 115141, }, }, { @@ -1210,6 +1224,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bmf', + siteId: 115211, }, }, { @@ -1222,6 +1237,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'btcp', + siteId: 115221, }, }, { @@ -1234,6 +1250,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'btra', + siteId: 115751, }, }, { @@ -1246,6 +1263,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bj', + siteId: 115781, }, }, { @@ -1258,6 +1276,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'aa', + siteId: 115791, }, }, { @@ -1270,6 +1289,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bs', + siteId: 115811, }, }, { @@ -1282,6 +1302,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bkb', + siteId: 115271, }, }, { @@ -1294,6 +1315,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bd', + siteId: 116311, }, }, { @@ -1306,6 +1328,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ca', + siteId: 115831, }, }, { @@ -1318,6 +1341,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ch', + siteId: 115311, }, }, { @@ -1330,6 +1354,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'cff', + siteId: 115711, }, }, { @@ -1342,6 +1367,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bf', + siteId: 115871, }, }, { @@ -1354,6 +1380,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'di', + siteId: 115331, }, }, { @@ -1366,6 +1393,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ff', + siteId: 115891, }, }, { @@ -1378,6 +1406,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'bbw', + siteId: 116061, }, }, { @@ -1390,6 +1419,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ghl', + siteId: 116101, }, }, { @@ -1402,6 +1432,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'lrp', + siteId: 116171, }, }, { @@ -1414,6 +1445,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'lr', + siteId: 116281, }, }, { @@ -1426,6 +1458,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'fj', + siteId: 116291, }, }, { @@ -1438,6 +1471,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ms', + siteId: 116211, }, }, { @@ -1450,6 +1484,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'mih', + siteId: 116221, }, }, { @@ -1462,6 +1497,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'mc', + siteId: 116231, }, }, { @@ -1474,6 +1510,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ct', + siteId: 116301, }, }, { @@ -1486,6 +1523,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'mda', + siteId: 115351, }, }, { @@ -1498,6 +1536,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'mb', + siteId: 115371, }, }, { @@ -1510,6 +1549,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'blkg', + siteId: 115921, }, }, { @@ -1522,10 +1562,11 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ls', + siteId: 115391, }, }, { - name: 'Pawg', + name: 'PAWG', slug: 'pawg', alias: [ 'pwg', @@ -1534,6 +1575,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'pwg', + siteId: 115401, }, }, { @@ -1546,6 +1588,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ps', + siteId: 115411, }, }, { @@ -1558,6 +1601,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'pos', + siteId: 115441, }, }, { @@ -1570,6 +1614,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'pm', + siteId: 115461, }, }, { @@ -1582,6 +1627,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'pb', + siteId: 115501, }, }, { @@ -1594,6 +1640,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'swg', + siteId: 115981, }, }, { @@ -1606,6 +1653,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'smv', + siteId: 115541, }, }, { @@ -1614,10 +1662,11 @@ const sites = [ alias: [ 'sg', ], - url: 'https://bangbros.com/websites/thewheeler', + url: 'https://bangbros.com/websites/streetranger', parent: 'bangbros', parameters: { code: 'sg', + siteId: 115551, }, }, { @@ -1630,6 +1679,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'hj', + siteId: 115581, }, }, { @@ -1642,6 +1692,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'lw', + siteId: 115631, }, }, { @@ -1654,6 +1705,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ml', + siteId: 116201, }, }, { @@ -1666,6 +1718,7 @@ const sites = [ parent: 'bangbros', parameters: { code: 'ma', + siteId: 115341, }, }, // BANG BROS MEMBER SITES diff --git a/seeds/06_affiliates.js b/seeds/06_affiliates.js index 36b72226..63662ee9 100755 --- a/seeds/06_affiliates.js +++ b/seeds/06_affiliates.js @@ -4,23 +4,59 @@ const bulkInsert = require('../src/utils/bulk-insert'); const affiliates = [ { - id: 'archangel_share', + id: 'archangel', channel: 'archangel', url: 'https://join.archangelvideo.com/track/MzQ3LjEuMS4xLjAuMC4wLjAuMA', comment: 'revshare', }, { - id: 'kink_params', + id: 'kink', network: 'kink', parameters: 't=eyJhZmZpbGlhdGUiOiJEZWJhdWNoZXJ5TGliIiwiY2FtcGFpZ24iOiJkZWZhdWx0IiwiYWdldmVyaWZpZWQiOiJ5In0', comment: '50%', }, { - id: 'bang_signup', + id: 'bang', network: 'bang', - parameters: 't=eyJhZmZpbGlhdGUiOiJEZWJhdWNoZXJ5TGliIiwiY2FtcGFpZ24iOiJkZWZhdWx0IiwiYWdldmVyaWZpZWQiOiJ5In0', + parameters: 'aff=eyJ3IjoiMTQ1ODYiLCJsIjoiMzE2NDYiLCJ0IjoiNDU4NjEifQ==', comment: '$25 per signup', }, + { + id: 'allanal', + channel: 'allanal', + parameters: 'nats=OTczLjEuNS41LjAuMC4wLjAuMA', + comment: '50% rev share', + }, + { + id: 'analonly', + channel: 'analonly', + parameters: 'nats=OTczLjEuNi4xMC4wLjAuMC4wLjA', + comment: '50% rev share', + }, + { + id: 'dirtyauditions', + channel: 'dirtyauditions', + parameters: 'nats=OTczLjEuNy4xNC4wLjAuMC4wLjA', + comment: '50% rev share', + }, + { + id: 'nympho', + channel: 'nympho', + parameters: 'nats=OTczLjEuNC40LjAuMC4wLjAuMA', + comment: '50% rev share', + }, + { + id: 'swallowed', + channel: 'swallowed', + parameters: 'nats=OTczLjEuMS4xLjAuMC4wLjAuMA', + comment: '50% rev share', + }, + { + id: 'trueanal', + channel: 'trueanal', + parameters: 'nats=OTczLjEuMy4zLjAuMC4wLjAuMA', + comment: '50% rev share', + }, ]; const bannerTags = { @@ -74,6 +110,13 @@ const bannerTags = { hardcoregangbang_900_250_gloves_blonde: ['blowbang', 'blonde', 'bdsm'], hardcoregangbang_1000_100: ['gangbang', 'mfm', 'bdsm'], // mike adriano + allanal_1323_270_24: ['anal', 'mff', 'threesome'], + allanal_300_250_14: ['anal', 'mff', 'threesome'], + allanal_300_250_15: ['anal', 'mff', 'threesome'], + allanal_315_300_3: ['anal'], + allanal_728_90_23: ['anal', 'mff', 'threesome'], + allanal_970_170_11: ['anal', 'mff', 'threesome'], + allanal_970_90_12: ['anal', 'mff', 'threesome'], analonly_1200_90_26: ['anal'], analonly_1323_270_10: ['anal', 'gaping'], analonly_300_250_9: ['anal'], @@ -81,6 +124,17 @@ const bannerTags = { analonly_728_90_25: ['anal', 'gaping'], analonly_914_424_13: ['anal', 'gaping'], analonly_980_170_8: ['anal', 'gaping'], + nympho_1024_280: ['sex'], + nympho_285_165: ['sex'], + nympho_299_243: ['pussy-eating'], + nympho_300_250: ['sex'], + nympho_488_300: ['sex'], + nympho_640_100: ['sex', 'ass-eating'], + nympho_668_80: ['sex', 'blowjob', 'pussy-eating'], + nympho_685_75: ['sex', 'blowjob', 'pussy-eating'], + nympho_770_76: ['sex', 'blowjob', 'ass-eating', 'pussy-eating'], + nympho_935_250: ['sex', 'blowjob', 'ass-eating'], + nympho_960_75: ['sex', 'blowjob', 'ass-eating', 'pussy-eating'], swallowed_1323_270: ['blowjob'], swallowed_285_165: ['blowjob'], swallowed_300_250_4: ['blowjob'], @@ -89,6 +143,14 @@ const bannerTags = { swallowed_770_76: ['blowjob'], swallowed_850_80: ['blowjob'], swallowed_980_170: ['blowjob'], + trueanal_300_100_2: ['anal'], + trueanal_300_250: ['anal', 'gaping'], + trueanal_315_300: ['anal', 'gaping'], + trueanal_685_75: ['anal', 'gaping'], + trueanal_728_90: ['anal'], + trueanal_850_80: ['anal', 'gaping'], + trueanal_970_170: ['anal', 'gaping'], + trueanal_970_90_2: ['anal', 'gaping'], // aylo aylo_728_90_gay: ['gay'], // teenmegaworld @@ -237,18 +299,18 @@ const campaigns = [ /* NATS license expired { channel: 'archangel', - affiliate: 'archangel_share', + affiliate: 'archangel', }, { channel: 'archangel', - affiliate: 'archangel_share', + affiliate: 'archangel', banner: 'archangel_970_90_kendra_lust', }, */ // bang { network: 'bang', - affiliate: 'bang_signup', + affiliate: 'bang', comment: 'per signup', }, // brazzers @@ -406,7 +468,7 @@ const campaigns = [ // kink { network: 'kink', - affiliate: 'kink_params', + affiliate: 'kink', comment: '50%', }, { @@ -513,6 +575,48 @@ const campaigns = [ comment: '$25 per signup', }, // mike adriano + { + banner: 'allanal_300_250_14', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, + { + banner: 'allanal_300_250_15', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, + { + banner: 'allanal_315_300_3', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, + { + banner: 'allanal_728_90_23', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, + { + banner: 'allanal_970_90_12', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, + { + banner: 'allanal_970_170_11', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, + { + banner: 'allanal_1323_270_24', + channel: 'allanal', + url: 'https://access.allanal.com/track/OTczLjEuNS41LjAuNDcwNDQuMC4wLjA', + comment: '50% rev share', + }, { banner: 'analonly_300_250_9', channel: 'analonly', @@ -555,6 +659,72 @@ const campaigns = [ url: 'https://access.analonly.com/track/OTczLjEuNi4xMC4wLjQ3NTQ3LjAuMC4w', comment: '50% rev share', }, + { + banner: 'nympho_285_165', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_299_243', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_300_250', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_488_300', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_640_100', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_668_80', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_685_75', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_770_76', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_935_250', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_960_75', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'nympho_1024_280', + channel: 'nympho', + url: 'https://access.nympho.com/track/OTczLjEuNC40LjAuNDY2My4wLjAuMA', + comment: '50% rev share', + }, { banner: 'swallowed_285_165', channel: 'swallowed', @@ -603,6 +773,54 @@ const campaigns = [ url: 'https://access.swallowed.com/track/OTczLjEuMS4xLjAuMjg3Ny4wLjAuMA', comment: '50% rev share', }, + { + banner: 'trueanal_300_100_2', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_300_250', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_315_300', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_685_75', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_728_90', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_850_80', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_970_90_2', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, + { + banner: 'trueanal_970_170', + channel: 'trueanal', + url: 'https://access.trueanal.com/track/OTczLjEuMy4zLjAuMjkxMi4wLjAuMA', + comment: '50% rev share', + }, // aylo { network: 'aylo', diff --git a/src/scrapers/aylo.js b/src/scrapers/aylo.js index f2771da0..f5021949 100755 --- a/src/scrapers/aylo.js +++ b/src/scrapers/aylo.js @@ -72,9 +72,9 @@ function getVideos(data) { return { teaser, trailer }; } -function scrapeLatestX(data, site, filterChannel) { +function scrapeLatestX(data, site, filterChannel, options) { const release = { - entryId: data.id, + entryId: (options?.parameters.preferSpartanId && data.spartanId) || data.id, title: data.title, description: data.description, }; @@ -116,8 +116,8 @@ function scrapeLatestX(data, site, filterChannel) { return release; } -async function scrapeLatest(items, site, filterChannel) { - const latestReleases = items.map((data) => scrapeLatestX(data, site, filterChannel)); +async function scrapeLatest(items, site, filterChannel, options) { + const latestReleases = items.map((data) => scrapeLatestX(data, site, filterChannel, options)); return { scenes: latestReleases.filter((scene) => !scene.exclude), @@ -125,12 +125,12 @@ async function scrapeLatest(items, site, filterChannel) { }; } -function scrapeRelease(data, url, channel, networkName) { +function scrapeRelease(data, url, channel, networkName, options) { const release = {}; const { id: entryId, title, description } = data; - release.entryId = data.id; + release.entryId = (options?.parameters.preferSpartanId && data.spartanId) || data.id; release.title = title; release.description = description; @@ -321,7 +321,7 @@ async function fetchLatest(site, page = 1, options) { }); if (res.status === 200 && res.body.result) { - return scrapeLatest(res.body.result, site); + return scrapeLatest(res.body.result, site, false, options); } return res.statusCode; @@ -346,7 +346,7 @@ async function fetchUpcoming(site, page, options) { }); if (res.statusCode === 200 && res.body.result) { - return scrapeLatest(res.body.result, site, true); + return scrapeLatest(res.body.result, site, true, options); } return res.statusCode; @@ -373,7 +373,7 @@ async function fetchRelease(url, site, baseScene, options) { if (res.status === 200 && res.body.result) { return { - scene: scrapeRelease(res.body.result, url, site), + scene: scrapeRelease(res.body.result, url, site, null, options), }; } diff --git a/src/scrapers/scrapers.js b/src/scrapers/scrapers.js index 27f0b950..86a35bcb 100755 --- a/src/scrapers/scrapers.js +++ b/src/scrapers/scrapers.js @@ -88,7 +88,7 @@ const scrapers = { badoink, bamvisions, bang, - bangbros, + bangbros: aylo, bluedonkeymedia, bradmontana, brazzers: aylo,