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: [
'asian',
'ebony',
'black',
'latina',
'caucasian',
'white',
'natural-boobs',
'fake-boobs',
'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',
},
{
name: 'ebony',
slug: 'ebony',
name: 'black',
slug: 'black',
priority: 5,
group: 'ethnicity',
},
@ -967,8 +967,8 @@ const tags = [
slug: 'wet',
},
{
name: 'caucasian',
slug: 'caucasian',
name: 'white',
slug: 'white',
priority: 7,
group: 'ethnicity',
},
@ -1187,8 +1187,8 @@ const aliases = [
for: 'bisexual',
},
{
name: 'black',
for: 'ebony',
name: 'ebony',
for: 'black',
},
{
name: 'blonde hair',
@ -1824,8 +1824,8 @@ const aliases = [
for: 'corporal-punishment',
},
{
name: 'white',
for: 'caucasian',
name: 'caucasian',
for: 'white',
},
{
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!",
url: 'http://www.chocolatebjs.com',
parent: 'pervcity',
tags: ['blowjob', 'ebony'],
tags: ['blowjob', 'black'],
parameters: {
siteId: 5,
tourId: 6,
@ -5724,6 +5724,13 @@ const sites = [
url: 'https://bcm.xxx',
parent: 'pimpxxx',
},
// PINKY XXX
{
name: 'Pinky XXX',
slug: 'pinkyxxx',
url: 'https://pinkyxxx.com',
independent: true,
},
// PORN CZ
{
name: 'Czech Sex Casting',
@ -8113,7 +8120,7 @@ const sites = [
slug: 'myblackcoeds',
url: 'https://teencoreclub.com/browsevideos/site/302/MyBlackCoeds',
tags: [
'ebony',
'black',
],
alias: [
'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',
url: 'https://www.allblackx.com',
parent: 'xempire',
tags: ['ebony', 'bbc'],
tags: ['black', 'bbc'],
},
{
slug: 'lesbianx',

View File

@ -605,7 +605,7 @@ const tagPosters = [
['brunette', 0, 'Darcie Dolce for Playboy'],
['bondage', 0, 'Veronica Leal for Her Limit'],
['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'],
['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'],
@ -623,7 +623,7 @@ const tagPosters = [
['dp', 3, 'Hime Marie in LegalPorno AA047'],
['dvp', 'poster', 'Riley Reid in "Pizza That Ass" for Reid My Lips'],
['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'],
['facial', 0, 'Brooklyn Gray in "All About Ass 4" for Evil Angel'],
['fake-boobs', 7, 'Charley Atwell for iCandiGirls'],
@ -722,8 +722,8 @@ const tagPhotos = [
['blowjob', 3, 'Rose Valie for Hands On Hardcore'],
['blowjob', 2, 'Luna Kitsuen in "Gag Reflex" for Evil Angel'],
// ['bukkake', 'poster', 'Mia Malkova in "Facialized 2" for HardX'],
['caucasian', 0, 'Remy Lacroix for HardX'],
['caucasian', 1, 'Sheena Shaw for Brazzers'],
['white', 0, 'Remy Lacroix for HardX'],
['white', 1, 'Sheena Shaw for Brazzers'],
['creampie', 2, 'Natasha Lapiedra in "New and Ready" for 5K Porn'],
['creampie', 'poster', 'Alina Lopez in "Making Yourself Unforgettable" for Blacked'],
['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'],
['dv-tp', 1, 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"'],
['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', 'poster', 'Jynx Maze'],
['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 pornhub = require('./pornhub');
const pascalssubsluts = require('./pascalssubsluts'); // reserved keyword
const pinkyxxx = require('./pinkyxxx');
const privateNetwork = require('./private'); // reserved keyword
const puretaboo = require('./puretaboo');
const realitykings = require('./realitykings');
@ -146,6 +147,7 @@ const scrapers = {
perfectgonzo,
pervcity,
pimpxxx: cherrypimps,
pinkyxxx,
porncz,
pornpros: whalemember,
private: privateNetwork,