Added Anal Only and upcoming scraping to Mike Adriano. Fixed profile expand arrow color.
|
@ -51,7 +51,7 @@
|
|||
<Expand
|
||||
v-if="bioExpanded"
|
||||
:expanded="bioExpanded"
|
||||
class="expand expand-dark"
|
||||
class="expand expand-light"
|
||||
@expand="(state) => bioExpanded = state"
|
||||
/>
|
||||
|
||||
|
@ -310,7 +310,7 @@
|
|||
|
||||
<Expand
|
||||
:expanded="bioExpanded"
|
||||
class="expand expand-dark"
|
||||
class="expand expand-light"
|
||||
@expand="(state) => bioExpanded = state"
|
||||
/>
|
||||
</div>
|
||||
|
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 19 KiB |
After Width: | Height: | Size: 73 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 6.7 KiB |
After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 8.8 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 73 KiB |
After Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 4.4 KiB |
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 42 KiB After Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 40 KiB After Width: | Height: | Size: 40 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 30 KiB |
Before Width: | Height: | Size: 86 KiB After Width: | Height: | Size: 56 KiB |
|
@ -43,6 +43,7 @@ const parentNetworks = [
|
|||
url: 'https://www.21sextury.com',
|
||||
description: 'Watch all the latest scenes and porn video updates on 21Sextury.com, the best European porn site with the hottest pornstars from all over the world! Watch porn videos from the large network here.',
|
||||
parameters: {
|
||||
layout: 'api',
|
||||
mobile: 'https://m.dpfanatics.com/en/video',
|
||||
},
|
||||
parent: 'gamma',
|
||||
|
@ -56,6 +57,7 @@ const networks = [
|
|||
url: 'https://www.21sextreme.com',
|
||||
description: 'Welcome to 21Sextreme.com, your portal to fisting porn, old and young lesbians, horny grannies & extreme BDSM featuring the best Euro & American Pornstars',
|
||||
parameters: {
|
||||
layout: 'api',
|
||||
mobile: 'https://m.dpfanatics.com/en/video',
|
||||
},
|
||||
parent: '21sextury',
|
||||
|
@ -66,6 +68,7 @@ const networks = [
|
|||
url: 'https://www.21naturals.com',
|
||||
description: 'Welcome to 21Naturals.com, the porn network featuring the hottest pornstars from all over the world in all natural porn and erotic sex videos. Watch thousands of girls with natural tits',
|
||||
parameters: {
|
||||
layout: 'api',
|
||||
mobile: 'https://m.dpfanatics.com/en/video',
|
||||
},
|
||||
parent: '21sextury',
|
||||
|
|
|
@ -4710,6 +4710,13 @@ const sites = [
|
|||
tags: ['anal'],
|
||||
parent: 'mikeadriano',
|
||||
},
|
||||
{
|
||||
slug: 'analonly',
|
||||
name: 'Anal Only',
|
||||
url: 'https://analonly.com',
|
||||
tags: ['anal'],
|
||||
parent: 'mikeadriano',
|
||||
},
|
||||
{
|
||||
slug: 'allanal',
|
||||
name: 'All Anal',
|
||||
|
|
|
@ -1,10 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
|
||||
|
||||
module.exports = {
|
||||
fetchLatest: fetchApiLatest,
|
||||
fetchProfile: fetchApiProfile,
|
||||
fetchUpcoming: fetchApiUpcoming,
|
||||
fetchScene,
|
||||
};
|
|
@ -1,10 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
|
||||
|
||||
module.exports = {
|
||||
fetchLatest: fetchApiLatest,
|
||||
fetchProfile: fetchApiProfile,
|
||||
fetchUpcoming: fetchApiUpcoming,
|
||||
fetchScene,
|
||||
};
|
|
@ -1,10 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
|
||||
|
||||
module.exports = {
|
||||
fetchLatest: fetchApiLatest,
|
||||
fetchProfile: fetchApiProfile,
|
||||
fetchUpcoming: fetchApiUpcoming,
|
||||
fetchScene,
|
||||
};
|
|
@ -67,6 +67,29 @@ async function fetchLatest(channel, page = 1) {
|
|||
return res.status;
|
||||
}
|
||||
|
||||
async function fetchUpcoming(channel) {
|
||||
const { host } = new URL(channel.url);
|
||||
const url = `https://tour.${host}`;
|
||||
|
||||
const res = await qu.get(url);
|
||||
|
||||
if (res.ok) {
|
||||
if (res.item.query.exists('a[href*="stackpath.com"]')) {
|
||||
throw new Error('URL blocked by StackPath');
|
||||
}
|
||||
|
||||
const sceneItem = qu.init(res.item.el, '#upcoming-content');
|
||||
|
||||
if (sceneItem) {
|
||||
return scrapeAll([sceneItem], channel);
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
return res.status;
|
||||
}
|
||||
|
||||
async function fetchScene(url, channel) {
|
||||
const cookieJar = http.cookieJar();
|
||||
const session = http.session({ cookieJar });
|
||||
|
@ -122,6 +145,7 @@ async function fetchProfile({ name: actorName }, context , site) {
|
|||
|
||||
module.exports = {
|
||||
fetchLatest,
|
||||
fetchUpcoming,
|
||||
// fetchProfile,
|
||||
fetchScene,
|
||||
};
|
||||
|
|
|
@ -47,7 +47,6 @@ const mikeadriano = require('./mikeadriano');
|
|||
const milehighmedia = require('./milehighmedia');
|
||||
const mindgeek = require('./mindgeek');
|
||||
const mofos = require('./mofos');
|
||||
const naturals = require('./21naturals');
|
||||
const naughtyamerica = require('./naughtyamerica');
|
||||
const newsensations = require('./newsensations');
|
||||
const nubiles = require('./nubiles');
|
||||
|
@ -62,8 +61,6 @@ const privateNetwork = require('./private'); // reserved keyword
|
|||
const puretaboo = require('./puretaboo');
|
||||
const realitykings = require('./realitykings');
|
||||
const score = require('./score');
|
||||
const sextreme = require('./21sextreme');
|
||||
const sextury = require('./21sextury');
|
||||
const teamskeet = require('./teamskeet');
|
||||
const teencoreclub = require('./teencoreclub');
|
||||
const topwebmodels = require('./topwebmodels');
|
||||
|
@ -85,9 +82,6 @@ const freeones = require('./freeones');
|
|||
|
||||
const scrapers = {
|
||||
releases: {
|
||||
'21naturals': naturals,
|
||||
'21sextreme': sextreme,
|
||||
'21sextury': sextury,
|
||||
adulttime,
|
||||
amateurallure,
|
||||
americanpornstar,
|
||||
|
@ -176,7 +170,7 @@ const scrapers = {
|
|||
zerotolerance,
|
||||
},
|
||||
actors: {
|
||||
'21sextury': sextury,
|
||||
'21sextury': gamma,
|
||||
allanal: mikeadriano,
|
||||
amateureuro: porndoe,
|
||||
americanpornstar,
|
||||
|
|
|
@ -164,6 +164,7 @@ function attachReleaseIds(releases, storedReleases) {
|
|||
|
||||
function filterInternalDuplicateReleases(releases) {
|
||||
const releasesByEntityIdAndEntryId = releases.reduce((acc, release) => {
|
||||
console.log(release);
|
||||
if (!release.entity) {
|
||||
return acc;
|
||||
}
|
||||
|
|
|
@ -205,6 +205,8 @@ async function scrapeChannelReleases(scraper, channelEntity, preData) {
|
|||
}
|
||||
|
||||
async function scrapeChannel(channelEntity, accNetworkReleases) {
|
||||
console.log(channelEntity);
|
||||
|
||||
const scraper = scrapers.releases[channelEntity.slug]
|
||||
|| scrapers.releases[channelEntity.parent?.slug]
|
||||
|| scrapers.releases[channelEntity.parent?.parent?.slug];
|
||||
|
|