forked from DebaucheryLibrarian/traxxx
Added Amnesiac (Hentaied) scraper.
This commit is contained in:
parent
4d8ef20735
commit
c62a529e76
|
@ -1227,6 +1227,30 @@ const tags = [
|
||||||
name: 'real orgasm',
|
name: 'real orgasm',
|
||||||
slug: 'real-orgasm',
|
slug: 'real-orgasm',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'timestop',
|
||||||
|
slug: 'timestop',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'futanari',
|
||||||
|
slug: 'futanari',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'gore',
|
||||||
|
slug: 'gore',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tentacle',
|
||||||
|
slug: 'tentacle',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'parasite',
|
||||||
|
slug: 'parasite',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'voodoo',
|
||||||
|
slug: 'voodoo',
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const aliases = [
|
const aliases = [
|
||||||
|
@ -2495,6 +2519,22 @@ const aliases = [
|
||||||
name: 'outdoor',
|
name: 'outdoor',
|
||||||
for: 'outdoors',
|
for: 'outdoors',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: 'timefreeze',
|
||||||
|
for: 'timestop',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'freeze',
|
||||||
|
for: 'timestop',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'tentacles',
|
||||||
|
for: 'tentacle',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'parasites',
|
||||||
|
for: 'parasite',
|
||||||
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
const priorities = [ // higher index is higher priority
|
const priorities = [ // higher index is higher priority
|
||||||
|
|
|
@ -127,6 +127,11 @@ const networks = [
|
||||||
url: 'https://amateureuro.com',
|
url: 'https://amateureuro.com',
|
||||||
parent: 'porndoe',
|
parent: 'porndoe',
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
slug: 'amnesiac',
|
||||||
|
name: 'Amnesiac',
|
||||||
|
hasLogo: false,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
slug: 'assylum',
|
slug: 'assylum',
|
||||||
name: 'Assylum',
|
name: 'Assylum',
|
||||||
|
|
|
@ -635,6 +635,61 @@ const sites = [
|
||||||
},
|
},
|
||||||
parent: 'amateurallure',
|
parent: 'amateurallure',
|
||||||
},
|
},
|
||||||
|
// AMNESIAC
|
||||||
|
{
|
||||||
|
name: 'Hentaied',
|
||||||
|
slug: 'hentaied',
|
||||||
|
url: 'https://hentaied.com',
|
||||||
|
tags: ['tentacle'],
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Futanari',
|
||||||
|
slug: 'futanari',
|
||||||
|
url: 'https://futanari.xxx',
|
||||||
|
tags: ['futanari'],
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Freeze',
|
||||||
|
slug: 'freeze',
|
||||||
|
url: 'https://freeze.xxx',
|
||||||
|
tags: ['timestop'],
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Somegore',
|
||||||
|
slug: 'somegore',
|
||||||
|
url: 'https://somegore.com',
|
||||||
|
tags: ['gore'],
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Defeated',
|
||||||
|
slug: 'defeated',
|
||||||
|
url: 'https://defeatedsexfight.com',
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Plants vs Cunts',
|
||||||
|
slug: 'plantsvscunts',
|
||||||
|
url: 'https://plantsvscunts.com',
|
||||||
|
tags: ['tentacle'],
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Voodooed',
|
||||||
|
slug: 'voodooed',
|
||||||
|
url: 'https://voodooed.com',
|
||||||
|
tags: ['voodoo'],
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: 'Vored',
|
||||||
|
slug: 'vored',
|
||||||
|
url: 'https://vored.com',
|
||||||
|
parent: 'amnesiac',
|
||||||
|
},
|
||||||
// AMATEUR EURO
|
// AMATEUR EURO
|
||||||
{
|
{
|
||||||
name: 'La Cochonne',
|
name: 'La Cochonne',
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const unprint = require('unprint');
|
||||||
|
|
||||||
|
function scrapeAll(scenes) {
|
||||||
|
return scenes.map(({ query }) => {
|
||||||
|
if (query.exists('.crowdfunding-post')) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
const release = {};
|
||||||
|
|
||||||
|
release.url = query.url('a');
|
||||||
|
release.entryId = new URL(release.url).pathname.split('/')[1];
|
||||||
|
|
||||||
|
release.title = query.content('.allvideostitle p, .allvideostitle h2');
|
||||||
|
|
||||||
|
release.actors = query.contents('.tagsmodels a');
|
||||||
|
|
||||||
|
release.poster = query.sourceSet('.vidcont .attachment-thumbnail');
|
||||||
|
release.teaser = query.video('.vidcont video', { attribute: 'data-src' });
|
||||||
|
|
||||||
|
return release;
|
||||||
|
}).filter(Boolean);
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeScene({ query }, { url }) {
|
||||||
|
const release = {};
|
||||||
|
|
||||||
|
release.entryId = new URL(url).pathname.split('/')[1];
|
||||||
|
|
||||||
|
release.title = query.content('.title-fav h1');
|
||||||
|
release.description = query.contents('.description #fullstory, .title-fav .cont > p').join(' ');
|
||||||
|
|
||||||
|
release.date = query.date('.datesingle', 'MMMM D, YYYY');
|
||||||
|
release.duration = query.duration('.duration');
|
||||||
|
|
||||||
|
release.actors = query.contents('.tagsmodels:not(.director) a');
|
||||||
|
release.director = query.content('.director a');
|
||||||
|
|
||||||
|
release.poster = [
|
||||||
|
query.img('.preview .attachment-full'),
|
||||||
|
query.img('meta[property="og:image"]', { attribute: 'content' }),
|
||||||
|
];
|
||||||
|
|
||||||
|
release.caps = query.all('.gallery a').map((photoEl) => [
|
||||||
|
unprint.query.url(photoEl, null),
|
||||||
|
unprint.query.img(photoEl, 'img'),
|
||||||
|
]);
|
||||||
|
|
||||||
|
release.trailer = {
|
||||||
|
src: query.video('.preview video'),
|
||||||
|
referer: url,
|
||||||
|
expectType: {
|
||||||
|
'binary/octet-stream': 'video/mp4',
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
release.tags = query.contents('.post-categories a');
|
||||||
|
|
||||||
|
return release;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function fetchLatest(channel, page = 1) {
|
||||||
|
const url = `${channel.url}/all-videos/${page}/`;
|
||||||
|
const res = await unprint.get(url, { selectAll: '.catposts > div:not(.clearfix):not(.flexcont)' });
|
||||||
|
|
||||||
|
if (res.ok) {
|
||||||
|
return scrapeAll(res.context, channel);
|
||||||
|
}
|
||||||
|
|
||||||
|
return res.status;
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
fetchLatest,
|
||||||
|
scrapeScene: {
|
||||||
|
scraper: scrapeScene,
|
||||||
|
unprint: true,
|
||||||
|
},
|
||||||
|
};
|
|
@ -5,6 +5,7 @@ const archangel = require('./archangel');
|
||||||
const assylum = require('./assylum');
|
const assylum = require('./assylum');
|
||||||
const amateurallure = require('./amateurallure');
|
const amateurallure = require('./amateurallure');
|
||||||
const americanpornstar = require('./americanpornstar');
|
const americanpornstar = require('./americanpornstar');
|
||||||
|
const amnesiac = require('./amnesiac');
|
||||||
const badoink = require('./badoink');
|
const badoink = require('./badoink');
|
||||||
const bamvisions = require('./bamvisions');
|
const bamvisions = require('./bamvisions');
|
||||||
const bang = require('./bang');
|
const bang = require('./bang');
|
||||||
|
@ -82,6 +83,7 @@ const scrapers = {
|
||||||
amateurallure,
|
amateurallure,
|
||||||
americanpornstar,
|
americanpornstar,
|
||||||
amateureuro: porndoe,
|
amateureuro: porndoe,
|
||||||
|
amnesiac,
|
||||||
archangel,
|
archangel,
|
||||||
asiam: modelmedia,
|
asiam: modelmedia,
|
||||||
assylum,
|
assylum,
|
||||||
|
|
Loading…
Reference in New Issue