Added Killergram.

This commit is contained in:
ThePendulum 2020-07-09 04:31:27 +02:00
parent 3857eae158
commit a013d73400
14 changed files with 361 additions and 1 deletions

View File

@ -236,7 +236,7 @@ export default {
}
.item {
max-height: 18rem;
height: 18rem;
max-width: 100%;
box-shadow: 0 0 3px var(--shadow-weak);
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -241,6 +241,11 @@ const networks = [
url: 'https://www.kellymadison.com',
description: 'Home of Kelly Madison and Ryan Madison',
},
{
slug: 'killergram',
name: 'Killergram',
url: 'http://www.killergram.com',
},
{
slug: 'kink',
name: 'Kink',

View File

@ -2669,6 +2669,281 @@ const sites = [
description: 'Home of Kelly Madison and Ryan Madison',
parent: 'kellymadison',
},
// KILLERGRAM
{
name: 'Urban Perversions',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=hard-fi%20sex',
slug: 'urbanperversions',
alias: [
'hardfisex',
'hard-fi sex',
'hard fi sex',
],
description: 'Slighly twisted, totally kinky is what its all about. See our masked fuckers slam our fishnet clad sluts in every open wet orifice.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Anal Rehab',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=anal%20rehab',
slug: 'analrehab',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Sexy Club Babes',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=club%20babes',
slug: 'sexyclubbabes',
description: 'UK girls are renowned for having a "mad night out with the girls". A bit too much to drink, dancing followed by hardcore sex.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Bitch Funkers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=bitch%20funkers',
slug: 'bitchfunkers',
description: 'Welcome to the home of the Bitch Funkers. The domain of hardcore sluts that dish out a serious cunt hammering to hot bitches.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Girly Riders',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=girly%20riders',
slug: 'girlyriders',
description: 'The "Porno Brat Babes" cruise the streets on their low-rider cycles in search of hard cock & raw fucking action. Feed them.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'College Babes Exposed',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=college%20babes',
slug: 'collegebabesexposed',
description: 'A collection of the "Hottest UK Porn Babes" in tight ass clinging denim jeans. Super hot sexy babes who are students of "Cockology".',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Cum Into My Office',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=office%20antics',
slug: 'cumintomyoffice',
alias: [
'officeantics',
'office antics',
],
description: 'Witness the day to day events of a typical day at our offices. We open up the doors at Killergram Towers for horny hot pornstars.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Space Hoppers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=space%20hoppers',
slug: 'spacehoppers',
description: 'Porn School, Teen Nymphos ride their retro Hoppers & chomp on monster candy sticks, dressed in their best Schoolgirl outfits.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Booty Back Packers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=booty%20packers',
slug: 'bootybackpackers',
description: 'A selection of some of the finest fuck-slut booty that the UK has to offer. Your "Plump Assed Platoon of Pornstars" get fucked hard.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Pornostatic',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=pornostatic',
slug: 'pornostatic',
description: 'At Killergram-Pornostatic we aim to bring you the most diverse selection of girls, niches & websites in glorious HD hardcore.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Wife Slut Adventures',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=wife%20sluts',
slug: 'wifeslutadventures',
description: "From the supermarket to the gym, the daily school run to the shopping malls, these sex hungry MILF's are on the prowl for fat cock.",
hasLogo: false,
parent: 'killergram',
},
{
name: 'The Lady Pimp',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=the%20lady%20pimp',
slug: 'theladypimp',
description: "It's Hardcore Female Power Porn as our resident Porno Pimps try out a bevy of hopeful studs for their own pleasure.",
hasLogo: false,
parent: 'killergram',
},
{
name: 'Tattooed Fuck Sluts',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=tattooed%20sluts',
slug: 'tattooedfucksluts',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Brown Sugar Rush',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=brown%20sugar',
slug: 'brownsugarrush',
description: 'Killergram is the natural home of UK Hardcore "Woman of Colour" Ebony, Indian, Arabic are mixed with a plethora of ethnic.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Are You For Hire',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=ru%204%20hire',
slug: 'areyouforhire',
description: 'The adventures of our Killergram Cabbie, as he cruises the streets of London in search of babes that want a "hard ride" home for free.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Gloryhole Gaggers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=gloryhole%20girls',
slug: 'gloryholegaggers',
description: 'Swinger MILF sluts & Porn Star babes are literally gagging to visit the Killergram Glory Hole Venue & suck anonymous cocks.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'The Handy Man',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=the%20handy%20man',
slug: 'thehandyman',
description: "When a sexy MILF, teen slut or even a hot hard core Porn Star needs a job doing well, it's time to call in the horny Handy Man.",
hasLogo: false,
parent: 'killergram',
},
{
name: 'Lets Get Slippy',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=lets%20get%20slippy',
slug: 'letsgetslippy',
description: "The UK's finest Porn babes, soaped up and hard fucked as they experience some clean but totally filthy hardcore oiled up fun.",
hasLogo: false,
parent: 'killergram',
},
{
name: 'Rock Chicks',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=rock%20chicks',
slug: 'rockchicks',
description: 'Sex, Fucks and Rock n Roll are the order of the day as these groupie porn sluts get their fill of massive hard cocks & hardcore play.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Cum Party Sluts',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=cum%20party%20sluts',
slug: 'cumpartysluts',
description: "Hardcore British Reality Porn featuring the UK's best MILF's, Pornstars, Amateurs and Housewives, fucking everyday guys.",
hasLogo: false,
parent: 'killergram',
},
{
name: 'Baby Loves The Shaft',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=get%20shafted',
slug: 'babylovestheshaft',
alias: [
'getshafted',
'get shafted',
],
description: 'Mr Shaft is back to offer his monster black meat to a host of willing ladies that love to take it "The Dark Way". BBC loving whores.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'UK Street Walkers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=street%20walkers',
slug: 'ukstreetwalkers',
description: 'We travel to the inner cities of Britain, visiting seedy red light districts & back street brothels seeking "Street Hustlers".',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Cream My Cunt',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=cream%20my%20cunt',
slug: 'creammycunt',
description: 'A fiesta of "Creampie Cocktails blended with, full on, hardcore fuck scenes". Each and every models cunt is left overflowing.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Chain Smokers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=chain%20smokers',
slug: 'chainsmokers',
description: 'A hot smoking series of hot UK porn sluts being chained, smoked and hard fucked. Deep inhaling whores smoke seductively.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Voyeur Cam Sluts',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=voyeur%20cams',
slug: 'voyeurcamsluts',
description: 'Our perverted Landlord has set up a series of hidden cameras to spy on the day to day sexual encounters of his horny tenants.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Wishes Cum True',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=wishes%20cum%20true',
slug: 'wishescumtrue',
description: 'A cocktail of POV hardcore action and member participation in which our Porno Fairies are here to give you all you need.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Fetish Sex Clinic',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=fetish%20sex%20clinic',
slug: 'fetishsexclinic',
description: 'Fetish Sex Clinic tracks the adventures of our hot "Porno Rubber Clad Nurses" and their perverted patients in hardcore action.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Burlesque XXX',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=burlesque%20xxx',
slug: 'burlesquexxx',
description: 'Creatively shot, erotic slick hardcore action featuring the very best UK Pornstars. Blow Jobs, Rimming, Bareback Fucking, Facials.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'UK Soccer Babes',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=porn%20stars%20utd',
slug: 'uksoccerbabes',
description: 'The Killergram team of football nymphos that travel the length and breath of country in search of prime cock and hot ball play.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Nylon Cum Sluts',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=nylon%20cum%20sluts',
slug: 'nyloncumsluts',
description: 'Sexy sluts in sheer Pantyhose play out their Nylon fetish fantasies as they are fucked and creamed by hot horny hung studs.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'On A Dogging Mission',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=dogging%20missions',
slug: 'onadoggingmission',
description: 'Dogging is real people fucking and sucking in public locations. A craze that has swept the UK and spreading across the globe.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'UK Reality Swingers',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=kinky%20couples',
slug: 'ukrealityswingers',
description: 'Where real partners play out their bedroom routines on video for your pleasure. We visit the homes of swingers and real amateurs.',
hasLogo: false,
parent: 'killergram',
},
{
name: 'Killergram Cuts',
url: 'http://killergram.com/episodes.asp?page=episodes&ct=site&site=killergram%20cuts',
slug: 'killergramcuts',
hasLogo: false,
parent: 'killergram',
},
// KINK
{
slug: 'thirtyminutesoftorment',

View File

@ -0,0 +1,77 @@
'use strict';
const qu = require('../utils/qu');
const slugify = require('../utils/slugify');
function scrapeAll({ query }) {
const urls = query.urls('td > a:not([href*=joinnow])').map(pathname => `http://killergram.com/${encodeURI(pathname)}`);
const posters = query.imgs('td > a img');
const titles = query.all('.episodeheadertext', true);
const actors = query.all('.episodetextinfo:nth-child(3)').map(el => query.all(el, 'a', true));
const channels = query.all('.episodetextinfo:nth-child(2) a', true).map(channel => slugify(channel, ''));
if ([urls.length, posters.length, titles.length, actors.length, channels.length].every((value, index, array) => value === array[0])) { // make sure every set has the same number of items
const releases = urls.map((url, index) => ({
url,
entryId: new URL(url).searchParams.get('id'),
title: titles[index],
actors: actors[index],
channel: channels[index],
poster: posters[index],
}));
return releases;
}
return [];
}
function scrapeScene({ query, html }, url) {
const release = {};
release.entryId = new URL(url).searchParams.get('id');
release.date = query.date('.episodetext', 'DD MMMM YYYY', /\d{2} \w+ \d{4}/);
release.description = query.q('.episodetext tr:nth-child(5) td:nth-child(2)', true);
release.actors = query.all('.modelstarring a', true);
const duration = html.match(/(\d+) minutes/)?.[1];
if (duration) release.duration = Number(duration) * 60;
[release.poster, ...release.photos] = query.imgs('img[src*="/models"]');
return release;
}
function scrapeProfile({ query }, actorName) {
const profile = {};
profile.releases = scrapeAll({ query }).filter(release => release.actors.includes(actorName));
return profile;
}
async function fetchLatest(channel, page = 1) {
const res = await qu.get(`${channel.url}&p=${page}`, '#episodes > table');
return res.ok ? scrapeAll(res.item, channel) : res.status;
}
async function fetchScene(url, channel) {
const res = await qu.get(url, '#episodes > table');
return res.ok ? scrapeScene(res.item, url, channel) : res.status;
}
async function fetchProfile(actorName) {
const url = `http://killergram.com/episodes.asp?page=episodes&model=${encodeURI(actorName)}&ct=model`;
const res = await qu.get(url, '#episodes > table');
return res.ok ? scrapeProfile(res.item, actorName) : res.status;
}
module.exports = {
fetchLatest,
fetchScene,
fetchProfile,
};

View File

@ -28,6 +28,7 @@ const jayrock = require('./jayrock');
const jesseloadsmonsterfacials = require('./jesseloadsmonsterfacials');
const julesjordan = require('./julesjordan');
const kellymadison = require('./kellymadison');
const killergram = require('./killergram');
const kink = require('./kink');
const legalporno = require('./legalporno');
const men = require('./men');
@ -101,6 +102,7 @@ module.exports = {
jesseloadsmonsterfacials,
julesjordan,
kellymadison,
killergram,
kink,
legalporno,
men,
@ -177,6 +179,7 @@ module.exports = {
jamesdeen: fullpornnetwork,
julesjordan,
kellymadison,
killergram,
legalporno,
men,
metrohd,