Compare commits

...

2 Commits

Author SHA1 Message Date
DebaucheryLibrarian 53a1c697d0 1.202.1 2021-11-28 01:20:41 +01:00
DebaucheryLibrarian f04eb72891 Added upcoming scraper to PurgatoryX. 2021-11-28 01:20:39 +01:00
3 changed files with 30 additions and 10 deletions

4
package-lock.json generated
View File

@ -1,12 +1,12 @@
{
"name": "traxxx",
"version": "1.202.0",
"version": "1.202.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "traxxx",
"version": "1.202.0",
"version": "1.202.1",
"license": "ISC",
"dependencies": {
"@casl/ability": "^5.2.2",

View File

@ -1,6 +1,6 @@
{
"name": "traxxx",
"version": "1.202.0",
"version": "1.202.1",
"description": "All the latest porn releases in one place",
"main": "src/app.js",
"scripts": {

View File

@ -37,12 +37,26 @@ function scrapeAll(scenes) {
}
}
console.log(release.photos);
return release;
});
}
function scrapeUpcoming({ query }) {
const release = {};
release.url = query.url('.bottom-info a');
release.entryId = new URL(release.url).pathname.match(/\/view\/(\d+)/)?.[1];
release.title = query.cnt('.title');
release.actors = query.all('.model-wrap li').map((el) => ({
name: query.cnt(el, 'h5'),
url: query.url(el, '.model-thumb a'),
avatar: query.img(el, '.model-thumb img'),
}));
return release;
}
function scrapeScene({ query }, url) {
const release = {};
@ -65,8 +79,6 @@ function scrapeScene({ query }, url) {
release.comment = query.cnt('.series');
console.log(release);
return release;
}
@ -80,6 +92,16 @@ async function fetchLatest(channel, page) {
return res.status;
}
async function fetchUpcoming(channel) {
const res = await qu.get(channel.url, '.upcoming-info-wrap');
if (res.ok && res.item) {
return [scrapeUpcoming(res.item, channel)];
}
return res.status;
}
function scrapeProfile({ query }, url) {
const profile = { url };
@ -101,9 +123,6 @@ function scrapeProfile({ query }, url) {
profile.scenes = scrapeAll(qu.initAll(query.all('.content-item')));
console.log(bio);
console.log(profile);
return profile;
}
@ -147,6 +166,7 @@ async function fetchProfile(baseActor, context, include, retry = false) {
module.exports = {
fetchLatest,
fetchProfile,
fetchUpcoming,
scrapeAll,
scrapeScene,
};