Added Anal Only and upcoming scraping to Mike Adriano. Fixed profile expand arrow color.

This commit is contained in:
DebaucheryLibrarian 2021-01-30 17:43:33 +01:00
parent bfb5006e95
commit 97c088cfb4
36 changed files with 40 additions and 39 deletions

View File

@ -51,7 +51,7 @@
<Expand <Expand
v-if="bioExpanded" v-if="bioExpanded"
:expanded="bioExpanded" :expanded="bioExpanded"
class="expand expand-dark" class="expand expand-light"
@expand="(state) => bioExpanded = state" @expand="(state) => bioExpanded = state"
/> />
@ -310,7 +310,7 @@
<Expand <Expand
:expanded="bioExpanded" :expanded="bioExpanded"
class="expand expand-dark" class="expand expand-light"
@expand="(state) => bioExpanded = state" @expand="(state) => bioExpanded = state"
/> />
</div> </div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -43,6 +43,7 @@ const parentNetworks = [
url: 'https://www.21sextury.com', 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.', 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: { parameters: {
layout: 'api',
mobile: 'https://m.dpfanatics.com/en/video', mobile: 'https://m.dpfanatics.com/en/video',
}, },
parent: 'gamma', parent: 'gamma',
@ -56,6 +57,7 @@ const networks = [
url: 'https://www.21sextreme.com', 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', 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: { parameters: {
layout: 'api',
mobile: 'https://m.dpfanatics.com/en/video', mobile: 'https://m.dpfanatics.com/en/video',
}, },
parent: '21sextury', parent: '21sextury',
@ -66,6 +68,7 @@ const networks = [
url: 'https://www.21naturals.com', 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', 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: { parameters: {
layout: 'api',
mobile: 'https://m.dpfanatics.com/en/video', mobile: 'https://m.dpfanatics.com/en/video',
}, },
parent: '21sextury', parent: '21sextury',

View File

@ -4710,6 +4710,13 @@ const sites = [
tags: ['anal'], tags: ['anal'],
parent: 'mikeadriano', parent: 'mikeadriano',
}, },
{
slug: 'analonly',
name: 'Anal Only',
url: 'https://analonly.com',
tags: ['anal'],
parent: 'mikeadriano',
},
{ {
slug: 'allanal', slug: 'allanal',
name: 'All Anal', name: 'All Anal',

View File

@ -1,10 +0,0 @@
'use strict';
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
module.exports = {
fetchLatest: fetchApiLatest,
fetchProfile: fetchApiProfile,
fetchUpcoming: fetchApiUpcoming,
fetchScene,
};

View File

@ -1,10 +0,0 @@
'use strict';
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
module.exports = {
fetchLatest: fetchApiLatest,
fetchProfile: fetchApiProfile,
fetchUpcoming: fetchApiUpcoming,
fetchScene,
};

View File

@ -1,10 +0,0 @@
'use strict';
const { fetchApiLatest, fetchApiUpcoming, fetchScene, fetchApiProfile } = require('./gamma');
module.exports = {
fetchLatest: fetchApiLatest,
fetchProfile: fetchApiProfile,
fetchUpcoming: fetchApiUpcoming,
fetchScene,
};

View File

@ -67,6 +67,29 @@ async function fetchLatest(channel, page = 1) {
return res.status; 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) { async function fetchScene(url, channel) {
const cookieJar = http.cookieJar(); const cookieJar = http.cookieJar();
const session = http.session({ cookieJar }); const session = http.session({ cookieJar });
@ -122,6 +145,7 @@ async function fetchProfile({ name: actorName }, context , site) {
module.exports = { module.exports = {
fetchLatest, fetchLatest,
fetchUpcoming,
// fetchProfile, // fetchProfile,
fetchScene, fetchScene,
}; };

View File

@ -47,7 +47,6 @@ const mikeadriano = require('./mikeadriano');
const milehighmedia = require('./milehighmedia'); const milehighmedia = require('./milehighmedia');
const mindgeek = require('./mindgeek'); const mindgeek = require('./mindgeek');
const mofos = require('./mofos'); const mofos = require('./mofos');
const naturals = require('./21naturals');
const naughtyamerica = require('./naughtyamerica'); const naughtyamerica = require('./naughtyamerica');
const newsensations = require('./newsensations'); const newsensations = require('./newsensations');
const nubiles = require('./nubiles'); const nubiles = require('./nubiles');
@ -62,8 +61,6 @@ const privateNetwork = require('./private'); // reserved keyword
const puretaboo = require('./puretaboo'); const puretaboo = require('./puretaboo');
const realitykings = require('./realitykings'); const realitykings = require('./realitykings');
const score = require('./score'); const score = require('./score');
const sextreme = require('./21sextreme');
const sextury = require('./21sextury');
const teamskeet = require('./teamskeet'); const teamskeet = require('./teamskeet');
const teencoreclub = require('./teencoreclub'); const teencoreclub = require('./teencoreclub');
const topwebmodels = require('./topwebmodels'); const topwebmodels = require('./topwebmodels');
@ -85,9 +82,6 @@ const freeones = require('./freeones');
const scrapers = { const scrapers = {
releases: { releases: {
'21naturals': naturals,
'21sextreme': sextreme,
'21sextury': sextury,
adulttime, adulttime,
amateurallure, amateurallure,
americanpornstar, americanpornstar,
@ -176,7 +170,7 @@ const scrapers = {
zerotolerance, zerotolerance,
}, },
actors: { actors: {
'21sextury': sextury, '21sextury': gamma,
allanal: mikeadriano, allanal: mikeadriano,
amateureuro: porndoe, amateureuro: porndoe,
americanpornstar, americanpornstar,

View File

@ -164,6 +164,7 @@ function attachReleaseIds(releases, storedReleases) {
function filterInternalDuplicateReleases(releases) { function filterInternalDuplicateReleases(releases) {
const releasesByEntityIdAndEntryId = releases.reduce((acc, release) => { const releasesByEntityIdAndEntryId = releases.reduce((acc, release) => {
console.log(release);
if (!release.entity) { if (!release.entity) {
return acc; return acc;
} }

View File

@ -205,6 +205,8 @@ async function scrapeChannelReleases(scraper, channelEntity, preData) {
} }
async function scrapeChannel(channelEntity, accNetworkReleases) { async function scrapeChannel(channelEntity, accNetworkReleases) {
console.log(channelEntity);
const scraper = scrapers.releases[channelEntity.slug] const scraper = scrapers.releases[channelEntity.slug]
|| scrapers.releases[channelEntity.parent?.slug] || scrapers.releases[channelEntity.parent?.slug]
|| scrapers.releases[channelEntity.parent?.parent?.slug]; || scrapers.releases[channelEntity.parent?.parent?.slug];