Added profile scraper to Pascals Subsluts.
This commit is contained in:
parent
286d48c02b
commit
7fd7005776
Binary file not shown.
After Width: | Height: | Size: 1.0 MiB |
Binary file not shown.
After Width: | Height: | Size: 7.0 KiB |
Binary file not shown.
After Width: | Height: | Size: 27 KiB |
|
@ -617,7 +617,7 @@ const tagPosters = [
|
||||||
['dvp', 'poster', 'Riley Reid in "Pizza That Ass" for Reid My Lips'],
|
['dvp', 'poster', 'Riley Reid in "Pizza That Ass" for Reid My Lips'],
|
||||||
['dv-tp', 'poster', 'Juelz Ventura in "Gangbanged 5" for Elegant Angel'],
|
['dv-tp', 'poster', 'Juelz Ventura in "Gangbanged 5" for Elegant Angel'],
|
||||||
['ebony', 2, 'Nia Nacci for Sweetheart Video'],
|
['ebony', 2, 'Nia Nacci for Sweetheart Video'],
|
||||||
['facefucking', 1, 'Paige Owens in "Dark Meat 12" for Evil Angel'],
|
['facefucking', 5, 'Mia Moore B for Throated'],
|
||||||
['facial', 0, 'Brooklyn Gray in "All About Ass 4" for Evil Angel'],
|
['facial', 0, 'Brooklyn Gray in "All About Ass 4" for Evil Angel'],
|
||||||
['fake-boobs', 2, 'Gia Milana in "Hot Anal Latina" for HardX'],
|
['fake-boobs', 2, 'Gia Milana in "Hot Anal Latina" for HardX'],
|
||||||
['family', 0, 'Teanna Trump in "A Family Appear: Part One" for Brazzers'],
|
['family', 0, 'Teanna Trump in "A Family Appear: Part One" for Brazzers'],
|
||||||
|
@ -707,6 +707,7 @@ const tagPhotos = [
|
||||||
['ebony', 1, 'Ana Foxxx in "DP Me 4" for HardX'],
|
['ebony', 1, 'Ana Foxxx in "DP Me 4" for HardX'],
|
||||||
['facial', 2, 'Ashly Anderson for Hookup Hotshot'],
|
['facial', 2, 'Ashly Anderson for Hookup Hotshot'],
|
||||||
['facial', 'poster', 'Jynx Maze'],
|
['facial', 'poster', 'Jynx Maze'],
|
||||||
|
['facefucking', 1, 'Paige Owens in "Dark Meat 12" for Evil Angel'],
|
||||||
['facefucking', 2, 'Jynx Maze for Throated'],
|
['facefucking', 2, 'Jynx Maze for Throated'],
|
||||||
['facefucking', 4, 'Brooklyn Gray in "Throats Fucks 6" for Evil Angel'],
|
['facefucking', 4, 'Brooklyn Gray in "Throats Fucks 6" for Evil Angel'],
|
||||||
['facefucking', 3, 'Adriana Chechik in "Performing Magic Butt Tricks With Jules Jordan. What Will Disappear In Her Ass?" for Jules Jordan'],
|
['facefucking', 3, 'Adriana Chechik in "Performing Magic Butt Tricks With Jules Jordan. What Will Disappear In Her Ass?" for Jules Jordan'],
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const qu = require('../utils/q');
|
const qu = require('../utils/q');
|
||||||
|
const slugify = require('../utils/slugify');
|
||||||
const capitalize = require('../utils/capitalize');
|
const capitalize = require('../utils/capitalize');
|
||||||
|
const { feetInchesToCm } = require('../utils/convert');
|
||||||
|
|
||||||
function scrapeAll(months, channel, year) {
|
function scrapeAll(months, channel, year) {
|
||||||
return months.map(({ query: queryMonth, el }) => {
|
return months.map(({ query: queryMonth, el }) => {
|
||||||
|
@ -40,23 +42,32 @@ function scrapeScene({ html }, url) {
|
||||||
return release;
|
return release;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
function scrapeProfile({ query }) {
|
||||||
function scrapeProfile({ query, el }, actorName, entity, include) {
|
|
||||||
const profile = {};
|
const profile = {};
|
||||||
|
|
||||||
profile.description = query.cnt('.bio-text');
|
const bio = query.all('.about-desc li').reduce((acc, el) => {
|
||||||
profile.birthPlace = query.cnt('.birth-place span');
|
const key = query.cnt(el, 'strong');
|
||||||
|
const value = query.text(el);
|
||||||
|
|
||||||
profile.avatar = query.img('.actor-photo img');
|
return {
|
||||||
|
...acc,
|
||||||
|
[slugify(key, '_')]: value,
|
||||||
|
};
|
||||||
|
}, {});
|
||||||
|
|
||||||
if (include.releases) {
|
profile.nationality = bio.nationality;
|
||||||
return scrapeAll(qu.initAll(el, '.scene'));
|
profile.height = feetInchesToCm(bio.height);
|
||||||
}
|
profile.age = bio.age;
|
||||||
|
profile.hair = bio.hair;
|
||||||
|
|
||||||
|
profile.description = query.cnt('.twocolumns');
|
||||||
|
profile.avatar = query.img('#individual-description img');
|
||||||
|
|
||||||
|
// no dates or links available
|
||||||
|
// profile.releases = scrapeAll(qu.initAll(query.all('.individal-video-item'))); // sic
|
||||||
|
|
||||||
console.log(profile);
|
|
||||||
return profile;
|
return profile;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
async function fetchLatest(channel, page = 1) {
|
async function fetchLatest(channel, page = 1) {
|
||||||
const year = new Date().getFullYear() - (page - 1);
|
const year = new Date().getFullYear() - (page - 1);
|
||||||
|
@ -81,20 +92,21 @@ async function fetchScene(url, channel) {
|
||||||
return res.status;
|
return res.status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
async function fetchProfile({ name: actorName }, entity, include) {
|
async function fetchProfile({ name: actorName }, entity, include) {
|
||||||
const url = `${entity.url}/actors/${slugify(actorName, '_')}`;
|
const url = `${entity.url}/submissive/subslut-${slugify(actorName)}.php`;
|
||||||
const res = await qu.get(url);
|
const res = await qu.get(url, null, null, {
|
||||||
|
followRedirects: false,
|
||||||
|
});
|
||||||
|
|
||||||
if (res.ok) {
|
if (res.ok && res.status === 200) {
|
||||||
return scrapeProfile(res.item, actorName, entity, include);
|
return scrapeProfile(res.item, actorName, entity, include);
|
||||||
}
|
}
|
||||||
|
|
||||||
return res.status;
|
return res.status;
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
fetchLatest,
|
fetchLatest,
|
||||||
fetchScene,
|
fetchScene,
|
||||||
|
fetchProfile,
|
||||||
};
|
};
|
||||||
|
|
|
@ -234,6 +234,7 @@ module.exports = {
|
||||||
pimpxxx: cherrypimps,
|
pimpxxx: cherrypimps,
|
||||||
letsdoeit: porndoe,
|
letsdoeit: porndoe,
|
||||||
mamacitaz: porndoe,
|
mamacitaz: porndoe,
|
||||||
|
pascalssubsluts,
|
||||||
porncz,
|
porncz,
|
||||||
pornhub,
|
pornhub,
|
||||||
povperverts: fullpornnetwork,
|
povperverts: fullpornnetwork,
|
||||||
|
|
Loading…
Reference in New Issue