Added 'independent' property for network-like channels. Changed release tile design. Adding Brazzers timeline events as tags. Added Property Sex to MindGeek. Changed DP, DAP and DVP tag slugs. Changed Porn Pros logo. Added better BAM Visions and Mug Fucked logos.

This commit is contained in:
2020-07-02 04:04:28 +02:00
parent 6e79381937
commit 749864e922
278 changed files with 371 additions and 338 deletions

View File

@@ -102,7 +102,10 @@ async function scrapeScene(html, url, _site) {
const siteName = siteElement.attr('title');
release.channel = slugify(siteName, '');
release.tags = $('.tag-card-container a').map((tagIndex, tagElement) => $(tagElement).text()).toArray();
const tags = $('.tag-card-container a').map((tagIndex, tagElement) => $(tagElement).text()).toArray();
const categories = $('.timeline a[href*="/categories"]').map((tagIndex, categoryElement) => $(categoryElement).attr('title')).toArray();
release.tags = tags.concat(categories);
release.photos = $('.carousel-thumb a').map((photoIndex, photoElement) => `https:${$(photoElement).attr('href')}`).toArray();
const posterPath = videoData?.poster || $('meta[itemprop="thumbnailUrl"]').attr('content') || $('#trailer-player-container').attr('data-player-img');
@@ -115,6 +118,8 @@ async function scrapeScene(html, url, _site) {
}));
}
console.log(release);
return release;
}

View File

@@ -151,7 +151,7 @@ function scrapeAll(html, site, networkUrl, hasTeaser = true) {
const sceneLinkElement = $(element).find('.sceneTitle a, .tlcTitle a');
if (site) release.url = `${networkUrl ? site.network.url : site.url}${sceneLinkElement.attr('href')}`;
if (site) release.url = `${networkUrl ? site.parent.url : site.url}${sceneLinkElement.attr('href')}`;
else release.url = `${networkUrl}${sceneLinkElement.attr('href')}`;
release.title = sceneLinkElement.attr('title');
@@ -416,7 +416,7 @@ async function fetchApiCredentials(referer, site) {
}
async function fetchApiLatest(site, page = 1, preData, include, upcoming = false) {
const referer = site.parameters?.referer || `${site.parameters?.networkReferer ? site.network.url : site.url}/en/videos`;
const referer = site.parameters?.referer || `${site.parameters?.networkReferer ? site.parent.url : site.url}/en/videos`;
const { apiUrl } = await fetchApiCredentials(referer, site);
const res = await bhttp.post(apiUrl, {
@@ -485,7 +485,7 @@ async function fetchUpcoming(site) {
}
function getDeepUrl(url, site, baseRelease, mobile) {
const filter = new Set(['en', 'video', 'scene', site.slug, site.network.slug]);
const filter = new Set(['en', 'video', 'scene', site.slug, site.parent.slug]);
const pathname = baseRelease?.path || new URL(url).pathname
.split('/')
.filter(component => !filter.has(component))
@@ -514,7 +514,7 @@ async function fetchScene(url, site, baseRelease) {
}
const deepUrl = getDeepUrl(url, site, baseRelease);
const mobileUrl = getDeepUrl(url, site, baseRelease, site.parameters?.mobile || site.network.parameters?.mobile);
const mobileUrl = getDeepUrl(url, site, baseRelease, site.parameters?.mobile || site.parent?.parameters?.mobile);
if (deepUrl) {
const [res, mobileRes] = await Promise.all([
@@ -560,7 +560,7 @@ async function fetchActorScenes(actorName, apiUrl, siteSlug) {
}
async function fetchProfile(actorName, context, altSearchUrl, getActorReleasesUrl, include) {
const siteSlug = context.site?.slug || context.network.slug;
const siteSlug = context.entity.slug || context.site?.slug || context.network?.slug;
const actorSlug = actorName.toLowerCase().replace(/\s+/, '+');
const searchUrl = altSearchUrl
@@ -589,7 +589,7 @@ async function fetchProfile(actorName, context, altSearchUrl, getActorReleasesUr
}
async function fetchApiProfile(actorName, context, include) {
const siteSlug = context.site?.slug || context.network.slug;
const siteSlug = context.entity.slug || context.site?.slug || context.network?.slug;
const actorSlug = encodeURI(actorName);
const referer = `https://www.${siteSlug}.com/en/search`;

View File

@@ -9,7 +9,7 @@ const slugify = require('../utils/slugify');
function extractTitle(originalTitle) {
const titleComponents = originalTitle.split(' ');
const sceneIdMatch = titleComponents.slice(-1)[0].match(/(AB|AF|GP|SZ|IV|GIO|RS|TW|MA|FM|SAL|NR|AA|GL|BZ|FS|KS|OTS)\d+/); // detect studio prefixes
const sceneIdMatch = titleComponents.slice(-1)[0].match(/(AB|AF|GP|SZ|IV|GIO|RS|TW|MA|FM|SAL|NR|AA|GL|BZ|FS|KS|OTS|NF)\d+/); // detect studio prefixes
const shootId = sceneIdMatch ? sceneIdMatch[0] : null;
const title = sceneIdMatch ? titleComponents.slice(0, -1).join(' ') : originalTitle;