Compare commits
No commits in common. "24fe61e0643ad92b24045f713316fa27120b27bd" and "77b214f1dc39210b924079e36ca8e4a68376cb43" have entirely different histories.
24fe61e064
...
77b214f1dc
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.62.10",
|
"version": "1.62.9",
|
||||||
"lockfileVersion": 1,
|
"lockfileVersion": 1,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "traxxx",
|
"name": "traxxx",
|
||||||
"version": "1.62.10",
|
"version": "1.62.9",
|
||||||
"description": "All the latest porn releases in one place",
|
"description": "All the latest porn releases in one place",
|
||||||
"main": "src/app.js",
|
"main": "src/app.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,11 @@ async function scrapeSites() {
|
||||||
try {
|
try {
|
||||||
return await scrapeSiteReleases(scraper, site);
|
return await scrapeSiteReleases(scraper, site);
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
logger.error(`${site.name}: Failed to scrape releases: ${error.message}`);
|
if (argv.debug) {
|
||||||
|
logger.error(`${site.name}: Failed to scrape releases`, error);
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.warn(`${site.id}: Failed to scrape releases`);
|
||||||
|
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -24,24 +24,17 @@ function scrapeProfile(html) {
|
||||||
if (bio.Ethnicity) profile.ethnicity = bio.Ethnicity;
|
if (bio.Ethnicity) profile.ethnicity = bio.Ethnicity;
|
||||||
|
|
||||||
if (bio.Measurements) {
|
if (bio.Measurements) {
|
||||||
const measurements = bio.Measurements
|
const [bust, waist, hip] = bio.Measurements
|
||||||
.match(/\d+(\w+)?-\d+-\d+/g)
|
.match(/\d+(\w+)?-\d+-\d+/g)
|
||||||
?.slice(-1)[0] // allow for both '34C-25-36' and '86-64-94 cm / 34-25-37 in'
|
.slice(-1)[0] // allow for both '34C-25-36' and '86-64-94 cm / 34-25-37 in'
|
||||||
.split('-');
|
.split('-');
|
||||||
|
|
||||||
// account for measuemrents being just e.g. '32EE'
|
|
||||||
if (measurements) {
|
|
||||||
const [bust, waist, hip] = measurements;
|
|
||||||
|
|
||||||
if (/[a-zA-Z]/.test(bust)) profile.bust = bust; // only use bust if cup size is included
|
if (/[a-zA-Z]/.test(bust)) profile.bust = bust; // only use bust if cup size is included
|
||||||
|
|
||||||
profile.waist = Number(waist);
|
profile.waist = Number(waist);
|
||||||
profile.hip = Number(hip);
|
profile.hip = Number(hip);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (/^\d+\w+$/.test(bio.Measurements)) profile.bust = bio.Measurements;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (bio.Bra_cup_size) {
|
if (bio.Bra_cup_size) {
|
||||||
const bust = bio.Bra_cup_size.match(/^\d+\w+/);
|
const bust = bio.Bra_cup_size.match(/^\d+\w+/);
|
||||||
if (bust) [profile.bust] = bust;
|
if (bust) [profile.bust] = bust;
|
||||||
|
|
@ -63,13 +56,10 @@ function scrapeProfile(html) {
|
||||||
|
|
||||||
if (avatars.length > 0) {
|
if (avatars.length > 0) {
|
||||||
const [avatarThumbPath] = avatars;
|
const [avatarThumbPath] = avatars;
|
||||||
|
|
||||||
if (!/NoImageAvailable/.test(avatarThumbPath)) {
|
|
||||||
const avatarPath = avatarThumbPath.slice(0, avatarThumbPath.lastIndexOf('/')).replace('thumb/', '');
|
const avatarPath = avatarThumbPath.slice(0, avatarThumbPath.lastIndexOf('/')).replace('thumb/', '');
|
||||||
|
|
||||||
profile.avatar = `http://www.boobpedia.com${avatarPath}`;
|
profile.avatar = `http://www.boobpedia.com${avatarPath}`;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
profile.social = qu('.infobox a.external');
|
profile.social = qu('.infobox a.external');
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -110,24 +110,15 @@ async function scrapeScene(html, url, site) {
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchLatest(site, page = 1) {
|
async function fetchLatest(site, page = 1) {
|
||||||
const url = `${site.url}/videos?page=${page}&size=7`;
|
const res = await bhttp.get(`${site.url}/videos?page=${page}&size=7`);
|
||||||
const res = await bhttp.get(url);
|
|
||||||
|
|
||||||
if (res.statusCode === 200) {
|
|
||||||
return scrapeLatest(res.body.toString(), site);
|
return scrapeLatest(res.body.toString(), site);
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error(`Vixen response not OK for latest: ${res.statusCode}`);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
async function fetchScene(url, site) {
|
async function fetchScene(url, site) {
|
||||||
const res = await bhttp.get(url);
|
const res = await bhttp.get(url);
|
||||||
|
|
||||||
if (res.statusCode === 200) {
|
|
||||||
return scrapeScene(res.body.toString(), url, site);
|
return scrapeScene(res.body.toString(), url, site);
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error(`Vixen response not OK for scene (${url}): ${res.statusCode}`);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue