Added Fuck'n'Drive and Jizz On Teens latest layouts to First Anal Quest scraper.

This commit is contained in:
DebaucheryLibrarian 2020-12-05 02:24:31 +01:00
parent 2e0fba3de9
commit f0bec85ef8
2 changed files with 45 additions and 0 deletions

View File

@ -2795,6 +2795,7 @@ const sites = [
parent: 'firstanalquest',
parameters: {
layout: 'b',
paginated: true,
},
},
{

View File

@ -34,6 +34,33 @@ function scrapeAllA(scenes, channel) {
});
}
function scrapeAllB(scenes, channel) {
return scenes.map(({ query }) => {
const release = {};
release.title = query.cnt('.title, h2');
release.description = query.cnt('.description, p textarea');
release.duration = query.dur('.time');
const previewHtml = query.html('script')?.match(/document.write\("(.*)"\);/)?.[1];
const previewEl = qu.extract(previewHtml);
const previewQuery = previewEl?.query.q('param[name="flashvars"]', 'value') || query.q('param[name="flashvars"]', 'value');
const previewParams = previewQuery && new URLSearchParams(previewQuery);
if (previewParams) {
release.poster = qu.prefixUrl(previewParams.get('image') || previewParams.get('poster'), channel.url);
release.trailer = previewParams.get('file');
}
release.photos = query.imgs('img[src*="sets/"], img[src*="thumbnails/"]', 'src', { origin: channel.url });
release.entryId = release.poster?.match(/\/sets\/(.*)\//)?.[1] || slugify(release.title);
console.log(release);
return release;
});
}
function scrapeSceneA({ query }, url, channel) {
const release = {};
@ -127,6 +154,20 @@ async function fetchLatestA(channel, page) {
return res.status;
}
async function fetchLatestB(channel, page) {
const url = channel.parameters?.paginated
? `${channel.url}/page/${page}`
: channel.url;
const res = await qu.getAll(url, '#container, article:not(.sortby)');
if (res.ok) {
return scrapeAllB(res.items, channel);
}
return res.status;
}
async function fetchSceneA(url, channel) {
const res = await qu.get(url, '.main, .main-content');
@ -166,4 +207,7 @@ module.exports = {
fetchScene: fetchSceneA,
fetchProfile: fetchProfileA,
},
b: {
fetchLatest: fetchLatestB,
},
};