From d526e4daeab4e387b95950fd352d7516fc22c6e6 Mon Sep 17 00:00:00 2001 From: Niels Simenon Date: Mon, 8 Apr 2019 01:49:45 +0200 Subject: [PATCH] Added Reality Kings scraper. Improved site finder. --- README.md | 46 +++++ config/default.js | 16 +- package-lock.json | 21 ++- package.json | 1 + seeds/networks.js | 6 + seeds/sites.js | 329 +++++++++++++++++++++++++++++++++++ seeds/tags.js | 126 +++++++++++--- src/fetch-releases.js | 10 +- src/fetch-scene.js | 18 +- src/scrapers/21sextury.js | 10 +- src/scrapers/blowpass.js | 6 +- src/scrapers/index.js | 2 + src/scrapers/realitykings.js | 110 ++++++++++++ src/scrapers/template.js | 13 +- src/scrapers/xempire.js | 6 +- 15 files changed, 649 insertions(+), 71 deletions(-) create mode 100644 src/scrapers/realitykings.js diff --git a/README.md b/README.md index 7714deec..b2994757 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,52 @@ The latest releases from your favorite porn studios in one place. * Russian Teen Ass * Sex on the Beach * Tight and Teen +* **Reality Kings** + * 40 Inch Plus + * 8th Street Latinas + * Bad Tow Truck + * Big Naturals + * Big Tits Boss + * Bikini Crashers + * CFNM Secret + * Captain Stabbin + * Cum Fiesta + * Cum Girls + * Dangerous Dongs + * Euro Sex Parties + * Extreme Asses + * Extreme Naturals + * First Time Auditions + * Flower Tucci + * Girls of Naked + * HD Love + * Happy Tugs + * Hot Bush + * In the VIP + * Mike in Brazil + * Mike's Apartment + * Milf Hunter + * Milf Next Door + * Moms Bang Teens + * Moms Lick Teens + * Money Talks + * Monster Curves + * No Faces + * Pure 18 + * RK Prime + * Real Orgasms + * Round and Brown + * Saturday Night Latinas + * See My Wife + * Sneaky Sex + * Street BlowJobs + * Team Squirt + * Teens Love Huge Cocks + * Top Shelf Pussy + * Tranny Surprise + * VIP Crew + * We Live Together + * Wives in Pantyhose * **Vixen** * Blacked * Blacked Raw diff --git a/config/default.js b/config/default.js index db9bd328..c49d1f6b 100644 --- a/config/default.js +++ b/config/default.js @@ -2,17 +2,7 @@ module.exports = { include: [ - ['21sextury', [ - 'analteenangels', - 'assholefever', - 'clubsandy', - 'dpfanatics', - 'deepthroatfrenzy', - 'footsiebabes', - 'gapeland', - 'lezcuties', - 'pixandvideo', - ]], + '21sextury', 'blowpass', 'brazzers', 'julesjordan', @@ -57,11 +47,11 @@ module.exports = { }, { value: 'site', - width: 20, + width: 30, }, { value: 'title', - width: 100, + width: 80, }, { value: 'actors', diff --git a/package-lock.json b/package-lock.json index dc7cb1f3..e32f021c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1229,6 +1229,15 @@ "version": "2.4.2", "resolved": "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz", "integrity": "sha1-+t2DS5aDBz2hebPq5tnA0VBT9z4=" + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } } } }, @@ -3442,6 +3451,11 @@ "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==" }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" + }, "is-absolute": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-1.0.0.tgz", @@ -5676,10 +5690,11 @@ } }, "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-3.0.1.tgz", + "integrity": "sha512-yQyJ0u4pZsv9D4clxO69OEjLWYw+jbgspjTue4lTQZLfV0c5l1VmK2y1JK8E9ahdpltPOaAThPcp5nKPUgSnsg==", "requires": { + "ip-regex": "^2.1.0", "psl": "^1.1.28", "punycode": "^2.1.1" } diff --git a/package.json b/package.json index 0a0c76f5..e809224e 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,7 @@ "node-fetch": "^2.3.0", "opn": "^5.4.0", "sqlite3": "^4.0.6", + "tough-cookie": "^3.0.1", "tty-table": "^2.7.0", "yargs": "^13.2.2" } diff --git a/seeds/networks.js b/seeds/networks.js index 3ca3750b..39c47865 100644 --- a/seeds/networks.js +++ b/seeds/networks.js @@ -63,6 +63,12 @@ exports.seed = knex => Promise.resolve() url: 'https://www.private.com', description: 'Private is the best source for adult movies and videos. Featuring the most popular hardcore adult stars in hundreds of porn movies, Private.com delivers...', }, + { + id: 'realitykings', + name: 'Reality Kings', + url: 'https://www.realitykings.com', + description: 'Home of HD reality porn featuring the nicest tits and ass online! The hottest curvy girls in real amateur sex stories are only on REALITYkings.com', + }, { id: 'vixen', name: 'Vixen', diff --git a/seeds/sites.js b/seeds/sites.js index 4ea33e9a..2546885d 100644 --- a/seeds/sites.js +++ b/seeds/sites.js @@ -722,6 +722,8 @@ exports.seed = knex => Promise.resolve() description: 'Gorgeous Women Submit To Electricity, Are Zapped, Shocked & Prodded To Orgasm.', network_id: 'kink', }, + ])) + .then(() => knex('sites').insert([ // LEGALPORNO { id: 'legalporno', @@ -972,6 +974,333 @@ exports.seed = knex => Promise.resolve() url: 'https://www.private.com/site/private-stars', network_id: 'private', }, + ])) + .then(() => knex('sites').insert([ + // REALITY KINGS + { + id: 'momsbangteens', + name: 'Moms Bang Teens', + url: 'https://momsbangteens.com', + description: "Reality Kings presents the first website dedicated to hot moms who love to bang 18+ teens. Moms Bang Teens features the sexiest MILFs on the web, and these MILFs are all about fucking young guys on camera. If you remember lusting after one of your friend's hot moms back in grade school, then you know exactly what Moms Bang Teens is all about. Imagine if instead of just fantasizing about that sexy mother, you actually got to bang her. These are the same hot moms you see at your local supermarket and shopping at your neighborhood mall. Some of them are married and never get the attention they need. While others are just horny and sexy moms who never got tied down with a husband. Instead they like to go out and find hot young studs that know how to fuck them right. These are experienced and mature women who know what they want; young 18+ teens that can give them that rock hard cock.", + network_id: 'realitykings', + }, + { + id: 'teenslovehugecocks', + name: 'Teens Love Huge Cocks', + url: 'https://teenslovehugecocks.com', + description: "Teens Love Big Cocks is dedicated to providing you the hottest teens getting fucked by the biggest cocks! Every week Reality Kings introduces another teen to a big hot meat rod! When these girls see a big throbbing penis they can't resist shoving it in their hot teen mouths. These girl next door types are no slouches when it comes to oral sex! Watch them deepthroat & gag on a mouth full of cock before taking big hot loads all over their pretty faces. The fun doesn't stop there! These girls love getting their tight teen pussy & asses spread wide and pounded by massive dicks! These girls won't settle for less & there is no dick too large. Start downloading TeensLoveBigCock porn videos & HD quality pictures now and watch teen pussy get fucked like you've never seen before!", + network_id: 'realitykings', + }, + { + id: 'welivetogether', + name: 'We Live Together', + url: 'https://welivetogether.com', + description: "We are girls that love to eat pussy and We Live Together! Every week we go out on the streets, bars, parties, malls... wherever and we pick up the cutest lesbians and invite them to come over and party at our apartment. From our girl friends at college, to roommates, and friends of friends.. we're always looking for the hottest lesbian girls around! We Live Together has hundreds of lesbian videos for you to download right from Reality Kings... it's the sexiest lesbian porn anywhere guys and gals! :-) Come watch us eat pussy and work our dildo magic on gorgeous, sexy girls. We love to get together and get off in steamy hot threesome and foursome lesbian movies! We promise you're going to love our amazing collection of lesbian porn. Thanks for dropping in to the We Live Together Apartment, hope you enjoy your visit! Love xoxo Brittney, Taylor, Nicole & All the Girls", + network_id: 'realitykings', + }, + { + id: 'milfhunter', + name: 'Milf Hunter', + url: 'https://milfhunter.com', + description: "Reality Kings presents MILF Hunter the ORIGINAL reality porn site dedicated to MILFs and mature sex content. If you don't know what a MILF is, allow us to explain... we're talking about sex starved, smokin' hot moms that are in need of a little attention--a MILF, a Mother I'd Like to Fuck! We've all seen these moms at the mall, the beach, and around town. Watch every week as the Hunter captures another hottie on film and gives them what they've been craving... some dick! These moms are seriously hot MILFs and they appear in the most incredible high quality pics and movies! We have hundreds of mature porn videos available for you to download. Or if you're looking for photos we have thousands of high resolution MILF porn pics directly from the MILF Hunter! Reality Kings brings you the best mature sex scenes around so why not join the MILF Hunter hunt down mature moms across America...", + network_id: 'realitykings', + }, + { + id: 'rkprime', + name: 'RK Prime', + url: 'https://www.realitykings.com/tour/site/view/59/rk-prime/', + description: '', + network_id: 'realitykings', + }, + { + id: 'momslickteens', + name: 'Moms Lick Teens', + url: 'https://momslickteens.com', + description: 'Hot moms know how to fuck, especially when they have a lot of pent up energy. MomsLickTeens.com is where all the magic happens between lustful milf minxes and curious 18+ teen bombshells in HD porn videos. Mature horny women love to sample a fresh batch of pussy and ass whenever possible here at Reality Kings. They love teaching the carnal arts to eager younger women who crave a deeper understanding of the female body. Our bodacious mommies love exploring the anatomy of their fresh-faced lesbian lovers and engage in cunnilingus and anilingus within seconds. Naked women licking, sucking, scissoring, and toying their gaping pussy and assholes with a plethora of adult toys is absolutely riveting to watch. You’ll be aroused by RK girls of different ages rolling around together in sweaty sex scenes. Moms Lick Teens features limber tongues exploring the deepest recesses of female erogenous zones often eliciting projectile squirt orgasms. The phenomenon of female ejaculation occurs regularly in our premium erotica so get a load of it while blowing your own load to our buxom mommies today!', + network_id: 'realitykings', + }, + { + id: 'moneytalks', + name: 'Money Talks', + url: 'https://moneytalks.com', + description: "Money Talks... bullshit walks. We all know the saying, but at Reality Kings we like to prove it! Just watch us approach everyday people on the street and ask them what they will do for some real American Greenbacks! Check out smokin' hot amateurs preform in porn videos or watch crazy college kids preform insane stunts on film... all in exchange for cold hard cash. People will do anything when Money Talks! Watch as we offer cash in exchange for one, AMAZING blow job! From crazy Spring Breakers to the girl next door, we find some amazing sluts and see just what they'll do for the loot--girls that give up the booty, for the booty! Arrr! Reality Kings has every high quality Money Talks episode available for download. We're talking about some seriously hot videos here. You won't find this crazy porn content anywhere else! Remember, Money Talks... bullshit walks!", + network_id: 'realitykings', + }, + { + id: 'bignaturals', + name: 'Big Naturals', + url: 'https://bignaturals.com', + description: "If you think there is nothing like big natural breasts, Big Naturals welcomes you home. Reality Kings brings you nothing but the hottest amateur big tit women. We're talking about some seriously big boobs. Sexy women with big bouncy tits who love to get it on. These women don't hesitate to let their big natural tits get fucked and let those massive juggs bounce! Big Naturals has hundreds of high quality videos available for download. If into tits, this is the place to be. There's no plastic parts here, only big natural boobs! There's thousands of high resolution pics available to download as well. Check out any of our top rated scenes for the biggest, huge natural tits. Hooters, fun bags, juggs... whatever you want to call them Reality Kings and Big Naturals have the hottest big boobs you'll find anywhere. Sit back, relax, and watch the titties bounce... Reality Kings style!", + network_id: 'realitykings', + }, + { + id: 'monstercurves', + name: 'Monster Curves', + url: 'https://monstercurves.com', + description: "Forget about those toothpick size runway models, give us some ladies with curves-- Monster Curves! If you love your women round and juicy, ladies with some meat on their bones... then we have the content for you! We're talking about women with hips that don't quit. Incredibly round asses that will make your mouth water! Big booty girls with big round asses. Only people as obsessed as us could bring you this many pairs of perfects hips and asses! Download hundreds of movies and pics featuring gorgeous girls with amazing curves (we call them Monster Curves). Check out some of our free trailers below, these girls and their round butts and perfect hips are sure to wet your appetite! Every week, Reality Kings brings you nothing but the finest butts, the sexy round asses that jiggle when you grab 'em, the women with the Monster Curves!", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'roundandbrown', + name: 'Round and Brown', + url: 'https://roundandbrown.com', + description: "Chocolate lovers out there, Reality Kings presents to you... Round And Brown, the porn site that caters to horny dudes who have a mighty craving for fine \"sistah\" booties. The ladies featured in these ebony porn movies are SIZZLING HOT, like a newly melted chocolate fondue! We're talking about some damn fine black booties! If it's Round And Brown, it gets the special lube treatment, no exceptions! Think you can handle this collection of premium ebony ass? There's no skinny white girls here, only gorgeous black beauties with deliciously round booties, featured in the best hardcore ebony sex videos around! Reality Kings is the only one who can bring you this amazing collection of black girl porn. If you love big round asses, gorgeous black babes, and amazing tits we have the videos and pics you're looking for. Warning: This chocolate may melt in your hand and your mouth... but who cares, if it's Round And Brown!", + network_id: 'realitykings', + }, + { + id: 'pure18', + name: 'Pure 18', + url: 'https://pure18.com', + description: "There's a lot of stuff out there that claims to be \"pure\", from spring water to gold chains, who knows what's actually legit? Reality Kings presents Pure 18, legit, 100% verified 18 year old sex scenes--no bullshit, only incredible 18 year old girls! These hot girls are the real deal, barely legal, smokin' hot babes looking for some fun. Don't let their age fool you, these chicks know how to work a cock. Tight pussies and tight asses, the finest sex scenes around, that's what Pure 18 is all about! If you love watching amazing blow jobs, you're going to love this content. Download hundreds of high quality videos and pics featuring 100% verified 18 year old sex! These cuties are not shy about sex. Watch them take on monster cocks and love every minute of it. Pure 18, legit, verified, real 18 year old girls hungry for a cock meat sandwich!", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: '8thstreetlatinas', + name: '8th Street Latinas', + url: 'https://8thstreetlatinas.com', + description: "Scientists say that the sun is what makes the temperature rise south of the equator, but we think its the women! If you haven't seen the chicas (women) from 8th Street Latinas, you're in for a spicy treat. From the famous Calle 8 (8th Street) in Miami, Reality Kings brings you the some incredibly hot latinas! We're talking Cubans, Dominicans, Panamanians, and other sexy latinas from South and Central America. These babes aim to please with their tanned bodies and deliciously round asses. Damn, we can't get enough! 8th Street Latinas has some caliente (hot) content for you to download, featuring the hottest latina sex scenes around. These are not tanned white chicks, these are REAL, hot latinas who know how to get your blood pumping. If you think you can handle the heat, grab your pair of shorts and flip-flops and let's head to Miami... 8th Street Latinas has some incredible latina porn for you!", + network_id: 'realitykings', + }, + { + id: 'inthevip', + name: 'In the VIP', + url: 'https://inthevip.com', + description: "Ever wonder what happens In The VIP? Reality Kings takes you to the hottest night clubs in the country to show you exactly what goes on in the VIP room. When the club is packed, the music is pumpin', and the ladies are looking this HOT, you know it's going to be a damn good time! Grab a drink and step into the VIP room. Check out these gorgeous babes shaking their asses and flashing the camera. You will never see ladies like this in some whack ass bar, only in the most exclusive VIP rooms. As the party gets going, the clothes come off, and the panties drop! Watch some amazing free VIP porn movies, featuring these hotties having sex VIP style. We're talking about some down and dirty club sex featuring smokin' hot sluts. These chicks came for a good time and they've found it! Join the exclusive party In The VIP.", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'cumfiesta', + name: 'Cum Fiesta', + url: 'https://cumfiesta.com', + description: "\"Is this the fiesta ? \" Of course, welcome to the Cum Fiesta! Every week Reality Kings welcomes another hottie to the party... the dick sucking party! :-) When the girl (or girls!) arrive they show us the super secret password (watch a trailer to find out) and the party begins! As their clothes come off, these babes begin to show off their amazing oral skills. Amateur chicks taking the biggest facial cumshots, that's what Cum Fiesta is about! There are no pansy blow jobs here, these chicks give the best head around, and take huge cum shots to their face at the same time. Download hundreds of high quality videos and pics of semen swallowing hotties. Join the party that features amateurs, newbies, and even the girl next door! These babes love to suck cock and take incredible cum shots you'll find no where else! This is no siesta folks, it's a Cum Fiesta!", + network_id: 'realitykings', + }, + { + id: 'badtowtruck', + name: 'Bad Tow Truck', + url: 'https://www.realitykings.com/tour/site/view/58/bad-tow-truck/', + description: 'Driving a tow truck is hard work. Especially when clients have a tough time paying! At BadTowTruck.com we alleviate that problem for sexy female damsels in distress by offering them different “payment” options. When big tit babes need a boost but are tight on cash, our drivers are more than happy to boost their tight asses up and give them a deep dicking. The chance to unleash a creamy internal cumshot should not be missed here at Reality Kings! Enjoy HD porn videos full of stranded sirens who are all too happy to get naked and oblige their rescuer with a gagging BJ. Anal riding is not far behind as our buxom RK divas love to get their bumpers shined. Bad Tow Truck is home to monster cocks getting gobbled up by very appreciative clients whose cars have broken down. They love swallowing every drop of jizz in the front or back seat of the tow truck. Anything goes here as our tantalizing teasers can contort their agile bodies into any number of sexual positions in tight spaces. They require maximal torque and horsepower in their erotic escapades so watch them get out of a jam with the help of a helpful towing guy, and then get jammed by him!', + network_id: 'realitykings', + }, + { + id: 'cfnmsecret', + name: 'CFNM Secret', + url: 'https://cfnmsecret.com', + description: "Shhh, keep your voice down! At Reality Kings we have a secret to share, the CFNM Secret! What's this secret all about? Clothed Females and Nude Males (CFNM)! Beautiful women dressed to impress and an unsuspecting male who is about to discover the secret for himself! These voyeurs are interested in every inch of the male body, touching and grabbing, they won't stop until they've had enough. Who wouldn't mind being these ladies play things? Gorgeous babes teasing and embarrassing men for their own fun and pleasure. Vulnerable guys being inspected and scrutinized in amazing high quality voyeur sex scenes. From CFNM handjobs to CFNM party scenes Reality Kings offers the hottest women enjoying the male body like never before. Browse our free CFNM videos below to download high quality pics and trailers. You're going to tell your friends about this secret, the CFNM Secret!", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'firsttimeauditions', + name: 'First Time Auditions', + url: 'https://www.realitykings.com/tour/site/view/22/first-time-auditions/', + description: "Forget about the next big music idol, we're looking for the next big porn star! Reality Kings presents First Time Auditions, featuring the hottest amateur chicks, searching for fame and fortune. These sluts will do anything to break into the business, from blowjobs to amateur sex scenes, these are their first porn auditions caught on film. Do you think they have what it takes? Download hundreds of amateur porn movies and pics, and you be the judge. First Time Auditions places ads in local and college newspapers seeking the hottest models around. When these babes arrive, we are never disappointed. They show off their perfect bodies and their many, amazing talents! These are the hottest amateur auditions around. Trying to get their careers started, these girls give the porn auditions of a lifetime! If you're ready to be the judge, to put these girls to the test, watch them on their First Time Auditions.", + network_id: 'realitykings', + }, + { + id: 'mikesapartment', + name: "Mike's Apartment", + url: 'https://mikesapartment.com', + description: "There's a room for rent in Mikes Apartment and Mike has found another hot chick to fill the vacancy! Join Mike on his search for roommates to help pay the bills. If these hot euro babes don't have the money, that's alright, Mike offers them the room in exchange for a few hours of masturbation and fun! And if the girl is traveling with a companion, thats not a problem... Mike just creates another steamy euro sex film for his \"private\" collection. Seriously, these babes are Europe's finest and Mike is your connoisseur of European booty! From their tight bodies, to their thick accents, these ladies know how to please and excite. Reality Kings offers hundreds of our incredible european porn movies and pics for you to download, and you don't have to travel to Moscow to get them. If you're looking for original, hot, European porn content, welcome to your new home: Mikes Apartment.", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'captainstabbin', + name: 'Captain Stabbin', + url: 'https://captainstabbin.com', + description: "Hop aboard the S.S. Stabbin and join Captain Stabbin on his trip to analize the seven seas! What's better than a girl with a hot pussy? A girl with a hot pussy getting poked in the ass! Reality Kings invites you to the worlds greatest anal sex adventure. These babes don't need a boarding pass to climb aboard this ship, only a hot body and a gorgeous ass. Watch as the Captain sets course for the anal islands in search of the best anal sex scenes around! Download hundreds of incredible anal sex movies and pics in stunning high quality formats. Captain Stabbin brings you the very best booty content, from her first anal sex scene, to amazing boat sex scenes at sea, every episode is sure to please! These girls are ready for a stern spanking (pun intended)! Raise the main sail, set course, and join Captain Stabbin on his anal adventure! Arrr!", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'eurosexparties', + name: 'Euro Sex Parties', + url: 'https://eurosexparties.com', + description: "Pack your bags folks, we're headed to Europe! It's time to join two best friends as they travel across Europe and throw some amazing Euro Sex Parties. Forget about boring 1on1 sex scenes. Get ready for hardcore threesomes, foursomes, and fivesomes! Hot European porn directly from the source, just the way we like it. Euro babes with tight bodies taking on multiple cocks... what could be better? How about watching them eat pussy as well! Now that's a group sex party we'd love to attend. From hardcore group sex to hardcore gangbangs, this is the hottest content anywhere. Euro Sex Parties offers hundreds of European porn videos and pics to download in stunning high quality formats. Don't pack your bags yet, Reality Kings has tons of free movies and pics for you to download right here! Join us on our European vacation, and we'll throw a few Euro Sex Parties along the way.", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'bigtitsboss', + name: 'Big Tits Boss', + url: 'https://bigtitsboss.com', + description: "Reality Kings presents Big Tits Boss! Have you been checking out that smokin' hot female executive around the office? Damn she's fine! She wears those short skirts and tight tops that make her huge tits pop out! Time to stop slackin' off fellas, because these ladies have been watching you closely. We're talking about the sexy women with the big tits at work. CEOs, Lawyers, CIOs, CFOs, these babes don't take any bullshit and they'll gladly use you like a toy whenever they please! Big Tits Boss has amazing high quality videos and pics available for download, featuring some very powerful women with awesome big natural tits. You won't mind being called into the office for a little discipline this time around! It's all business when these hotties are in the office... so fill out your TPS reports and be on your best behavior if you're looking for the promotion from the Big Tits Boss!", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'teamsquirt', + name: 'Team Squirt', + url: 'https://www.realitykings.com/tour/site/view/48/team-squirt/', + description: "There's no denying it, at Reality Kings we love all kinds of pussy! Ask us what we really love however, and you'll get one answer: hot wet pussy! Team Squirt invites you to strap on your snorkel and fins, because we're going diving in some of the wettest pussy around! This is NOT pee ladies and gentlemen, this is real female ejaculation. Watch these beautiful ladies experience pleasure beyond belief as they try to control their squirting pussy on camera. Masturbation, fucking, whatever it takes, these babes will do anything for a squirting orgasm! Team Squirt has tons of high quality videos of girls squirting available for you to download right now. Be prepared, this is some serious female squirting content! From the girl, to the camera... everything is drenched when these super soakers take aim. These babes all pack a loaded, squirting pussy, and they know exactly how to use it! Grab your eye protection and join the team... Team Squirt.", + network_id: 'realitykings', + }, + { + id: 'milfnextdoor', + name: 'Milf Next Door', + url: 'https://www.realitykings.com/tour/site/view/36/milf-next-door/', + description: "We all love them, from the sexy mom at the grocery store, to the mature hottie down the block... we're talking about the MILF Next Door! There is nothing that these hot MILFs need more than a good pounding. If you don't know what a MILF is, allow us to explain... a Mother I'd Like to Fuck, a MILF! Watch as these sex starved sluts and their girlfriends search for a lucky dude to satisfy their craving for cock. MILF Next Door offers lesbian threesomes, amazing foursomes, and more mature sex movies featuring the hottest mature women! Start downloading some of this incredible content right now from our free pics and videos below. Every episode features another stunningly hot MILF finally getting the attention she deserves. If you love everyday mom's and can't wait to see these ladies get off, join Reality Kings and the MILF Next Door.", + network_id: 'realitykings', + }, + { + id: 'hotbush', + name: 'Hot Bush', + url: 'https://www.realitykings.com/tour/site/view/31/hot-bush/', + description: 'Forget bald vaginas, at Reality Kings we love a Hot Bush! Women with some grass on the field. These hairy beavers belong to some of the hottest women around. From brunette babes to red heads, every episode features a stunning natural beauty being worshiped for her beautiful bush! Browse some of our free hairy pussy videos below, and see for yourself if the curtains match the drapes. From the landing strip to the Bermuda triangle, these magnificent muff mounds are sure to please! Natural unshaved pussy movies and pics, thats what Hot Bush is all about. Grab your snorkel and get ready for some serious muff diving! Join the Reality Kings crew for some *very* Hot Bush.', + network_id: 'realitykings', + }, + { + id: 'flowertucci', + name: 'Flower Tucci', + url: 'https://www.realitykings.com/tour/site/view/24/flower-tucci/', + description: "Reality Kings presents Flower Tucci, and this is what she has to say: \"My name is Flower, and I live, eat, breathe, sleep, and worship SEX! You have never met a girl like me! My ass is for worshiping. I can squirt over and over again when my pussy cums. I search out the biggest cocks and take them in my mouth, pussy, and ass! I milk those cocks until my pussy squirts everywhere. This site is dedicated to all my fantasies. Watch me search for the ultimate orgasm.\" Damn folks! I don't know about you, but this babe sounds perfect. Squirting pussy, amazing ass, gorgeous tits... the full package! If you're like us, you can't wait another moment to download these amazing videos of Flower Tucci squirting. Reality Kings is the one and only home to Flower Tucci pics and Flower Tucci movies--this content is absolutely incredible! Join us, Flower, and her friends in search of the ultimate orgasm.", + network_id: 'realitykings', + }, + { + id: 'streetblowjobs', + name: 'Street BlowJobs', + url: 'https://www.realitykings.com/tour/site/view/47/street-blowjobs/', + description: "Street Blowjobs is one man's hunt for down on their luck ladies. Ladies who will blow your creamy wad, while they win a nice greedy wad of cash for their outstanding efforts. Horny honeys captured on hidden spy camera, giving amazing blowjobs for some good ol' American greenbacks. Can you imagine any of these smokin' hot babes giving blowjobs to you for just a little bit of moolah? Well we've got the content for you! Street Blowjobs has hundreds of hot blowjobs for you to download in high quality movies and pics. Watch these hotties use their magnificent dick sucking lips to get exactly what they want--your cock and your money! Reality Kings brings you a new episode every week, full of the best blowjobs and public blowjobs around. They say money can't buy happiness, but we beg to differ... money can chose your type of pleasure at Street Blowjobs.", + network_id: 'realitykings', + }, + { + id: 'hdlove', + name: 'HD Love', + url: 'https://hdlove.com', + description: 'Looking for incredibly hot porn videos in HD? Reality Kings showcases it all in hardcore erotica here at HDLove.com. Our premium adult content will satisfy your deepest carnal desires in stunning high-definition sex scenes. Feast your eyes on bodacious naked babes who love nothing more than to fuck on camera for you. Our hi-def movies capture every inch of their voluptuous bodies in vivid detail. Perfect round boobs and perky nipples are just the start. These jezebels proudly display their killer asses and dripping wet pussies before ravaging huge cocks like their lives depended on it. Whether you’re in the mood for horny 18+ teen nymphos or seasoned mature women the raunchiest scenes will keep you cumming back to HD Love. Our eager to please divas love to disrobe and spread as much love around as they can offering up deepthroat gagging blowjobs to anyone daring enough. They yearn for deep anal penetrations and are always up for a sweaty orgy so witness it all in crystal clear resolution. Catch every microscopic detail and blow your load repeatedly with the best that RK has in store!', + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'happytugs', + name: 'Happy Tugs', + url: 'https://happytugs.com', + description: "Come on dudes, who doesn't like a happy ending? We've all seen those hole in the wall Asian massage parlors! Finally there is a site that celebrates the hand job. Asian beauties rubbing massage oil all over, what could be better? These babes know how to work out the kinks, seriously amazing rub 'n tug jobs. Happy Tugs captures hidden camera footage from inside one of the country's best sexual massage parlors. The dudes come in looking for a little rub down and, for a few dollars more, get a full servicing. It doesn't get any better than this, hand jobs and hot Asian babes. Check out our amazing happy ending videos, with babes rubbing their oil soaked breasts all over their favorite customers. Strip down, jump on the massage table and get your wallet out, Happy Tugs will ensure you get a very happy ending!", + network_id: 'realitykings', + }, + { + id: '40inchplus', + name: '40 Inch Plus', + url: 'https://www.realitykings.com/tour/site/view/4/40-inch-plus/', + description: "We have three words for you: deliciously round asses. Are you searching for ladies of the thicker variety? Beautiful women with hips measuring over 40 Inch Plus? Reality Kings presents the finest collection of booty around! Hot babes that love to have their big asses pinched and smacked. Grab 'em, squeeze 'em, bite 'em, these girls love to have their round asses played with. 40 Inch Plus is a tribute to ladies with a shape, there's no skinny chicks here! All of these women have a perfect ass and their tits are not too bad either! Download hundreds of movies and pics featuring women with big round asses. Check out our trailers and pics below to get a free sample of this incredible content. If you're looking for beautiful women with nice round asses look no further! Reality Kings and 40 Inch Plus are your source for gorgeous women with big asses.", + network_id: 'realitykings', + }, + { + id: 'extremeasses', + name: 'Extreme Asses', + url: 'https://www.realitykings.com/tour/site/view/20/extreme-asses/', + description: "Extreme Asses brings you a slew of big ass babes exclusively from Reality Kings. We're talking serious highlights from featured RK models like Jayden James big ass pictures and even some Jenny Hendrix ass sex videos. These sexy babes have nothing but big bouncy tits and porn ass that is perfect whether being viewed in doggy style action or riding cock in big ass videos. Watch tons of free ass porn trailers to get a taste of the kind of porn ass and ass sex that awaits you inside the Extreme Asses website. No matter what you like whether it be Latina, MILF, college, blond, teen or ebony big ass, we've got all the best extreme asses you can handle. This is big ass heaven, so be sure to check out this collection of big ass porn and ass sex gathered from Reality Kings best for your viewing pleasure.", + network_id: 'realitykings', + }, + { + id: 'trannysurprise', + name: 'Tranny Surprise', + url: 'https://trannysurprise.com', + description: 'If you’re in the mood for graphic tranny porn, look no further than TrannySurprise.com. A sexy shemale is a thing of beauty, often possessing a voracious appetite for sex. Reality Kings is home to some of the most incredible transsexual pornstars on the net. Watch them stroke their huge dicks and massage their voluminous ball sacks in our full-length HD videos. All these goddesses want to do is suck dick until it erupts in their wide open mouths. Cum swallowing is their specialty so enjoy our scenes full of creamy jizz loads overflowing onto their giant tits and firm stomachs. These nude RK shemales live to get rimjobs before getting drilled by gigantic dicks. Messy creampies are usually how their nights end so witness the torrid fuck marathons leading up to juicy orgasms. Tranny Surprise features sensual ladyboys that know just how to please anyone looking to take a walk on the wild side. Premium porno is what you deserve so eat it all up with our luscious, busty trannies. Long legs, tight asses, toned physiques, and a healthy dose of raw animal passion is what our “chicks with dicks” deliver in every one of our erotic films.', + network_id: 'realitykings', + }, + { + id: 'dangerousdongs', + name: 'Dangerous Dongs', + url: 'https://www.realitykings.com/tour/site/view/16/dangerous-dongs/', + description: "Reality Kings presents the Dangerous Dongs porn site, which bring you highlights from the featured huge cock and big dick porn on the entire network. If you enjoy watching sexy girls having fat cock stuffed deep into their tight pussies while they moan in pleasure, Dangerous Dongs has thousands of high resolution big dick porn pics and videos waiting for you inside. See tons of hot Latina, MILF, college, blond, teen and ebony babes taking big cock balls deep. You'll be able to download tons of big cock videos with hardcore sex scenes where cute girls with big tits and sexy, round asses take fat cock from every angle including doggy style and reverse cowgirl. So, for true fans of the big dick porn genre, look no further, we've gathered the best huge cock videos Reality Kings has to offer on the internet.", + network_id: 'realitykings', + }, + { + id: 'realorgasms', + name: 'Real Orgasms', + url: 'https://www.realitykings.com/tour/site/view/43/real-orgasms/', + description: "Real Orgasms features all kinds of sexy women playing with their pussies and stimulating their clits with sex toys and big dildos until they have real orgasms. This Reality Kings network site has collected tons of real orgasm videos and masturbation videos and concentrated them down to only the best real female orgasms that you will ever witness on the net. Whether you're really into Latinas, MILFs, college babes, blondes, teens or ebony babes, Real Orgasms has every kind of the most beautiful women masturbating. Watch as they play with themselves using sex toys and dildos while they moan, shake and their pussies convulse, as they have real orgasm on video for your pleasure. By far, this is the best collection of real orgasm porn ever put together on the net. Thanks to Reality Kings, Real Orgasms only delivers 100% real female orgasms and masturbation videos.", + network_id: 'realitykings', + }, + { + id: 'topshelfpussy', + name: 'Top Shelf Pussy', + url: 'https://www.realitykings.com/tour/site/view/49/top-shelf-pussy/', + description: 'Top Shelf Pussy features nothing but the best pussy on the net. If pussy is like Johnny Walker, consider Top Shelf Pussy the Blue Label of the bunch. Whether you like shaved pussy, teen pussy, hairy pussy, wet pussy, mature pussy, black pussy or fat pussy, Top Shelf Pussy has got the hottest models and the best pussy videos on the net. Watch tons of free pussy trailers and see as these gorgeous girls play with their pussies using sex toys and dildos. Then see them take a deep stroking to their wet pussy while they moan, shake and their pussies convulse in some amazing pussy porn. No doubt, Top Shelf Pussy has got tons of pictures of sexy ladies spread eagle and more pussy videos than you could ever possibly watch. If you are a fan of the pussy porn genre, then Top Shelf Pussy is the site for you.', + network_id: 'realitykings', + }, + { + id: 'vipcrew', + name: 'VIP Crew', + url: 'https://www.realitykings.com/tour/site/view/51/vip-crew/', + description: "Party animals rejoice! The VIP Crew is your guide to the hottest and wildest VIP parties in the world! We're not talking about ordinary house parties here, we're talking about the biggest, most badass sex parties around. When you combine loads of fun, some fine looking women, and a few lucky dudes you have the recipe for one amazing fucking party. Best of all, you're invited! From huge orgy sex parties to private sex parties, the VIP Crew brings in the hottest women--all ready to bare their VIP pussies for you. Babes that aren't afraid of a little pole dancing, foam dancing, or strip tease! These girls will do anything to join these wild sex parties and have a good time. Reality Kings has hundreds of high quality videos and pics available for you to download. So what the hell are you waiting for? Join the VIP Crew and get your freak on!", + network_id: 'realitykings', + }, + { + id: 'cumgirls', + name: 'Cum Girls', + url: 'https://www.realitykings.com/tour/site/view/14/cum-girls/', + description: "Reality Kings presents the Cum Girls porn site, which is dedicated solely to XXX cum shots and cum videos. If you like seeing hot girls with cum in their mouth, or face cum pictures, Cum Girls has thousands of high resolution cum porn pics and videos waiting for your viewing pleasure. There are smoking hot Latina, MILF, college, blond, teen and ebony babes with cum shots not only on their face, but also cum ass and cum tits pictures too. You'll be able to download tons of cum porn videos with hardcore sex scenes that all end with sticky and gooey cum in the mouth, the face, boobs, pussy or ass. Cum Girls has got cum porn and cum videos for true fans of the genre, and they all come straight to you from Reality Kings, so you know you're getting nothing less than the best on the internet.", + network_id: 'realitykings', + }, + { + id: 'extremenaturals', + name: 'Extreme Naturals', + url: 'https://www.realitykings.com/tour/site/view/21/extreme-naturals/', + description: "There are big natural breasts, then there are Extreme Naturals. On this site, we say, \"Go big or go home!\" That's why we only deliver massive naturals straight from the best Reality Kings has to offer. Extreme Naturals has painstakingly combed the RK network for the best giant naturals models and the hottest big naturals videos with the most hardcore XXX. These sexy babes have giant naturals that bounce while they ride cock and while they get stroked from behind doggy style in their perfect porn asses. For true fans of huge natural breasts, be sure to watch tons of free big naturals videos exclusively available as Extreme Naturals trailers on the website. Whether you like your giant naturals to be on Latinas, MILFs, college babes, blondes, teens or ebony babes, Extreme Naturals has the best collection of massive naturals straight from the vaults of Reality Kings.", + network_id: 'realitykings', + }, + { + id: 'saturdaynightlatinas', + name: 'Saturday Night Latinas', + url: 'https://www.realitykings.com/tour/site/view/45/saturday-night-latinas/', + description: "What's better than a Saturday Night out partying? Taking home a beautiful chick at the end of the night to fuck and have your way with! Reality Kings presents Saturday Night Latinas, gorgeous babes from the steamy night clubs and streets of Brazil. These hotties may have left the club, but the real party is about to begin! Real latina girls sucking and fucking after a night of partying! From deliciously round asses to amazing tan lines, these Brazilian bombshells are sure to please. Browse our videos below to download free latina porn movies and pictures. We have hundreds of latina sex scenes available for you to download. Grab your bags and get ready to head to Brazil, Reality Kings invites you to take home a Saturday Night Latina of your very own. Hot latina babes who love to party, join us today for a steamy Saturday Night out!", + network_id: 'realitykings', + }, + { + id: 'nofaces', + name: 'No Faces', + url: 'https://www.realitykings.com/tour/site/view/40/no-faces/', + description: 'Isn’t it arousing to watch porn with a little mystery thrown in? That’s what Nofaces.com is about. The scrumptious porn stars at Reality Kings like to keep you guessing sometimes, so enjoy a wide array of HD porn videos where the faces of our horny minxes are not shown. A little sensual secrecy never hurt anyone so have some fun trying to figure out which titillating temptress is getting reamed in our torrid sex clips. Are her ample breast, perfect round ass, and wet pussy enough of a giveaway? What about her tattoos, piercings, or birth marks? Play the role of an X-rated detective and enjoy an endless sea of hardcore erotica with 18+ teen foxes and mature naked temptresses in graphic films depicting a covert cum sucker gobbling up monster cocks with glee. Our enigmatic nymphos relish in getting fucked in multiple holes simultaneously knowing that their identity is not revealed on camera. No Faces respects an RK girl’s desire to remain anonymous and only show more arousing parts of her luscious body.', + network_id: 'realitykings', + }, + { + id: 'wivesinpantyhose', + name: 'Wives in Pantyhose', + url: 'https://www.realitykings.com/tour/site/view/52/wives-in-pantyhose/', + description: 'Wives in Pantyhose features all kinds of real wives in sexy lingerie fingering their pussies with sex toys while they squeeze their big mature tits and moan. This Reality Kings network site has collected tons of pantyhose pics of hot wives and presented them to you for your viewing pleasure. No matter whether you prefer Latinas, MILFs, redheads, blondes or ebony babes, Wives in Pantyhose has all the sexiest nylon wives masturbating. There are even pantyhose lesbians playing with each other using dildos while they orgasm in smoking hot pantyhose videos. Wives in Pantyhose is easily one the best collection of real wives engaging in pantyhose porn ever put together on the net. So if you have a housewife pantyhose fetish, the the website Wives in Pantyhose is sure to deliver for you all the best models and porn the Reality Kings network has to offer.', + network_id: 'realitykings', + }, + { + id: 'bikinicrashers', + name: 'Bikini Crashers', + url: 'https://www.realitykings.com/tour/site/view/8/bikini-crashers/', + description: "What's better than a babe in a scantily clad bikini? A party full of babes in scantily clad bikinis of course! Welcome to the Bikini Crashers! Reality Kings invites you to join our party with the hottest swimsuit models and bikini babes anywhere. We're talking about smokin' hot beauties throwing a naked pool party. Could it get any better than this? From perfectly round asses to amazing tan lines, these girls know how to party. We're not talking about your average swimsuit model either, these chicks are wild, crazy, and ready to get it on. Every party is loaded with 1on1, girl on girl, and group sex scenes. Gorgeous swimsuit girls getting it on by the pool, the beach, or anywhere they can show off their amazing bikinis! So grab a cold one, your shades, and kick back... you're invited to the Bikini Crashers party!", + network_id: 'realitykings', + }, + { + id: 'girlsofnaked', + name: 'Girls of Naked', + url: 'https://www.realitykings.com/tour/site/view/27/girls-of-naked/', + description: 'Nothing is hotter than voluptuous minxes who love getting naked. Girlsofnaked.com is home to a bevy of bodacious beauties who are all about showing as much skin to whomever is willing to satisfy their sexual desires. Our 18+ pornstars are daring and always curious for new carnal adventures in HD porn videos. Reality Kings has compiled an incredible assortment of erotica with big boob naughty nymphos. Watch them squeeze their perky nipples before rubbing their ticklish clits in steamy scenes. Our deviant divas need their juicy pussies stuffed 24/7 by the biggest cocks in the adult biz and will stop at nothing to devour as much man meat as they can fit into every hungry orifice. Girls of Naked celebrate nudity and hardcore sex in all its glory. Fetishes, orgies, bukkake, anal creampies and much more are their favorite pastimes. RK has full-length premium porno movies bursting with our luscious babes bursting out of their clothes just for you!', + network_id: 'realitykings', + }, + { + id: 'mikeinbrazil', + name: 'Mike in Brazil', + url: 'https://mikeinbrazil.com', + description: "Are you ready for the never ending booty vacation? Join Mike In Brazil as he explores the wild, the exotic, and the gorgeous women of South America! If you have never been to Brazil, don't worry... Mike will give you a crash course on the most amazing ASSet of their native women. We're talking about deliciously tanned, round, thong clad Brazilian ass! These booties will not disappoint. Mike exports nothing but the finest, Grade A, Brazilian porn directly to your computer screen. Check out the hottest Brazilian ass around, wearing nothing but bikinis and thongs that are sure to get your blood pumping! These hotties spend hours working on their amazing tans to show off their bodies... look at those incredible tan lines! Mike In Brazil features some amazing hardcore sex, from anal to Brazilian facials, we're sure you're going to be planning a trip to Brazil soon. What are you waiting for? Join the never ending booty vacation with Mike In Brazil!", + network_id: 'realitykings', + parameters: JSON.stringify({ altLayout: true }), + }, + { + id: 'seemywife', + name: 'See My Wife', + url: 'https://sneakysex.com', + description: "Have you been spying on that hot couple next door? See My Wife invites you to view the private porn collection of horny amateurs everywhere! We're talking about 100% user submitted movies and pictures. Real women appearing in the hottest wife sex scenes around, that is what See My Wife is about. Our users have a chance to make 0 for pics and 00 for videos when they submit their homemade content. If you've ever said \"I wish I could bang my wife on film and get paid for it,\" look no further! Reality Kings considers every submission when we post new episodes. Check out some of our free pics and trailers below, this is one amazing collection of girlfriend and wife sex scenes. Every week we post a new episode crammed with four incredible babes showing off in front of the camera. No need to spy on the couple next door when you come See My Wife!", + network_id: 'realitykings', + }, + { + id: 'sneakysex', + name: 'Sneaky Sex', + url: 'https://www.realitykings.com/tour/site/view/61/sneaky-sex/', + network_id: 'realitykings', + }, // VIXEN { id: 'vixen', diff --git a/seeds/tags.js b/seeds/tags.js index 6fe50717..02564b4b 100644 --- a/seeds/tags.js +++ b/seeds/tags.js @@ -5,6 +5,34 @@ exports.seed = knex => Promise.resolve() .then(() => knex('tags').del()) .then(() => knex('tags_groups').del()) .then(() => knex('tags_groups').insert([ + { + group: 'age', + name: 'Age', + }, + { + group: 'body', + name: 'Body', + }, + { + group: 'clothing', + name: 'Clothing', + }, + { + group: 'ethnicity', + name: 'Ethnicity', + }, + { + group: 'group', + name: 'Group sex', + }, + { + group: 'hair', + name: 'Hair', + }, + { + group: 'location', + name: 'Location', + }, { group: 'penetration', name: 'Penetration', @@ -14,32 +42,8 @@ exports.seed = knex => Promise.resolve() name: 'Position', }, { - group: 'group', - name: 'Group sex', - }, - { - group: 'location', - name: 'Location', - }, - { - group: 'body', - name: 'Body', - }, - { - group: 'age', - name: 'Age', - }, - { - group: 'hair', - name: 'Hair', - }, - { - group: 'ethnicity', - name: 'Ethnicity', - }, - { - group: 'clothing', - name: 'Clothing', + group: 'roleplay', + name: 'Roleplay', }, ])) .then(() => knex('tags').insert([ @@ -53,6 +57,11 @@ exports.seed = knex => Promise.resolve() alias_for: null, group_id: 'penetration', }, + { + tag: 'American', + alias_for: null, + group_id: 'ethnicity', + }, { tag: 'anal creampie', alias_for: null, @@ -99,6 +108,11 @@ exports.seed = knex => Promise.resolve() tag: 'ball licking', alias_for: null, }, + { + tag: 'ballerina', + alias_for: null, + group_id: 'roleplay', + }, { tag: 'bathroom', alias_for: null, @@ -163,6 +177,7 @@ exports.seed = knex => Promise.resolve() { tag: 'cheerleader', alias_for: null, + group_id: 'roleplay', }, { tag: 'choking', @@ -184,6 +199,10 @@ exports.seed = knex => Promise.resolve() tag: 'creampie', alias_for: null, }, + { + tag: 'cum licking', + alias_for: null, + }, { tag: 'cumshot', alias_for: null, @@ -244,7 +263,7 @@ exports.seed = knex => Promise.resolve() group_id: 'ethnicity', }, { - tag: 'facefucking', + tag: 'facefuck', alias_for: null, group_id: 'position', }, @@ -318,6 +337,10 @@ exports.seed = knex => Promise.resolve() tag: 'humiliation', alias_for: null, }, + { + tag: 'innie pussy', + alias_for: null, + }, { tag: 'interracial', alias_for: null, @@ -351,6 +374,11 @@ exports.seed = knex => Promise.resolve() alias_for: null, group_id: 'clothing', }, + { + tag: 'maid', + alias_for: null, + group_id: 'roleplay', + }, { tag: 'masturbation', alias_for: null, @@ -451,6 +479,7 @@ exports.seed = knex => Promise.resolve() { tag: 'schoolgirl', alias_for: null, + group_id: 'roleplay', }, { tag: 'shaved', @@ -461,6 +490,11 @@ exports.seed = knex => Promise.resolve() alias_for: null, group_id: 'clothing', }, + { + tag: 'short hair', + alias_for: null, + group_id: 'hair', + }, { tag: 'skirt', alias_for: null, @@ -608,6 +642,10 @@ exports.seed = knex => Promise.resolve() tag: 'ass to mouth', alias_for: 'ATM', }, + { + tag: 'bald pussy', + alias_for: 'shaved', + }, { tag: 'ball gag', alias_for: 'gag', @@ -660,6 +698,10 @@ exports.seed = knex => Promise.resolve() tag: 'blowjobs', alias_for: 'blowjob', }, + { + tag: 'blowjob - pov', + alias_for: 'blowjob', + }, { tag: 'blowjob (double)', alias_for: 'double blowjob', @@ -713,9 +755,13 @@ exports.seed = knex => Promise.resolve() alias_for: 'creampie', }, { - tag: 'crop', // a type of whip, not short for corporal + tag: 'crop', // a type of whip, not [sic] short for corporal alias_for: 'corporal punishment', }, + { + tag: 'cum cleaning', + alias_for: 'cum licking', + }, { tag: 'cum in mouth', alias_for: 'oral creampie', @@ -724,6 +770,10 @@ exports.seed = knex => Promise.resolve() tag: 'cum swallowing', alias_for: 'swallowing', }, + { + tag: 'cum shot', + alias_for: 'cumshot', + }, { tag: 'cunnilingus', alias_for: 'pussy eating', @@ -752,6 +802,10 @@ exports.seed = knex => Promise.resolve() tag: 'doggystyle (standing)', alias_for: 'standing doggy style', }, + { + tag: 'doggystyle - standing', + alias_for: 'standing doggy style', + }, { tag: 'dom', alias_for: 'BDSM', @@ -824,6 +878,18 @@ exports.seed = knex => Promise.resolve() tag: 'enhanced tits', alias_for: 'enhanced boobs', }, + { + tag: 'facefucking', + alias_for: 'facefuck', + }, + { + tag: 'face fuck', + alias_for: 'facefuck', + }, + { + tag: 'face fucking', + alias_for: 'facefuck', + }, { tag: 'face sitting', alias_for: 'facesitting', @@ -880,6 +946,10 @@ exports.seed = knex => Promise.resolve() tag: 'huge toys', alias_for: 'toys', }, + { + tag: 'innie', + alias_for: 'innie pussy', + }, { tag: 'lashing', alias_for: 'corporal punishment', diff --git a/src/fetch-releases.js b/src/fetch-releases.js index 80e44d83..921217b8 100644 --- a/src/fetch-releases.js +++ b/src/fetch-releases.js @@ -103,16 +103,16 @@ async function fetchNewReleases(scraper, site, afterDate, accReleases = [], page const duplicateReleases = await findDuplicateReleases(latestReleases, site.id); const duplicateReleasesIds = new Set( duplicateReleases - .map(release => release.shoot_id) + .map(release => release.shoot_id || release.entry_id) // exclude accumulated releases to prevent an infinite loop if the next page contains the same releases as the previous - .concat(duplicateReleases.map(release => release.entry_id)) - .concat(accReleases.map(release => release.shootId)), + .concat(duplicateReleases.map(release => release.shoot_id || release.entry_id)) + .concat(accReleases.map(release => release.shootId || release.entryId)), ); const uniqueReleases = latestReleases.filter(release => !duplicateReleasesIds.has(String(release.shootId)) && !duplicateReleasesIds.has(String(release.entryId)) && moment(release.date).isAfter(afterDate)); - console.log(`${site.name}: Scraped page ${page}, ${uniqueReleases.length} unique releases`); + console.log(`\x1b[90m${site.name}: Scraped page ${page}, ${uniqueReleases.length} unique recent releases\x1b[0m`); const oldestReleaseOnPage = latestReleases.slice(-1)[0].date; @@ -138,7 +138,7 @@ async function fetchReleases() { scraper.fetchUpcoming ? await scraper.fetchUpcoming(site) : [], ]); - console.log(`${site.name}: Found ${newReleases.length} new releases, ${upcomingReleases.length} upcoming releases`); + console.log(`${site.name}: Found ${newReleases.length} recent releases, ${upcomingReleases.length} upcoming releases`); if (argv.save) { await storeReleases(newReleases); diff --git a/src/fetch-scene.js b/src/fetch-scene.js index dc068d2c..f253026f 100644 --- a/src/fetch-scene.js +++ b/src/fetch-scene.js @@ -7,17 +7,28 @@ const knex = require('./knex'); const scrapers = require('./scrapers'); async function findSite(url) { - const { protocol, hostname } = new URL(url); + const { hostname } = new URL(url); + const domain = hostname.replace(/^www./, ''); + /* const site = await knex('sites') - .where({ url: `${protocol}//www.${hostname}` }) - .orWhere({ url: `${protocol}//${hostname}` }) + .where({ url: `${protocol}//www.${domain}` }) + .orWhere({ url: `${protocol}//${domain}` }) .first() // scene might use generic network URL, let network scraper determine channel site || await knex('networks') .where({ url: `${protocol}//www.${hostname}` }) .orWhere({ url: `${protocol}//${hostname}` }) .first(); + */ + + const site = await knex('sites') + .where('url', 'like', `%${domain}`) + .first() + // scene might use generic network URL, let network scraper determine channel site + || await knex('networks') + .where('url', 'like', `%${domain}`) + .first(); return { id: site.id, @@ -25,6 +36,7 @@ async function findSite(url) { description: site.description, url: site.url, networkId: site.network_id || site.id, + parameters: site.parameters && JSON.parse(site.parameters), isFallback: site.network_id === undefined, }; } diff --git a/src/scrapers/21sextury.js b/src/scrapers/21sextury.js index be6998a7..d2c6855a 100644 --- a/src/scrapers/21sextury.js +++ b/src/scrapers/21sextury.js @@ -66,9 +66,9 @@ async function scrapeScene(html, url, site) { const date = moment.utc(data.dateCreated, 'YYYY-MM-DD').toDate(); const actors = data.actor - .sort(({ genderA }, { genderB }) => { - if (genderA === 'female' && genderB === 'male') return 1; - if (genderA === 'male' && genderB === 'female') return -1; + .sort(({ gender: genderA }, { gender: genderB }) => { + if (genderA === 'female' && genderB === 'male') return -1; + if (genderA === 'male' && genderB === 'female') return 1; return 0; }) @@ -117,13 +117,13 @@ async function scrapeScene(html, url, site) { } async function fetchLatest(site, page = 1) { - const res = await bhttp.get(`${site.parameters.filter ? 'https://21sextury.com' : site.url}/en/videos/All-Categories/0/All-Pornstars/0/latest/${page}`); + const res = await bhttp.get(`${site.parameters && site.parameters.filter ? 'https://21sextury.com' : site.url}/en/videos/All-Categories/0/All-Pornstars/0/latest/${page}`); return scrape(res.body.toString(), site); } async function fetchUpcoming(site) { - const res = await bhttp.get(`${site.parameters.filter ? 'https://21sextury.com' : site.url}/en/videos/All-Categories/0/All-Pornstars/0/upcoming`); + const res = await bhttp.get(`${site.parameters && site.parameters.filter ? 'https://21sextury.com' : site.url}/en/videos/All-Categories/0/All-Pornstars/0/upcoming`); return scrape(res.body.toString(), site); } diff --git a/src/scrapers/blowpass.js b/src/scrapers/blowpass.js index 6442b587..677f3fa7 100644 --- a/src/scrapers/blowpass.js +++ b/src/scrapers/blowpass.js @@ -52,9 +52,9 @@ async function scrapeScene(html, url, site) { // const actors = sceneElement.find('.sceneActors a').map((actorIndex, actorElement) => $(actorElement).text().trim()).toArray(); const actors = data.actor - .sort(({ genderA }, { genderB }) => { - if (genderA === 'female' && genderB === 'male') return 1; - if (genderA === 'male' && genderB === 'female') return -1; + .sort(({ gender: genderA }, { gender: genderB }) => { + if (genderA === 'female' && genderB === 'male') return -1; + if (genderA === 'male' && genderB === 'female') return 1; return 0; }) diff --git a/src/scrapers/index.js b/src/scrapers/index.js index d1578a26..de6fd941 100644 --- a/src/scrapers/index.js +++ b/src/scrapers/index.js @@ -9,6 +9,7 @@ const legalporno = require('./legalporno'); const mofos = require('./mofos'); const pervcity = require('./pervcity'); const privateNetwork = require('./private'); // reserved keyword +const realitykings = require('./realitykings'); const twentyonesextury = require('./21sextury'); const vixen = require('./vixen'); const xempire = require('./xempire'); @@ -24,6 +25,7 @@ module.exports = { mofos, pervcity, private: privateNetwork, + realitykings, vixen, xempire, }; diff --git a/src/scrapers/realitykings.js b/src/scrapers/realitykings.js new file mode 100644 index 00000000..640d2da8 --- /dev/null +++ b/src/scrapers/realitykings.js @@ -0,0 +1,110 @@ +'use strict'; + +/* eslint-disable newline-per-chained-call */ +const Promise = require('bluebird'); +const bhttp = require('bhttp'); +const { CookieJar } = Promise.promisifyAll(require('tough-cookie')); +const cheerio = require('cheerio'); +const moment = require('moment'); + +const { matchTags } = require('../tags'); + +function scrapeLatest(html, site) { + const $ = cheerio.load(html, { normalizeWhitespace: true }); + const sceneElements = $('.card.card--release').toArray(); + + return sceneElements.map((element) => { + const sceneLinkElement = $(element).find('.card-info__title a'); + const title = sceneLinkElement.attr('title'); + const url = `${site.url}${sceneLinkElement.attr('href')}`; + const entryId = url.split('/').slice(-3)[0]; + + const date = moment.utc($(element).find('.card-info__meta-date').text(), 'MMMM DD, YYYY').toDate(); + const actors = $(element).find('.card-info__cast a').map((actorIndex, actorElement) => $(actorElement).text().trim()).toArray(); + + return { + url, + entryId, + title, + actors, + date, + rating: null, + site, + }; + }); +} + +async function scrapeScene(data, url, site) { + const { + id: entryId, + title, + description, + } = data; + + const date = new Date(data.dateReleased); + const actors = data.actors + .sort(({ gender: genderA }, { gender: genderB }) => { + if (genderA === 'female' && genderB === 'male') return -1; + if (genderA === 'male' && genderB === 'female') return 1; + + return 0; + }) + .map(actor => actor.name); + + const { likes, dislikes } = data.stats; + const duration = data.videos.mediabook.length; + + const rawTags = data.tags.map(tag => tag.name); + const tags = await matchTags(rawTags); + + return { + url, + entryId, + title, + description, + actors, + date, + duration, + tags, + rating: { + likes, + dislikes, + }, + site, + }; +} + +async function fetchLatest(site, page = 1) { + const res = await bhttp.get(`https://www.realitykings.com/tour/videos/${site.name.replace(/\s+/g, '-').toLowerCase()}/all-categories/all-time/recent/${page}`); + + return scrapeLatest(res.body.toString(), site); +} + +async function fetchScene(url, site) { + if (site.isFallback || (site.parameters && site.parameters.altLayout)) { + throw new Error('Cannot fetch scene details from this resource'); + } + + const entryId = url.split('/').slice(-1)[0]; + + const cookieJar = new CookieJar(); + const session = bhttp.session({ cookieJar }); + + await session.get(url); + + const cookies = await cookieJar.getCookieStringAsync(url); + const instanceToken = cookies.split(';')[0].split('=')[1]; + + const res = await session.get(`https://site-api.project1service.com/v2/releases/${entryId}`, { + headers: { + Instance: instanceToken, + }, + }); + + return scrapeScene(res.body.result.parent, url, site); +} + +module.exports = { + fetchLatest, + fetchScene, +}; diff --git a/src/scrapers/template.js b/src/scrapers/template.js index a11330c0..0907ded7 100644 --- a/src/scrapers/template.js +++ b/src/scrapers/template.js @@ -12,11 +12,11 @@ function scrapeLatest(html, site) { const sceneElements = $('.scenes-latest').toArray(); return sceneElements.map((element) => { - const actors = $('.actors a').map((actorIndex, actorElement) => $(actorElement).text()).toArray(); + const actors = $(element).find('.actors a').map((actorIndex, actorElement) => $(actorElement).text()).toArray(); return { url, - shootId, + entryId, title, actors, date, @@ -35,11 +35,11 @@ function scrapeUpcoming(html, site) { const sceneElements = $('.scenes-upcoming').toArray(); return sceneElements.map((element) => { - const actors = $('.actors a').map((actorIndex, actorElement) => $(actorElement).text()).toArray(); + const actors = $(element).find('.actors a').map((actorIndex, actorElement) => $(actorElement).text()).toArray(); return { url, - shootId, + entryId, title, actors, date, @@ -56,9 +56,6 @@ function scrapeUpcoming(html, site) { async function scrapeScene(html, url, site) { const $ = cheerio.load(html, { normalizeWhitespace: true }); - const rawTags = []; - const tags = await matchTags(rawTags); - const actors = $('.actors a').map((actorIndex, actorElement) => $(actorElement).text()).toArray(); const rawTags = $('.tags a').map((tagIndex, tagElement) => $(tagElement).text()).toArray(); @@ -66,7 +63,7 @@ async function scrapeScene(html, url, site) { return { url, - shootId, + entryId, title, description, actors, diff --git a/src/scrapers/xempire.js b/src/scrapers/xempire.js index 839546c7..e464e4aa 100644 --- a/src/scrapers/xempire.js +++ b/src/scrapers/xempire.js @@ -57,9 +57,9 @@ async function scrapeScene(html, url, site) { const date = moment.utc(data.dateCreated, 'YYYY-MM-DD').toDate(); const actors = data.actor - .sort(({ genderA }, { genderB }) => { - if (genderA === 'female' && genderB === 'male') return 1; - if (genderA === 'male' && genderB === 'female') return -1; + .sort(({ gender: genderA }, { gender: genderB }) => { + if (genderA === 'female' && genderB === 'male') return -1; + if (genderA === 'male' && genderB === 'female') return 1; return 0; })