RSSHub/lib/v2/pornhub/utils.js

36 lines
1.1 KiB
JavaScript

const { art } = require('@/utils/render');
const path = require('path');
const { parseRelativeDate } = require('@/utils/parse-date');
const dayjs = require('dayjs');
const defaultDomain = 'https://www.pornhub.com';
const headers = {
accessAgeDisclaimerPH: 1,
hasVisited: 1,
};
const renderDescription = (data) => art(path.join(__dirname, 'templates/description.art'), data);
const extractDateFromImageUrl = (imageUrl) => {
const matchResult = imageUrl.match(/(\d{6})\/(\d{2})/);
return matchResult ? matchResult.slice(1, 3).join('') : null;
};
const parseItems = (e) => ({
title: e.find('span.title a').text().trim(),
link: defaultDomain + e.find('span.title a').attr('href'),
description: renderDescription({
poster: e.find('img').data('mediumthumb'),
previewVideo: e.find('img').data('mediabook'),
}),
author: e.find('.usernameWrap a').text(),
pubDate: dayjs(extractDateFromImageUrl(e.find('img').data('mediumthumb'))) || parseRelativeDate(e.find('.added').text()),
});
module.exports = {
defaultDomain,
headers,
renderDescription,
parseItems,
};