Finished Cum Louder scraper, updated Vixen scraper. Added tag posters.

This commit is contained in:
DebaucheryLibrarian 2021-08-17 19:25:10 +02:00
parent 715e44cf21
commit f00e37490c
30 changed files with 34 additions and 22 deletions

View File

@ -221,8 +221,6 @@ function initUiActions(store, _router) {
userId: store.state.auth.user?.id,
});
console.log(res.results);
return {
releases: res?.results.map(result => curateRelease(result.release)) || [],
actors: res?.actors.map(actor => curateActor(actor)) || [],

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1008 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@ -2161,7 +2161,7 @@ const sites = [
parent: 'cumlouder',
},
{
name: 'FuckinVan',
name: 'FuckInVan',
slug: 'fuckinvan',
url: 'https://www.cumlouder.com/site/fuckinvan',
description: "Welcome to the love van. With brand new wheels, perfect damping and provisiones of condoms, we're ready to fuck non-stop for miles. Do you want to get in?",
@ -2175,7 +2175,7 @@ const sites = [
parent: 'cumlouder',
},
{
name: 'Ready or not... Here I Cum',
name: 'Ready Or Not... Here I Cum',
slug: 'readyornothereicum',
url: 'https://www.cumlouder.com/site/ready-or-not-here-i-cum',
description: "Nacho Vidal arrives at CumLouder to celebrate our fourth anniversary with a new series where he's gonna demonstrate why he still is and still will be for a long time 'the leader' in what refers to Spanish porn. He'll be completely in his element by fucking around in any public place he'll feel like doing it for our series called 'Ready or not... Here I Cum'. Stay tuned and don't miss these great sex adventures in a cap, a carwash, on the highway or even in a car park. CumLouder wasn't about to quit the business and Nacho Vidal wasn't dead. Au contraire my dear friend, they're even more alive than ever before and ready to give you the best Latin porn you can find on the whole Internet for many more years.",
@ -2210,7 +2210,7 @@ const sites = [
parent: 'cumlouder',
},
{
name: 'LivingWithaPornstar',
name: 'LivingWithAPornstar',
slug: 'livingwithapornstar',
url: 'https://www.cumlouder.com/site/livingwithapornstar',
description: 'Pornstars have a life beyond porn. Do you want to know what they do from the moment they wake up until they go sleeping? We know you want to. The girls themselves are gonna tell you everything, we give them the camera and they show you all you want to know about them in the first person.',
@ -2224,7 +2224,7 @@ const sites = [
parent: 'cumlouder',
},
{
name: 'Ex-girlfriends',
name: 'Ex-Girlfriends',
slug: 'exgirlfriends',
url: 'https://www.cumlouder.com/site/ex-girlfriends',
description: 'We converted our pornstars into erotica goddesses, into our most glamorous lovers. By undressing their beautiful and sensual bodies. By laying them softly on a bed, caressing their silky breasts, kissing them passionately and conquering them by giving these women all our tender love. We light on the fire of their volcano and take them subtly, but inoxerably, to a lustful bang and orgasms that make them shudder when experiencing intense pleasure.',
@ -2267,7 +2267,7 @@ const sites = [
},
{
name: 'POV',
slug: 'pov',
slug: 'cumlouderpov',
url: 'https://www.cumlouder.com/site/pov',
description: "Experience hot sex and naughty porn like you've never done before, in the first person, exclusively here on CumLouder! Enjoy this unique sexual experience where a computer screen is the only thing that separates you from the girl of your dreams... Fuck her!",
parent: 'cumlouder',

View File

@ -608,6 +608,7 @@ const tagMedia = [
['airtight', 9, 'Cindy Shine in GP1658'],
['anal', 5, 'Abella Danger', 'hardx'],
['anal', 'kira_noir_julesjordan', 'Kira Noir in "Kira Noir Opens Her Ass For Manuel"', 'julesjordan'],
['anal', 'kelly_oliveira_teenfidelity_1', 'Kelly Oliveira in "Keep It Going"', 'teenfidelity'],
['anal', 'jane_wilde_evilangel_2', 'Jane Wilde and Brock Cooper in "The Cock Hungry Chronicles"', 'evilangel'],
['anal', 'jynx_maze_evilangel', 'Jynx Maze in "Gape Me"', 'evilangel'],
['anal', 0, 'Adriana Chechik in "Manuel Creampies Their Asses 3"', 'julesjordan'],
@ -785,13 +786,13 @@ const tagMedia = [
['dv-tp', 1, 'Adriana Chechik in "Adriana\'s Triple Anal Penetration!"'],
['dv-tp', 0, 'Luna Rival in SZ1490'],
['facefucking', 5, 'Mia Moore B', 'throated'],
['facefucking', 6, 'Halle Hayes in "Towering Temptress"', '5kporn'],
['facefucking', 'paige_owens_julesjordan', 'Paige Owens in "Butt Slut In Anal Training"', 'julesjordan'],
['facefucking', 'adria_rae_throated', 'Adria Rae in "Adria Rae Sucks Cock All Day"', 'throated'],
['facefucking', 6, 'Halle Hayes in "Towering Temptress"', '5kporn'],
['facefucking', 'cathy_heaven_roccosiffredi', 'Cathy Heaven', 'roccosiffredi'],
['facefucking', 1, 'Paige Owens in "Dark Meat 12"', 'evilangel'],
['facefucking', 2, 'Jynx Maze', 'throated'],
['facefucking', 7, 'Anya Olsen and Audrey Snow in "Babysitter Busted Giving A BJ"', 'mommyblowsbest'],
['facefucking', 0, 'Ashly Anderson in "Rough Love"', 'hookuphotshot'],
['facefucking', 2, 'Jynx Maze', 'throated'],
['facefucking', 4, 'Brooklyn Gray in "Throats Fucks 6"', 'evilangel'],
['facefucking', 3, 'Adriana Chechik in "Performing Magic Butt Tricks With Jules Jordan. What Will Disappear In Her Ass?"', 'julesjordan'],
['facial', 0, 'Brooklyn Gray in "All About Ass 4"', 'evilangel'],
@ -819,6 +820,7 @@ const tagMedia = [
['enhanced-boobs', 'clanddi_jinkcego_ddfbusty_5', 'Clanddi Jinkcego & Rebecca Jessop', 'ddfbusty'],
['enhanced-boobs', 'trudy_photodromm_1', 'Trudy', 'photodromm'],
['enhanced-boobs', 'kenzie_anne_playboy', 'Miss Kenzie Anne in "Supercharged"', 'playboy'],
['enhanced-boobs', 'kelly_oliveira_teenfidelity', 'Kelly Oliveira in "Keep It Going"', 'teenfidelity'],
['enhanced-boobs', 9, 'Putri Cinta', 'watch4beauty'],
['enhanced-boobs', 3, 'Ashly Anderson', 'passionhd'],
['enhanced-boobs', 'jennifer_mendez_bangbros', 'Jennifer Mendez', 'bangbros'],
@ -877,10 +879,11 @@ const tagMedia = [
['interracial', 0, 'Jaye Summers and Prince Yahshua in "Platinum Pussy 3"', 'julesjordan'],
['latex', 0, 'Bianca Beauchamp in "Cherry Nun"', 'latexlair'],
['latex', 1, 'Aletta Ocean in "Latex Dream"', 'alettaoceanlive'],
['latina', 3, 'Gina Valentina', 'brazzers'],
['latina', 'kelly_oliveira_teenfidelity_2', 'Kelly Oliveira in "Keep It Going"', 'teenfidelity'],
['latina', 2, 'Veronica Leal', 'herlimit'],
['latina', 1, 'Jynx Maze in "Big Anal Asses 2"', 'hardx'],
['latina', 0, 'Vienna Black', 'spizoo'],
['latina', 3, 'Gina Valentina', 'brazzers'],
['lesbian', 'honey_gold_kaylani_lei_brazzers', 'Honey Gold and Kaylani Lei', 'brazzers'],
['lesbian', 0, 'Jenna Sativa and Alina Lopez in "Opposites Attract"', 'girlgirl'],
['maid', 0, 'Whitney Wright in "Dredd Up Your Ass 2"', 'julesjordan'],

View File

@ -218,7 +218,7 @@ async function fetchEntitiesBySlug(entitySlugs, sort = 'asc') {
const entitiesBySlug = entities.rows.reduce((accEntities, { entity }) => ({
...accEntities,
[entity.slug]: accEntities[entity.slug] || curateEntity(entity, true),
[urlToSiteSlug(entity.url)]: accEntities[entity.slug] || curateEntity(entity, true),
[urlToSiteSlug(entity.url)]: accEntities[urlToSiteSlug(entity.url)] || curateEntity(entity, true),
}), {});
return entitiesBySlug;

View File

@ -3,6 +3,7 @@
const { decode } = require('html-entities');
const qu = require('../utils/qu');
const slugify = require('../utils/slugify');
function scrapeAll(items, _channel) {
return items.map(({ query }) => {
@ -25,8 +26,6 @@ function scrapeAll(items, _channel) {
poster,
];
console.log(release);
return release;
});
}
@ -53,21 +52,33 @@ function scrapeScene({ query }, channel, html) {
release.tags = query.cnts('.video-top .tag-link');
release.poster = query.poster() || html.match(/urlImg\s*=\s*'(.*)';/)?.[1];
release.trailer = query.video() || decode(html.match(/urlVideo\s*=\s*'(.*)';/)?.[1]);
release.video = query.video() || decode(html.match(/urlVideo\s*=\s*'(.*)';/)?.[1]); // no trailers but full-length videos
release.shootId = release.poster?.match(/\/rc(\d+)/)?.[1] || release.trailer?.match(/\/episodio_(\d+)/)?.[1];
release.shootId = release.poster?.match(/\/rc(\d+)/)?.[1] || release.video?.match(/\/episodio_(\d+)/)?.[1];
console.log(release);
return release;
}
function scrapeProfile({ query }) {
function scrapeProfile({ query, el }, channel) {
const profile = {};
const bio = query.all('.data-bio li').reduce((acc, bioEl) => ({
...acc,
[slugify(query.cnt(bioEl, 'strong'), '_')]: query.text(bioEl),
}), {});
profile.nationality = bio.nationality;
profile.dateOfBirth = qu.extractDate(bio.date_of_birth, 'DD-MM-YYYY');
profile.height = Number(bio.height) * 100;
profile.weight = parseInt(bio.weight, 10);
profile.eyes = bio.eye_color;
profile.hairColor = bio.hair_color;
profile.description = query.cnt('.data-bio p:last-of-type');
profile.avatar = query.img('.thumb-bio');
console.log(profile);
profile.scenes = scrapeAll(qu.initAll(el, '.muestra-escena'), channel);
return profile;
}
@ -92,11 +103,11 @@ async function fetchScene(url, channel) {
return res.status;
}
async function fetchProfile(actor) {
async function fetchProfile(actor, channel) {
const res = await qu.get(`https://www.cumlouder.com/girl/${actor.slug}/`, '.listado-escenas');
if (res.ok) {
return scrapeProfile(res.item);
return scrapeProfile(res.item, channel);
}
return res.status;

View File

@ -204,7 +204,7 @@ function scrapeUpcoming(scene, site) {
release.poster = getPosterFallbacks(scene.images.poster);
release.teaser = getTeaserFallbacks(scene.previews.poster);
release.entryId = (release.poster[0] || release.teaser[0])?.match(/\/(\d+)/)?.[1];
release.entryId = (release.poster[0] || release.teaser[0])?.src?.match(/\/(\d+)/)?.[1];
return [release];
}