Added Pinky XXX, changed ethnicity tags.

This commit is contained in:
DebaucheryLibrarian 2021-01-13 00:52:05 +01:00
parent 68aacb498a
commit 52356f0f31
36 changed files with 139 additions and 18 deletions

View File

@ -50,9 +50,9 @@ async function mounted() {
], ],
appearance: [ appearance: [
'asian', 'asian',
'ebony', 'black',
'latina', 'latina',
'caucasian', 'white',
'natural-boobs', 'natural-boobs',
'fake-boobs', 'fake-boobs',
'blonde', 'blonde',

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

Before

Width:  |  Height:  |  Size: 581 KiB

After

Width:  |  Height:  |  Size: 581 KiB

View File

Before

Width:  |  Height:  |  Size: 471 KiB

After

Width:  |  Height:  |  Size: 471 KiB

View File

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 24 KiB

View File

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 MiB

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

Before

Width:  |  Height:  |  Size: 1.9 MiB

After

Width:  |  Height:  |  Size: 1.9 MiB

View File

Before

Width:  |  Height:  |  Size: 782 KiB

After

Width:  |  Height:  |  Size: 782 KiB

View File

Before

Width:  |  Height:  |  Size: 9.0 KiB

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 6.8 KiB

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 76 KiB

View File

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

View File

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

@ -407,8 +407,8 @@ const tags = [
group: 'clothing', group: 'clothing',
}, },
{ {
name: 'ebony', name: 'black',
slug: 'ebony', slug: 'black',
priority: 5, priority: 5,
group: 'ethnicity', group: 'ethnicity',
}, },
@ -967,8 +967,8 @@ const tags = [
slug: 'wet', slug: 'wet',
}, },
{ {
name: 'caucasian', name: 'white',
slug: 'caucasian', slug: 'white',
priority: 7, priority: 7,
group: 'ethnicity', group: 'ethnicity',
}, },
@ -1187,8 +1187,8 @@ const aliases = [
for: 'bisexual', for: 'bisexual',
}, },
{ {
name: 'black', name: 'ebony',
for: 'ebony', for: 'black',
}, },
{ {
name: 'blonde hair', name: 'blonde hair',
@ -1824,8 +1824,8 @@ const aliases = [
for: 'corporal-punishment', for: 'corporal-punishment',
}, },
{ {
name: 'white', name: 'caucasian',
for: 'caucasian', for: 'white',
}, },
{ {
name: 'work', name: 'work',

View File

@ -5666,7 +5666,7 @@ const sites = [
description: "You've just won the golden ticket to the best Chocolate BJs on the planet! We've sought far and wide to bring you the most beautiful black and ethnic pornstars. And they're in our members' area now! They can't wait to suck your white lollipop and lick the thick cream shooting from your big dick. Of course, no matter how sweet the booty or juicy the big tits, these brown foxes aren't all sugar and spice. In fact, when it comes to giving head, these big ass ebony babes know what they want: huge white cocks filling their throats!", description: "You've just won the golden ticket to the best Chocolate BJs on the planet! We've sought far and wide to bring you the most beautiful black and ethnic pornstars. And they're in our members' area now! They can't wait to suck your white lollipop and lick the thick cream shooting from your big dick. Of course, no matter how sweet the booty or juicy the big tits, these brown foxes aren't all sugar and spice. In fact, when it comes to giving head, these big ass ebony babes know what they want: huge white cocks filling their throats!",
url: 'http://www.chocolatebjs.com', url: 'http://www.chocolatebjs.com',
parent: 'pervcity', parent: 'pervcity',
tags: ['blowjob', 'ebony'], tags: ['blowjob', 'black'],
parameters: { parameters: {
siteId: 5, siteId: 5,
tourId: 6, tourId: 6,
@ -5724,6 +5724,13 @@ const sites = [
url: 'https://bcm.xxx', url: 'https://bcm.xxx',
parent: 'pimpxxx', parent: 'pimpxxx',
}, },
// PINKY XXX
{
name: 'Pinky XXX',
slug: 'pinkyxxx',
url: 'https://pinkyxxx.com',
independent: true,
},
// PORN CZ // PORN CZ
{ {
name: 'Czech Sex Casting', name: 'Czech Sex Casting',
@ -8113,7 +8120,7 @@ const sites = [
slug: 'myblackcoeds', slug: 'myblackcoeds',
url: 'https://teencoreclub.com/browsevideos/site/302/MyBlackCoeds', url: 'https://teencoreclub.com/browsevideos/site/302/MyBlackCoeds',
tags: [ tags: [
'ebony', 'black',
], ],
alias: [ alias: [
'mbc', 'mbc',
@ -9200,7 +9207,7 @@ const sites = [
description: 'AllBlackX.com features the hottest ebony pornstar beauties in hardcore black on black gonzo porn. From director Mason, watch 4k ultra HD videos inside', description: 'AllBlackX.com features the hottest ebony pornstar beauties in hardcore black on black gonzo porn. From director Mason, watch 4k ultra HD videos inside',
url: 'https://www.allblackx.com', url: 'https://www.allblackx.com',
parent: 'xempire', parent: 'xempire',
tags: ['ebony', 'bbc'], tags: ['black', 'bbc'],
}, },
{ {
slug: 'lesbianx', slug: 'lesbianx',

View File

@ -605,7 +605,7 @@ const tagPosters = [
['brunette', 0, 'Darcie Dolce for Playboy'], ['brunette', 0, 'Darcie Dolce for Playboy'],
['bondage', 0, 'Veronica Leal for Her Limit'], ['bondage', 0, 'Veronica Leal for Her Limit'],
['bukkake', 0, 'Jaye Summers in "Facialized 5" for HardX'], ['bukkake', 0, 'Jaye Summers in "Facialized 5" for HardX'],
['caucasian', 2, 'Kenzie Reeves for Bang'], ['white', 2, 'Kenzie Reeves for Bang'],
['creampie', 1, 'Eveline Dellai for Nubiles'], ['creampie', 1, 'Eveline Dellai for Nubiles'],
['cum-in-mouth', 1, 'Sarah Vandella in "Blow Bang Vandella" for HardX'], ['cum-in-mouth', 1, 'Sarah Vandella in "Blow Bang Vandella" for HardX'],
['cum-on-butt', 0, 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel'], ['cum-on-butt', 0, 'Jynx Maze in "Don\'t Make Me Beg 4" for Evil Angel'],
@ -623,7 +623,7 @@ const tagPosters = [
['dp', 3, 'Hime Marie in LegalPorno AA047'], ['dp', 3, 'Hime Marie in LegalPorno AA047'],
['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'], ['black', 2, 'Nia Nacci for Sweetheart Video'],
['facefucking', 5, 'Mia Moore B for Throated'], ['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', 7, 'Charley Atwell for iCandiGirls'], ['fake-boobs', 7, 'Charley Atwell for iCandiGirls'],
@ -722,8 +722,8 @@ const tagPhotos = [
['blowjob', 3, 'Rose Valie for Hands On Hardcore'], ['blowjob', 3, 'Rose Valie for Hands On Hardcore'],
['blowjob', 2, 'Luna Kitsuen in "Gag Reflex" for Evil Angel'], ['blowjob', 2, 'Luna Kitsuen in "Gag Reflex" for Evil Angel'],
// ['bukkake', 'poster', 'Mia Malkova in "Facialized 2" for HardX'], // ['bukkake', 'poster', 'Mia Malkova in "Facialized 2" for HardX'],
['caucasian', 0, 'Remy Lacroix for HardX'], ['white', 0, 'Remy Lacroix for HardX'],
['caucasian', 1, 'Sheena Shaw for Brazzers'], ['white', 1, 'Sheena Shaw for Brazzers'],
['creampie', 2, 'Natasha Lapiedra in "New and Ready" for 5K Porn'], ['creampie', 2, 'Natasha Lapiedra in "New and Ready" for 5K Porn'],
['creampie', 'poster', 'Alina Lopez in "Making Yourself Unforgettable" for Blacked'], ['creampie', 'poster', 'Alina Lopez in "Making Yourself Unforgettable" for Blacked'],
['cum-drunk', 0, 'Ashly Anderson in "Rough Love" for Hookup Hotshot'], ['cum-drunk', 0, 'Ashly Anderson in "Rough Love" for Hookup Hotshot'],
@ -791,7 +791,7 @@ const tagPhotos = [
['dvp', 0, 'Aaliyah Hadid in "Squirting From Double Penetration With Anal" for Bang Bros'], ['dvp', 0, 'Aaliyah Hadid in "Squirting From Double Penetration With Anal" for Bang Bros'],
['dv-tp', 1, 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"'], ['dv-tp', 1, 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"'],
['dv-tp', 0, 'Luna Rival in LegalPorno SZ1490'], ['dv-tp', 0, 'Luna Rival in LegalPorno SZ1490'],
['ebony', 1, 'Ana Foxxx in "DP Me 4" for HardX'], ['black', 1, 'Ana Foxxx in "DP Me 4" for HardX'],
['facial', 3, 'Paige Owens in "Oral Restraint" for Babes'], ['facial', 3, 'Paige Owens in "Oral Restraint" for Babes'],
['facial', 'poster', 'Jynx Maze'], ['facial', 'poster', 'Jynx Maze'],
['facial', 2, 'Ashly Anderson for Hookup Hotshot'], ['facial', 2, 'Ashly Anderson for Hookup Hotshot'],

112
src/scrapers/pinkyxxx.js Normal file
View File

@ -0,0 +1,112 @@
'use strict';
const qu = require('../utils/qu');
const http = require('../utils/http');
async function getTrailer(entryId, channel) {
const videoLinksRes = await http.post('https://pinkyxxx.com/wp-admin/admin-ajax.php', {
action: 'vidplay',
vid: entryId,
type: 'promo',
}, {
encodeJSON: false,
decodeJSON: true,
});
if (!videoLinksRes.ok || !videoLinksRes.body.size1) {
return null;
}
const scriptUrl = qu.extract(videoLinksRes.body.size1)?.query.url('script', 'src', { origin: channel.url });
const videoScriptRes = await http.get(scriptUrl);
if (!videoScriptRes.ok) {
return null;
}
const videoDataString = videoScriptRes.body.match(/"clip":({.*"})/)?.[1];
const videoData = videoDataString && JSON.parse(videoDataString);
const posterUrlString = videoScriptRes.body.match(/src="(.*poster.*?)"/)?.[1];
const posterUrlEl = videoScriptRes.document.createElement('span');
posterUrlEl.innerHTML = posterUrlString;
return {
trailer: videoData?.url || null,
poster: posterUrlEl.textContent || null,
};
}
function scrapeAll(scenes) {
return scenes.map((scene) => {
const release = {};
release.entryId = scene.ID;
release.url = scene.permalink;
release.title = scene.title;
release.description = scene.description;
release.date = qu.extractDate(scene.info?.post_date, 'YYYY-MM-DD HH:mm:ss') || qu.extractDate(scene.date, 'MMMM D, YYYY'); // eslint-disable-line camelcase
release.poster = scene.poster[0];
release.photos = Object.entries(scene).reduce((acc, [key, data]) => {
if (/thumb/.test(key)) {
return [...acc, data.url];
}
return acc;
}, []);
return release;
});
}
async function scrapeScene({ query }, channel) {
const release = {};
release.title = query.cnt('.title');
release.description = query.cnt('.description');
release.entryId = query.q('body', 'class').match(/postid-(\d+)/)?.[1];
const { poster, trailer } = await getTrailer(release.entryId, channel) || {};
release.poster = poster;
release.trailer = trailer;
return release;
}
async function fetchLatest(channel, page) {
const res = await http.post('https://pinkyxxx.com/wp-admin/admin-ajax.php', {
action: 'vls',
limit: 10,
offset: (page - 1) * 10,
}, {
encodeJSON: false,
decodeJSON: true,
});
if (res.ok) {
return scrapeAll(res.body.listings);
}
return res.status;
}
async function fetchScene(url, channel) {
const res = await qu.get(url);
if (res.ok) {
return scrapeScene(res.item, channel);
}
return res.status;
}
module.exports = {
fetchLatest,
fetchScene,
};

View File

@ -56,6 +56,7 @@ const pervcity = require('./pervcity');
const porncz = require('./porncz'); const porncz = require('./porncz');
const pornhub = require('./pornhub'); const pornhub = require('./pornhub');
const pascalssubsluts = require('./pascalssubsluts'); // reserved keyword const pascalssubsluts = require('./pascalssubsluts'); // reserved keyword
const pinkyxxx = require('./pinkyxxx');
const privateNetwork = require('./private'); // reserved keyword const privateNetwork = require('./private'); // reserved keyword
const puretaboo = require('./puretaboo'); const puretaboo = require('./puretaboo');
const realitykings = require('./realitykings'); const realitykings = require('./realitykings');
@ -146,6 +147,7 @@ const scrapers = {
perfectgonzo, perfectgonzo,
pervcity, pervcity,
pimpxxx: cherrypimps, pimpxxx: cherrypimps,
pinkyxxx,
porncz, porncz,
pornpros: whalemember, pornpros: whalemember,
private: privateNetwork, private: privateNetwork,