Improved Gamma scraper for (XEmpire) actors.

This commit is contained in:
ThePendulum 2020-05-20 03:00:46 +02:00
parent b1b7cd6d50
commit 7275fb10e3
8 changed files with 17 additions and 8 deletions

View File

@ -66,6 +66,8 @@ async function mounted() {
'blonde', 'blonde',
'brunette', 'brunette',
'redhead', 'redhead',
'tattoos',
'piercings',
], ],
extreme: [ extreme: [
'airtight', 'airtight',

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@ -768,8 +768,8 @@ const tags = [
priority: 6, priority: 6,
}, },
{ {
name: 'tattoo', name: 'tattoos',
slug: 'tattoo', slug: 'tattoos',
group: 'body', group: 'body',
}, },
{ {
@ -1564,8 +1564,8 @@ const aliases = [
for: 'bdsm', for: 'bdsm',
}, },
{ {
name: 'tattoos', name: 'tattoo',
for: 'tattoo', for: 'tattoos',
secondary: true, secondary: true,
}, },
{ {

View File

@ -46,12 +46,13 @@ const tagPosters = [
['nurse', 0, 'Sarah Vandella in "Cum For Nurse Sarah" for Brazzers'], ['nurse', 0, 'Sarah Vandella in "Cum For Nurse Sarah" for Brazzers'],
['oil', 0, 'Jada Stevens in "Jada Stevens Anal Ass Oiled Up For James Deen\'s Cock" for Jules Jordan'], ['oil', 0, 'Jada Stevens in "Jada Stevens Anal Ass Oiled Up For James Deen\'s Cock" for Jules Jordan'],
['orgy', 1, 'Megan Rain (DP), Morgan Lee (anal), Jessa Rhodes, Melissa Moore and Kimmy Granger in "Orgy Masters 8" for Jules Jordan'], ['orgy', 1, 'Megan Rain (DP), Morgan Lee (anal), Jessa Rhodes, Melissa Moore and Kimmy Granger in "Orgy Masters 8" for Jules Jordan'],
['piercings', 0, ''],
['pussy-eating', 0, 'Kali Roses licking Emily Willis\' pussy in "Peeping On My Neighbor" for Girl Girl'], ['pussy-eating', 0, 'Kali Roses licking Emily Willis\' pussy in "Peeping On My Neighbor" for Girl Girl'],
['redhead', 0, 'Penny Pax in "The Submission of Emma Marx: Boundaries" for New Sensations'], ['redhead', 0, 'Penny Pax in "The Submission of Emma Marx: Boundaries" for New Sensations'],
['schoolgirl', 1, 'Eliza Ibarra for Brazzers'], ['schoolgirl', 1, 'Eliza Ibarra for Brazzers'],
['swallowing', 'poster'], ['swallowing', 'poster'],
['teen', 0, 'Eva Elfie in "Fresh New Talent" for Club Seventeen'], ['teen', 0, 'Eva Elfie in "Fresh New Talent" for Club Seventeen'],
['tattoo', 'poster', 'Kali Roses in "Goes All In For Anal" for Hussie Pass'], ['tattoos', 'poster', 'Kali Roses in "Goes All In For Anal" for Hussie Pass'],
['trainbang', 'poster', 'Kali Roses in "Passing Me Around" for Blacked'], ['trainbang', 'poster', 'Kali Roses in "Passing Me Around" for Blacked'],
['triple-anal', 'poster', 'Kristy Black in SZ1986 for LegalPorno'], ['triple-anal', 'poster', 'Kristy Black in SZ1986 for LegalPorno'],
] ]

View File

@ -26,7 +26,6 @@ async function init() {
if (argv.actorScenes) { if (argv.actorScenes) {
const actorReleases = actors.map(actor => actor.releases).flat().filter(Boolean); const actorReleases = actors.map(actor => actor.releases).flat().filter(Boolean);
console.log(actors, actorReleases);
await storeReleases(actorReleases); await storeReleases(actorReleases);
} }

View File

@ -175,6 +175,9 @@ function scrapeAll(html, site, networkUrl, hasTeaser = true) {
const posterEl = $(element).find('.imgLink img, .tlcImageItem'); const posterEl = $(element).find('.imgLink img, .tlcImageItem');
if (posterEl) release.poster = posterEl.attr('data-original') || posterEl.attr('src'); if (posterEl) release.poster = posterEl.attr('data-original') || posterEl.attr('src');
const channelEl = $(element).find('.fromSite a');
if (channelEl) release.channel = channelEl.attr('title').replace('.com', '');
if (hasTeaser) { if (hasTeaser) {
release.teaser = [ release.teaser = [
{ src: `https://videothumb.gammacdn.com/600x339/${release.entryId}.mp4` }, { src: `https://videothumb.gammacdn.com/600x339/${release.entryId}.mp4` },
@ -232,7 +235,11 @@ async function scrapeScene(html, url, site, baseRelease, mobileHtml) {
const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ') || []; const rawTags = data?.keywords?.split(', ') || data2?.keywords?.split(', ') || [];
release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags; release.tags = hasTrans ? [...rawTags, 'transsexual'] : rawTags;
const channel = data?.productionCompany?.name || $('.studioLink a, .siteLink a').attr('title')?.trim() || $('.siteNameSpan').text()?.trim().toLowerCase().replace('.com', ''); const channel = data?.productionCompany?.name
|| $('.studioLink a, .siteLink a').attr('title')?.trim()
|| $('.siteNameSpan').text()?.trim().toLowerCase().replace('.com', '')
|| $('meta[name="twitter:domain"]').attr('content')?.replace('.com', '');
if (channel) release.channel = slugify(channel, ''); if (channel) release.channel = slugify(channel, '');
if (videoData.picPreview && new URL(videoData.picPreview).pathname.length > 1) release.poster = videoData.picPreview; // sometimes links to just https://images02-fame.gammacdn.com/ if (videoData.picPreview && new URL(videoData.picPreview).pathname.length > 1) release.poster = videoData.picPreview; // sometimes links to just https://images02-fame.gammacdn.com/
@ -301,7 +308,7 @@ async function fetchActorReleases(profileUrl, getActorReleasesUrl, page = 1, acc
if (!res.ok) return []; if (!res.ok) return [];
const releases = scrapeAll(res.html, null, origin); const releases = scrapeAll(res.item.html, null, origin);
const nextPage = res.item.qu.url('.Gamma_Paginator a.next'); const nextPage = res.item.qu.url('.Gamma_Paginator a.next');
if (nextPage) { if (nextPage) {