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',
|
||||
name: 'Anal BBC',
|
||||
url: 'https://analbbc.com/',
|
||||
url: 'https://analbbc.com',
|
||||
tags: ['anal', 'bbc'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'analviolation',
|
||||
name: 'Anal Violation',
|
||||
url: 'https://analviolation.com/',
|
||||
url: 'https://analviolation.com',
|
||||
tags: ['anal'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'analized',
|
||||
name: 'ANALIZED',
|
||||
url: 'https://analized.com/',
|
||||
url: 'https://analized.com',
|
||||
tags: ['anal'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'baddaddypov',
|
||||
name: 'Bad Daddy POV',
|
||||
url: 'https://baddaddypov.com/',
|
||||
url: 'https://baddaddypov.com',
|
||||
tags: ['pov', 'family'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'dtfsluts',
|
||||
name: 'DTF Sluts',
|
||||
url: 'https://dtfsluts.com/',
|
||||
url: 'https://dtfsluts.com',
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'girlfaction',
|
||||
name: 'Girlfaction',
|
||||
url: 'https://girlfaction.com/',
|
||||
url: 'https://girlfaction.com',
|
||||
tags: ['lesbian'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'hergape',
|
||||
name: 'Her Gape',
|
||||
url: 'https://hergape.com/',
|
||||
url: 'https://hergape.com',
|
||||
tags: ['anal'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'homemadeanalwhores',
|
||||
name: 'Homemade Anal Whores',
|
||||
url: 'https://homemadeanalwhores.com/',
|
||||
url: 'https://homemadeanalwhores.com',
|
||||
tags: ['anal'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'jamesdeen',
|
||||
name: 'James Deen',
|
||||
url: 'https://jamesdeen.com/',
|
||||
url: 'https://jamesdeen.com',
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'onlyprince',
|
||||
name: 'Only Prince',
|
||||
url: 'https://onlyprince.com/',
|
||||
url: 'https://onlyprince.com',
|
||||
tags: ['bbc'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'pervertgallery',
|
||||
name: 'Pervert Gallery',
|
||||
url: 'http://pervertgallery.com/',
|
||||
url: 'http://pervertgallery.com',
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'povperverts',
|
||||
name: 'POV Perverts',
|
||||
url: 'http://povperverts.net/',
|
||||
url: 'http://povperverts.net',
|
||||
tags: ['pov'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'teenageanalsluts',
|
||||
name: 'Teenage Anal Sluts',
|
||||
url: 'https://teenageanalsluts.com/',
|
||||
url: 'https://teenageanalsluts.com',
|
||||
tags: ['anal'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'twistedvisual',
|
||||
name: 'Twisted Visual',
|
||||
url: 'https://twistedvisual.com/',
|
||||
url: 'https://twistedvisual.com',
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'yourmomdoesanal',
|
||||
name: 'Your Mom Does Anal',
|
||||
url: 'http://yourmomdoesanal.com/',
|
||||
url: 'http://yourmomdoesanal.com',
|
||||
tags: ['anal', 'milf'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'yourmomdoesporn',
|
||||
name: 'Your Mom Does Porn',
|
||||
url: 'https://yourmomdoesporn.com/',
|
||||
url: 'https://yourmomdoesporn.com',
|
||||
tags: ['milf'],
|
||||
network: 'fullpornnetwork',
|
||||
},
|
||||
{
|
||||
slug: 'mugfucked',
|
||||
name: 'Mugfucked',
|
||||
url: 'https://mugfucked.com/',
|
||||
url: 'https://mugfucked.com',
|
||||
tags: ['facefucking', 'blowjob'],
|
||||
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 freeones = require('./freeones');
|
||||
const freeonesLegacy = require('./freeones_legacy');
|
||||
const fullpornnetwork = require('./fullpornnetwork');
|
||||
const girlsway = require('./girlsway');
|
||||
const iconmale = require('./iconmale');
|
||||
const insex = require('./insex');
|
||||
|
@ -75,6 +76,7 @@ module.exports = {
|
|||
fakehub,
|
||||
famedigital,
|
||||
fantasymassage,
|
||||
fullpornnetwork,
|
||||
girlsway,
|
||||
insex,
|
||||
jayrock,
|
||||
|
|
Loading…
Reference in New Issue