Added profile avatar and release scraping to Full Porn Network.

This commit is contained in:
ThePendulum 2020-02-15 02:04:46 +01:00
parent 958c2b625c
commit b6fe91b016
3 changed files with 59 additions and 4 deletions

View File

@ -43,7 +43,7 @@ module.exports = {
'brazzers', 'brazzers',
'milehighmedia', 'milehighmedia',
[ [
// Nubiles; use the same scraper, but different results per site // Nubiles
'nubiles', 'nubiles',
'nubilesporn', 'nubilesporn',
'deeplush', 'deeplush',
@ -66,6 +66,22 @@ module.exports = {
'confessionsxxx', 'confessionsxxx',
'cuckedxxx', 'cuckedxxx',
], ],
[
// Full Porn Network
'analized',
'hergape',
'jamesdeen',
'dtfsluts',
'analbbc',
'analviolation',
'baddaddypov',
'girlfaction',
'homemadeanalwhores',
'mugfucked',
'onlyprince',
'pervertgallery',
'povperverts',
],
'kellymadison', 'kellymadison',
'bangbros', 'bangbros',
'ddfnetwork', 'ddfnetwork',

View File

@ -1,8 +1,9 @@
'use strict'; 'use strict';
const { get, geta } = require('../utils/q'); const { get, geta, ctxa } = require('../utils/q');
const slugify = require('../utils/slugify');
function scrapeLatest(scenes) { function scrapeAll(scenes) {
return scenes.map(({ el, q, qa, qd, qu, ql }) => { return scenes.map(({ el, q, qa, qd, qu, ql }) => {
const release = {}; const release = {};
@ -48,11 +49,24 @@ function scrapeScene({ q, qa, qd, qtx }, url) {
return release; return release;
} }
function scrapeProfile({ el, q }) {
const profile = {};
profile.avatar = [
q('.model-image img', 'src0_2x'),
q('.model-image img', 'src0_1x'),
];
profile.releases = scrapeAll(ctxa(el, '.update'));
return profile;
}
async function fetchLatest(site, page = 1) { async function fetchLatest(site, page = 1) {
const url = `${site.url}/categories/movies_${page}_d.html`; const url = `${site.url}/categories/movies_${page}_d.html`;
const qLatest = await geta(url, '.latest-updates .update'); const qLatest = await geta(url, '.latest-updates .update');
return qLatest && scrapeLatest(qLatest, site); return qLatest && scrapeAll(qLatest, site);
} }
async function fetchScene(url, site) { async function fetchScene(url, site) {
@ -61,7 +75,19 @@ async function fetchScene(url, site) {
return qScene && scrapeScene(qScene, site); return qScene && scrapeScene(qScene, site);
} }
async function fetchProfile(actorName, scraperSlug) {
const actorSlug = slugify(actorName, { delimiter: '' });
const url = scraperSlug === 'povperverts'
? `https://povperverts.net/models/${actorSlug}.html`
: `https://${scraperSlug}.com/models/${actorSlug}.html`;
const qProfile = await get(url);
return qProfile && scrapeProfile(qProfile, actorName);
}
module.exports = { module.exports = {
fetchLatest, fetchLatest,
fetchScene, fetchScene,
fetchProfile,
}; };

View File

@ -132,6 +132,19 @@ module.exports = {
kellymadison, kellymadison,
legalporno, legalporno,
men, men,
analbbc: fullpornnetwork,
analized: fullpornnetwork,
analviolation: fullpornnetwork,
baddaddypov: fullpornnetwork,
dtfsluts: fullpornnetwork,
girlfaction: fullpornnetwork,
hergape: fullpornnetwork,
homemadeanalwhores: fullpornnetwork,
jamesdeen: fullpornnetwork,
mugfucked: fullpornnetwork,
onlyprince: fullpornnetwork,
pervertgallery: fullpornnetwork,
povperverts: fullpornnetwork,
metrohd, metrohd,
milehighmedia, milehighmedia,
mofos, mofos,