Adapted Score scraper for 18eighteen, 40 Something Mag and 50 Plus Milfs. Updated Score network logo and favicon.

This commit is contained in:
2020-02-03 02:57:53 +01:00
parent dfa0183669
commit 5bae5b6e5f
9 changed files with 42 additions and 21 deletions

View File

@@ -29,7 +29,7 @@ async function fetchPhotos(url) {
}
function scrapeAll(html) {
return exa(html, '.container .video').map(({ q, qa, qd, ql }) => {
return exa(html, '.container .video, .container-fluid .video').map(({ q, qa, qd, ql }) => {
const release = {};
release.title = q('.title, .i-title', true);
@@ -70,10 +70,10 @@ async function scrapeScene(html, url) {
[release.entryId] = new URL(url).pathname.split('/').slice(-2);
release.title = q('h2.text-uppercase, h2.title', true);
release.title = q('h2.text-uppercase, h2.title, #breadcrumb-top + h1', true);
release.description = qtext('.p-desc, .desc');
release.actors = qa('.value a[href*=models], .value a[href*=performer]', true);
release.actors = qa('.value a[href*=models], .value a[href*=performer], .value a[href*=teen-babes]', true);
release.tags = qa('a[href*=tag]', true);
const dateEl = qa('.value').find(el => /\w+ \d+\w+, \d{4}/.test(el.textContent));
@@ -161,8 +161,8 @@ function scrapeProfile(html) {
const avatar = qi('img');
if (avatar) profile.avatar = avatar;
const releases = ex(html, '#model-page + .container');
profile.releases = scrapeAll(releases.document.outerHTML);
const releases = ex(html, '#model-page + .container, #model-page + .container-fluid');
if (releases) profile.releases = scrapeAll(releases.document.outerHTML);
return profile;
}
@@ -189,10 +189,16 @@ async function fetchScene(url, site) {
return null;
}
async function fetchProfile(actorName, scraperSlug, page = 1) {
async function fetchProfile(actorName, scraperSlug, page = 1, source = 0) {
const letter = actorName.charAt(0).toUpperCase();
const url = `https://www.scoreland.com/big-boob-models/browse/${letter}/?page=${page}`;
const sources = [
`https://www.scoreland.com/big-boob-models/browse/${letter}/?page=${page}`,
`https://www.50plusmilfs.com/xxx-milf-models/browse/${letter}/?page=${page}`,
];
const url = sources[source];
const res = await bhttp.get(url, {
followRedirects: false,
});
@@ -210,7 +216,11 @@ async function fetchProfile(actorName, scraperSlug, page = 1) {
return null;
}
return fetchProfile(actorName, scraperSlug, page + 1);
return fetchProfile(actorName, scraperSlug, page + 1, source);
}
if (sources[source + 1]) {
return fetchProfile(actorName, scraperSlug, 1, source + 1);
}
return null;