forked from DebaucheryLibrarian/traxxx
Added Full Porn Network scraper.
This commit is contained in:
parent
8389787c7e
commit
880cc64022
Binary file not shown.
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 22 KiB |
Binary file not shown.
After Width: | Height: | Size: 1012 B |
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
|
@ -1846,115 +1846,115 @@ const sites = [
|
||||||
{
|
{
|
||||||
slug: 'analbbc',
|
slug: 'analbbc',
|
||||||
name: 'Anal BBC',
|
name: 'Anal BBC',
|
||||||
url: 'https://analbbc.com/',
|
url: 'https://analbbc.com',
|
||||||
tags: ['anal', 'bbc'],
|
tags: ['anal', 'bbc'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'analviolation',
|
slug: 'analviolation',
|
||||||
name: 'Anal Violation',
|
name: 'Anal Violation',
|
||||||
url: 'https://analviolation.com/',
|
url: 'https://analviolation.com',
|
||||||
tags: ['anal'],
|
tags: ['anal'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'analized',
|
slug: 'analized',
|
||||||
name: 'ANALIZED',
|
name: 'ANALIZED',
|
||||||
url: 'https://analized.com/',
|
url: 'https://analized.com',
|
||||||
tags: ['anal'],
|
tags: ['anal'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'baddaddypov',
|
slug: 'baddaddypov',
|
||||||
name: 'Bad Daddy POV',
|
name: 'Bad Daddy POV',
|
||||||
url: 'https://baddaddypov.com/',
|
url: 'https://baddaddypov.com',
|
||||||
tags: ['pov', 'family'],
|
tags: ['pov', 'family'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'dtfsluts',
|
slug: 'dtfsluts',
|
||||||
name: 'DTF Sluts',
|
name: 'DTF Sluts',
|
||||||
url: 'https://dtfsluts.com/',
|
url: 'https://dtfsluts.com',
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'girlfaction',
|
slug: 'girlfaction',
|
||||||
name: 'Girlfaction',
|
name: 'Girlfaction',
|
||||||
url: 'https://girlfaction.com/',
|
url: 'https://girlfaction.com',
|
||||||
tags: ['lesbian'],
|
tags: ['lesbian'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'hergape',
|
slug: 'hergape',
|
||||||
name: 'Her Gape',
|
name: 'Her Gape',
|
||||||
url: 'https://hergape.com/',
|
url: 'https://hergape.com',
|
||||||
tags: ['anal'],
|
tags: ['anal'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'homemadeanalwhores',
|
slug: 'homemadeanalwhores',
|
||||||
name: 'Homemade Anal Whores',
|
name: 'Homemade Anal Whores',
|
||||||
url: 'https://homemadeanalwhores.com/',
|
url: 'https://homemadeanalwhores.com',
|
||||||
tags: ['anal'],
|
tags: ['anal'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'jamesdeen',
|
slug: 'jamesdeen',
|
||||||
name: 'James Deen',
|
name: 'James Deen',
|
||||||
url: 'https://jamesdeen.com/',
|
url: 'https://jamesdeen.com',
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'onlyprince',
|
slug: 'onlyprince',
|
||||||
name: 'Only Prince',
|
name: 'Only Prince',
|
||||||
url: 'https://onlyprince.com/',
|
url: 'https://onlyprince.com',
|
||||||
tags: ['bbc'],
|
tags: ['bbc'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'pervertgallery',
|
slug: 'pervertgallery',
|
||||||
name: 'Pervert Gallery',
|
name: 'Pervert Gallery',
|
||||||
url: 'http://pervertgallery.com/',
|
url: 'http://pervertgallery.com',
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'povperverts',
|
slug: 'povperverts',
|
||||||
name: 'POV Perverts',
|
name: 'POV Perverts',
|
||||||
url: 'http://povperverts.net/',
|
url: 'http://povperverts.net',
|
||||||
tags: ['pov'],
|
tags: ['pov'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'teenageanalsluts',
|
slug: 'teenageanalsluts',
|
||||||
name: 'Teenage Anal Sluts',
|
name: 'Teenage Anal Sluts',
|
||||||
url: 'https://teenageanalsluts.com/',
|
url: 'https://teenageanalsluts.com',
|
||||||
tags: ['anal'],
|
tags: ['anal'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'twistedvisual',
|
slug: 'twistedvisual',
|
||||||
name: 'Twisted Visual',
|
name: 'Twisted Visual',
|
||||||
url: 'https://twistedvisual.com/',
|
url: 'https://twistedvisual.com',
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'yourmomdoesanal',
|
slug: 'yourmomdoesanal',
|
||||||
name: 'Your Mom Does Anal',
|
name: 'Your Mom Does Anal',
|
||||||
url: 'http://yourmomdoesanal.com/',
|
url: 'http://yourmomdoesanal.com',
|
||||||
tags: ['anal', 'milf'],
|
tags: ['anal', 'milf'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'yourmomdoesporn',
|
slug: 'yourmomdoesporn',
|
||||||
name: 'Your Mom Does Porn',
|
name: 'Your Mom Does Porn',
|
||||||
url: 'https://yourmomdoesporn.com/',
|
url: 'https://yourmomdoesporn.com',
|
||||||
tags: ['milf'],
|
tags: ['milf'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
slug: 'mugfucked',
|
slug: 'mugfucked',
|
||||||
name: 'Mugfucked',
|
name: 'Mugfucked',
|
||||||
url: 'https://mugfucked.com/',
|
url: 'https://mugfucked.com',
|
||||||
tags: ['facefucking', 'blowjob'],
|
tags: ['facefucking', 'blowjob'],
|
||||||
network: 'fullpornnetwork',
|
network: 'fullpornnetwork',
|
||||||
},
|
},
|
||||||
|
|
|
@ -0,0 +1,67 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
const { get, geta } = require('../utils/q');
|
||||||
|
|
||||||
|
function scrapeLatest(scenes) {
|
||||||
|
return scenes.map(({ el, q, qa, qd, qu, ql }) => {
|
||||||
|
const release = {};
|
||||||
|
|
||||||
|
release.entryId = el.dataset.setid || q('.update_thumb', 'id').match(/\w+-\w+-(\d+)-\d+/)[1];
|
||||||
|
release.url = qu('.title');
|
||||||
|
|
||||||
|
release.title = q('.title', true);
|
||||||
|
release.description = q('.title', 'title');
|
||||||
|
|
||||||
|
release.date = qd('.video-data > span:last-child', 'YYYY-MM-DD');
|
||||||
|
release.duration = ql('.video-data > span');
|
||||||
|
|
||||||
|
release.actors = qa('.update_models a', true);
|
||||||
|
|
||||||
|
const poster = q('.update_thumb', 'src0_1x');
|
||||||
|
release.poster = [
|
||||||
|
poster.replace('-1x', '-2x'),
|
||||||
|
poster,
|
||||||
|
];
|
||||||
|
|
||||||
|
return release;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function scrapeScene({ q, qa, qd, qtx }, url) {
|
||||||
|
const release = { url };
|
||||||
|
|
||||||
|
release.entryId = q('#image_parent img', 'id').match(/\w+-\w+-(\d+)-\d+/)[1];
|
||||||
|
|
||||||
|
release.title = q('.trailer_title', true);
|
||||||
|
release.description = qtx('.text p');
|
||||||
|
release.date = qd('span[data-dateadded]', 'YYYY-MM-DD', null, 'data-dateadded');
|
||||||
|
|
||||||
|
release.actors = qa('.update_models a', true);
|
||||||
|
release.tags = qa('.video-info a[href*="/categories"]', true);
|
||||||
|
|
||||||
|
const poster = q('#image_parent img', 'src0_1x');
|
||||||
|
release.poster = [
|
||||||
|
poster.replace('-1x', '-2x'),
|
||||||
|
poster,
|
||||||
|
];
|
||||||
|
|
||||||
|
return release;
|
||||||
|
}
|
||||||
|
|
||||||
|
async function fetchLatest(site, page = 1) {
|
||||||
|
const url = `${site.url}/categories/movies_${page}_d.html`;
|
||||||
|
const qLatest = await geta(url, '.latest-updates .update');
|
||||||
|
|
||||||
|
return qLatest && scrapeLatest(qLatest, site);
|
||||||
|
}
|
||||||
|
|
||||||
|
async function fetchScene(url, site) {
|
||||||
|
const qScene = await get(url, '.content-wrapper');
|
||||||
|
|
||||||
|
return qScene && scrapeScene(qScene, site);
|
||||||
|
}
|
||||||
|
|
||||||
|
module.exports = {
|
||||||
|
fetchLatest,
|
||||||
|
fetchScene,
|
||||||
|
};
|
|
@ -18,6 +18,7 @@ const famedigital = require('./famedigital');
|
||||||
const fantasymassage = require('./fantasymassage');
|
const fantasymassage = require('./fantasymassage');
|
||||||
const freeones = require('./freeones');
|
const freeones = require('./freeones');
|
||||||
const freeonesLegacy = require('./freeones_legacy');
|
const freeonesLegacy = require('./freeones_legacy');
|
||||||
|
const fullpornnetwork = require('./fullpornnetwork');
|
||||||
const girlsway = require('./girlsway');
|
const girlsway = require('./girlsway');
|
||||||
const iconmale = require('./iconmale');
|
const iconmale = require('./iconmale');
|
||||||
const insex = require('./insex');
|
const insex = require('./insex');
|
||||||
|
@ -75,6 +76,7 @@ module.exports = {
|
||||||
fakehub,
|
fakehub,
|
||||||
famedigital,
|
famedigital,
|
||||||
fantasymassage,
|
fantasymassage,
|
||||||
|
fullpornnetwork,
|
||||||
girlsway,
|
girlsway,
|
||||||
insex,
|
insex,
|
||||||
jayrock,
|
jayrock,
|
||||||
|
|
Loading…
Reference in New Issue