Compare commits
No commits in common. "a989bcb1691a3d6c441ca49ff050d97c67ee95ae" and "33bad4466e1636e4a753035cdab012599208ef11" have entirely different histories.
a989bcb169
...
33bad4466e
|
@ -253,7 +253,6 @@ module.exports = {
|
||||||
'porncz',
|
'porncz',
|
||||||
'czechav',
|
'czechav',
|
||||||
'littlecapricedreams',
|
'littlecapricedreams',
|
||||||
'missyx',
|
|
||||||
'gangbangcreampie',
|
'gangbangcreampie',
|
||||||
'gloryholesecrets',
|
'gloryholesecrets',
|
||||||
'aziani',
|
'aziani',
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.239.1",
|
"version": "1.239.0",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.239.1",
|
"version": "1.239.0",
|
||||||
"license": "ISC",
|
"license": "ISC",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@aws-sdk/client-s3": "^3.458.0",
|
"@aws-sdk/client-s3": "^3.458.0",
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.239.1",
|
"version": "1.239.0",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
@ -511,11 +511,6 @@ const networks = [
|
||||||
parentSession: false,
|
parentSession: false,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
|
||||||
slug: 'missax',
|
|
||||||
name: 'MissaX',
|
|
||||||
url: 'https://missax.com',
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
slug: 'modelmedia',
|
slug: 'modelmedia',
|
||||||
name: 'Model Media',
|
name: 'Model Media',
|
||||||
|
|
|
@ -6275,19 +6275,6 @@ const sites = [
|
||||||
},
|
},
|
||||||
parent: 'milehighmedia',
|
parent: 'milehighmedia',
|
||||||
},
|
},
|
||||||
// MISSA X
|
|
||||||
{
|
|
||||||
slug: 'missax',
|
|
||||||
name: 'MissaX',
|
|
||||||
url: 'https://missax.com',
|
|
||||||
parent: 'missax',
|
|
||||||
},
|
|
||||||
{
|
|
||||||
slug: 'allherluv',
|
|
||||||
name: 'All Her Luv',
|
|
||||||
url: 'https://allherluv.com',
|
|
||||||
parent: 'missax',
|
|
||||||
},
|
|
||||||
// MODEL MEDIA
|
// MODEL MEDIA
|
||||||
{
|
{
|
||||||
slug: 'delphine',
|
slug: 'delphine',
|
||||||
|
|
|
@ -1,94 +0,0 @@
|
||||||
'use strict';
|
|
||||||
|
|
||||||
const unprint = require('unprint');
|
|
||||||
|
|
||||||
const slugify = require('../utils/slugify');
|
|
||||||
|
|
||||||
function scrapeAll(scenes) {
|
|
||||||
return scenes.map(({ query }) => {
|
|
||||||
const release = {};
|
|
||||||
|
|
||||||
release.url = query.url('.photo-thumb_body > a');
|
|
||||||
release.entryId = new URL(release.url).pathname.match(/\/trailers\/([\w-]+).html/)[1].toLowerCase();
|
|
||||||
|
|
||||||
release.title = query.content('.thumb-title');
|
|
||||||
|
|
||||||
release.actors = query.all('.model-name a').map((actorEl) => ({
|
|
||||||
name: unprint.query.content(actorEl),
|
|
||||||
url: unprint.query.url(actorEl, null),
|
|
||||||
}));
|
|
||||||
|
|
||||||
release.poster = Array.from({ length: 4 }, (item, index) => query.img('img.mainThumb', { attribute: `src0_${4 - index}x` }));
|
|
||||||
|
|
||||||
return release;
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function scrapeScene({ query, html }, { url, entity }) {
|
|
||||||
const release = {};
|
|
||||||
|
|
||||||
release.entryId = new URL(url).pathname.match(/\/trailers\/([\w-]+).html/)[1].toLowerCase();
|
|
||||||
|
|
||||||
release.title = query.content('.raiting-section__title');
|
|
||||||
release.description = query.contents('p.text, p.text ~ p').map((p) => p.trim()).join('\n\n');
|
|
||||||
|
|
||||||
release.date = query.date('.dvd-scenes__data', 'MM/DD/YYYY');
|
|
||||||
release.duration = query.duration('.dvd-scenes__data');
|
|
||||||
|
|
||||||
release.actors = query.all('.dvd-scenes__data a[href*="/models"]').map((actorEl) => ({
|
|
||||||
name: unprint.query.content(actorEl),
|
|
||||||
url: unprint.query.url(actorEl, null),
|
|
||||||
}));
|
|
||||||
|
|
||||||
release.tags = query.contents('.dvd-scenes__data a[href*="/categories"]');
|
|
||||||
|
|
||||||
release.poster = Array.from({ length: 4 }, (item, index) => query.img('img.update_thumb', { attribute: `src0_${4 - index}x` }));
|
|
||||||
release.trailer = unprint.prefixUrl(html.match(/src="(\/trailers\/\w+\.mp4)"/)?.[1], entity.url);
|
|
||||||
|
|
||||||
return release;
|
|
||||||
}
|
|
||||||
|
|
||||||
function scrapeProfile({ query }) {
|
|
||||||
const profile = {};
|
|
||||||
|
|
||||||
profile.description = query.contents('p.text, p.text ~ p')?.map((p) => p.trim()).join('\n\n');
|
|
||||||
profile.avatar = Array.from({ length: 3 }, (item, index) => query.img('.bio-img img', { attribute: `src0_${3 - index}x` }));
|
|
||||||
|
|
||||||
return profile;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function fetchLatest(channel, page = 1) {
|
|
||||||
const url = `${channel.url}/tour/categories/movies_${page}_d.html`;
|
|
||||||
const res = await unprint.get(url, { selectAll: '.tab-content .video-thumb' });
|
|
||||||
|
|
||||||
if (res.ok) {
|
|
||||||
return scrapeAll(res.context, channel);
|
|
||||||
}
|
|
||||||
|
|
||||||
return res.status;
|
|
||||||
}
|
|
||||||
|
|
||||||
async function fetchProfile({ name }, entity) {
|
|
||||||
const res = await unprint.get(`${entity.url}/tour/models/${name.replace(/\s+/, '')}.html`);
|
|
||||||
|
|
||||||
if (res.ok) {
|
|
||||||
return scrapeProfile(res.context, entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
const slugRes = await unprint.get(`${entity.url}/tour/models/${slugify(name, '-')}.html`);
|
|
||||||
|
|
||||||
if (slugRes.ok) {
|
|
||||||
return scrapeProfile(slugRes.context, entity);
|
|
||||||
}
|
|
||||||
|
|
||||||
return slugRes.status;
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = {
|
|
||||||
fetchLatest,
|
|
||||||
fetchProfile,
|
|
||||||
scrapeScene: {
|
|
||||||
scraper: scrapeScene,
|
|
||||||
unprint: true,
|
|
||||||
},
|
|
||||||
};
|
|
|
@ -43,7 +43,6 @@ const loveherfilms = require('./loveherfilms');
|
||||||
const bluedonkeymedia = require('./bluedonkeymedia');
|
const bluedonkeymedia = require('./bluedonkeymedia');
|
||||||
const mikeadriano = require('./mikeadriano');
|
const mikeadriano = require('./mikeadriano');
|
||||||
const aylo = require('./aylo');
|
const aylo = require('./aylo');
|
||||||
const missax = require('./missax');
|
|
||||||
const naughtyamerica = require('./naughtyamerica');
|
const naughtyamerica = require('./naughtyamerica');
|
||||||
const newsensations = require('./newsensations');
|
const newsensations = require('./newsensations');
|
||||||
const nubiles = require('./nubiles');
|
const nubiles = require('./nubiles');
|
||||||
|
@ -135,7 +134,6 @@ const scrapers = {
|
||||||
mamacitaz: porndoe,
|
mamacitaz: porndoe,
|
||||||
mariskax,
|
mariskax,
|
||||||
mikeadriano,
|
mikeadriano,
|
||||||
missax,
|
|
||||||
aylo,
|
aylo,
|
||||||
mylf: teamskeet,
|
mylf: teamskeet,
|
||||||
naughtyamerica,
|
naughtyamerica,
|
||||||
|
@ -181,7 +179,6 @@ const scrapers = {
|
||||||
'21sextury': gamma,
|
'21sextury': gamma,
|
||||||
adultempire,
|
adultempire,
|
||||||
allanal: mikeadriano,
|
allanal: mikeadriano,
|
||||||
allherluv: missax,
|
|
||||||
amateureuro: porndoe,
|
amateureuro: porndoe,
|
||||||
americanpornstar,
|
americanpornstar,
|
||||||
analbbc: fullpornnetwork,
|
analbbc: fullpornnetwork,
|
||||||
|
@ -267,7 +264,6 @@ const scrapers = {
|
||||||
milehighmedia: aylo,
|
milehighmedia: aylo,
|
||||||
milfy: vixen,
|
milfy: vixen,
|
||||||
milfvr: wankzvr,
|
milfvr: wankzvr,
|
||||||
missax,
|
|
||||||
mofos: aylo,
|
mofos: aylo,
|
||||||
mylf: teamskeet,
|
mylf: teamskeet,
|
||||||
mugfucked: fullpornnetwork,
|
mugfucked: fullpornnetwork,
|
||||||
|
|
Loading…
Reference in New Issue