Compare commits
No commits in common. "fc6bb2feda80a07de8950b89721cc8b814ce27b7" and "91574d2e5b18e74d24adb6d6e618afb390f49f91" have entirely different histories.
fc6bb2feda
...
91574d2e5b
|
@ -1,12 +1,12 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.240.1",
|
||||
"version": "1.240.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "traxxx",
|
||||
"version": "1.240.1",
|
||||
"version": "1.240.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@aws-sdk/client-s3": "^3.458.0",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "traxxx",
|
||||
"version": "1.240.1",
|
||||
"version": "1.240.0",
|
||||
"description": "All the latest porn releases in one place",
|
||||
"main": "src/app.js",
|
||||
"scripts": {
|
||||
|
|
|
@ -2548,13 +2548,6 @@ const sites = [
|
|||
extract: true,
|
||||
},
|
||||
},
|
||||
// CLIFF MEDIA / VANESSA CLIFF
|
||||
{
|
||||
name: 'Cliff Media',
|
||||
slug: 'cliffmedia',
|
||||
alias: ['vanessa cliff'],
|
||||
url: 'https://www.vanessacliff.com',
|
||||
},
|
||||
// CZECHAV
|
||||
{
|
||||
name: 'Czech Streets',
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const unprint = require('unprint');
|
||||
|
||||
function scrapeAll(scenes) {
|
||||
return scenes.map(({ query }) => {
|
||||
const release = {};
|
||||
|
||||
release.url = query.url('.image-container a');
|
||||
release.entryId = new URL(release.url).pathname.match(/\/video-preview\/(\w+)/)[1];
|
||||
|
||||
release.title = query.content('.caption-title');
|
||||
|
||||
release.poster = query.img('.image-container img');
|
||||
|
||||
return release;
|
||||
});
|
||||
}
|
||||
|
||||
function scrapeScene({ query }, { url }) {
|
||||
const release = {};
|
||||
|
||||
release.entryId = new URL(url).pathname.match(/\/video-preview\/(\w+)/)[1];
|
||||
|
||||
release.title = query.content('#dm_content .dmNewParagraph[data-diy-text]');
|
||||
|
||||
release.poster = query.poster('#dm_content video');
|
||||
release.trailer = query.video('#dm_content video source');
|
||||
|
||||
return release;
|
||||
}
|
||||
|
||||
async function fetchScene(url) {
|
||||
const res = await unprint.get(url, {
|
||||
headers: {
|
||||
Accept: '*/*', // seems to respond with JSON otherwise
|
||||
},
|
||||
});
|
||||
|
||||
if (res.ok) {
|
||||
return scrapeScene(res.context, { url });
|
||||
}
|
||||
|
||||
return res.status;
|
||||
}
|
||||
|
||||
async function fetchLatest(channel) {
|
||||
const url = `${channel.url}/free-video`; // no pagination at this time
|
||||
|
||||
const res = await unprint.get(url, {
|
||||
selectAll: '.gallery .photoGalleryThumbs',
|
||||
headers: {
|
||||
Accept: '*/*', // seems to respond with JSON otherwise
|
||||
},
|
||||
});
|
||||
|
||||
if (res.ok) {
|
||||
return scrapeAll(res.context, channel);
|
||||
}
|
||||
|
||||
return res.status;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
fetchLatest,
|
||||
fetchScene,
|
||||
};
|
|
@ -12,7 +12,6 @@ const bang = require('./bang');
|
|||
const bangbros = require('./bangbros');
|
||||
const bradmontana = require('./bradmontana');
|
||||
const cherrypimps = require('./cherrypimps');
|
||||
const cliffmedia = require('./cliffmedia');
|
||||
const cumlouder = require('./cumlouder');
|
||||
const czechav = require('./czechav');
|
||||
const ddfnetwork = require('./ddfnetwork');
|
||||
|
@ -97,7 +96,6 @@ const scrapers = {
|
|||
bradmontana,
|
||||
brazzers: aylo,
|
||||
cherrypimps,
|
||||
cliffmedia,
|
||||
cumlouder,
|
||||
czechav,
|
||||
pornworld: ddfnetwork,
|
||||
|
|
|
@ -28,7 +28,7 @@ function scrapeAll(scenes) {
|
|||
});
|
||||
}
|
||||
|
||||
function scrapeScene({ query }, { url }) {
|
||||
function scrapeScene({ query }, url) {
|
||||
const release = {};
|
||||
|
||||
release.entryId = new URL(url).pathname.match(/\/scene\/(\d+)/)[1];
|
||||
|
@ -70,6 +70,16 @@ async function fetchLatest(channel, page = 1) {
|
|||
return res.status;
|
||||
}
|
||||
|
||||
async function fetchScene(url, channel) {
|
||||
const res = await unprint.get(url);
|
||||
|
||||
if (res.ok) {
|
||||
return scrapeScene(res.context, url, channel);
|
||||
}
|
||||
|
||||
return res.status;
|
||||
}
|
||||
|
||||
async function fetchProfile({ name: actorName }, entity, include) {
|
||||
const url = `${entity.url}/actors/${slugify(actorName, '_')}`;
|
||||
const res = await unprint.get(url);
|
||||
|
@ -83,6 +93,6 @@ async function fetchProfile({ name: actorName }, entity, include) {
|
|||
|
||||
module.exports = {
|
||||
fetchLatest,
|
||||
fetchScene,
|
||||
fetchProfile,
|
||||
scrapeScene,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue