Added MariskaX.

This commit is contained in:
DebaucheryLibrarian 2023-07-09 21:39:40 +02:00
parent f009c90e5d
commit 77727dff77
15 changed files with 112 additions and 3 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 133 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -5681,6 +5681,15 @@ const sites = [
tags: ['latina'],
parent: 'mamacitaz',
},
// MARISKA X
{
name: 'MariskaX',
slug: 'mariskax',
url: 'https://tour.mariskax.com',
parameters: {
latest: 'https://tour.mariskax.com/scenes?page={page}',
},
},
// METRO HD
{
slug: 'devianthardcore',

View File

@ -32,6 +32,8 @@ function scrapeAll(scenes, site) {
release.entryId = `${formatDate(release.date, 'YYYY-MM-DD')}-${slugify(release.title)}`;
console.log(release);
return release;
});
}

View File

@ -101,11 +101,10 @@ function scrapeUpcoming(scenes, channel) {
}));
release.poster = query.img('img') || query.img('img', { attribute: 'src0_1x' });
release.teaser = html.match(/src=['"](https:\/\/.*\.mp4)['"]/)?.[1];
release.entryId = channel.parameters?.entryIdFromTitle ? slugify(release.title) : getEntryId(html);
// TODO: teaser
return release;
});
}

96
src/scrapers/mariskax.js Normal file
View File

@ -0,0 +1,96 @@
'use strict';
const unprint = require('unprint');
const slugify = require('../utils/slugify');
function scrapeLatest(scenes) {
return scenes.map(({ query }) => {
const release = {};
release.title = query.content('.title a');
release.url = query.url('.title a') || query.url('.thumb-wrap a');
release.entryId = new URL(release.url).pathname.match(/view\/(\d+)\//)[1];
release.date = query.date('time', 'Do MMM YYYY', { match: /\d+\w+ \w+ \d{4}/ });
release.duration = query.duration('.total-time');
release.actors = query.all('.models a').map((el) => ({
name: unprint.query.content(el),
url: unprint.query.url(el, null),
}));
[release.poster, ...release.photos] = query.json('.thumb-wrap a', { attribute: 'data-images' });
release.photoCount = query.number('.total-photos');
return release;
});
}
async function fetchLatest(channel, page) {
const res = await unprint.get(`https://tour.mariskax.com/scenes?page=${page}`, {
selectAll: '.content-item',
timeout: 30000, // slow site
});
if (res.ok) {
return scrapeLatest(res.context);
}
return res.status;
}
function scrapeScene({ query }, { url }) {
const release = {};
release.title = query.content('.content-meta .title');
release.entryId = new URL(url).pathname.match(/view\/(\d+)\//)[1];
release.date = query.date('.post-date', 'Do MMM YYYY', { match: /\d+\w+ \w+ \d{4}/ });
release.actors = query.all('.content-meta .models a').map((el) => ({
name: unprint.query.content(el),
url: unprint.query.url(el, null),
}));
release.poster = query.poster('.trailer-wrap video');
release.trailer = query.video('.trailer-wrap source') || query.video('.download-trailer-wrap a', { attribute: 'href' });
return release;
}
async function fetchProfile(actor) {
const res = await unprint.post('https://tour.mariskax.com/search-preview-mrx', `q=${slugify(actor.name, '+')}`, {
headers: {
'Accept-Language': 'en-US,en', // necessary for some reason
'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
},
});
if (res.ok) {
const model = res.data.find((result) => result.type === 'model' && slugify(result.title) === actor.slug);
if (model) {
const curatedModel = {
entryId: model.url?.match(/model\/(\d+)\//)?.[1],
url: model.url,
avatar: model.thumb,
};
return curatedModel;
}
}
return null;
}
module.exports = {
fetchLatest,
scrapeScene: {
scraper: scrapeScene,
unprint: true,
},
fetchProfile,
};

View File

@ -34,6 +34,7 @@ const karups = require('./karups');
const kellymadison = require('./kellymadison');
const killergram = require('./killergram');
const kink = require('./kink');
const mariskax = require('./mariskax');
const analvids = require('./analvids');
const littlecapricedreams = require('./littlecapricedreams');
const loveherfilms = require('./loveherfilms');
@ -85,6 +86,7 @@ const scrapers = {
bamvisions,
bang,
bangbros,
bluedonkeymedia,
bradmontana,
brazzers: mindgeek,
cherrypimps,
@ -122,7 +124,7 @@ const scrapers = {
littlecapricedreams,
loveherfilms,
mamacitaz: porndoe,
bluedonkeymedia,
mariskax,
mikeadriano,
mindgeek,
mylf: teamskeet,
@ -242,6 +244,7 @@ const scrapers = {
littlecapricedreams,
mamacitaz: porndoe,
men: mindgeek,
mariskax,
metrohd: mindgeek,
milehighmedia: mindgeek,
milfvr: wankzvr,