From 4129d62fb2a7d7e64227f2aa4f3cd268a7cb77ed Mon Sep 17 00:00:00 2001 From: huanfei <41602338+huanfe1@users.noreply.github.com> Date: Fri, 10 May 2024 23:03:37 +0800 Subject: [PATCH] fix(route): PornHub (#15540) --- lib/routes/pornhub/category-url.ts | 2 +- lib/routes/pornhub/model.ts | 4 ++-- lib/routes/pornhub/pornstar.ts | 4 ++-- lib/routes/pornhub/users.ts | 4 ++-- lib/routes/pornhub/utils.ts | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/routes/pornhub/category-url.ts b/lib/routes/pornhub/category-url.ts index 5a2af0894..0e50634b2 100644 --- a/lib/routes/pornhub/category-url.ts +++ b/lib/routes/pornhub/category-url.ts @@ -6,7 +6,7 @@ import { headers, parseItems } from './utils'; import InvalidParameterError from '@/errors/types/invalid-parameter'; export const route: Route = { - path: '/:language?/category_url/:url?', + path: '/category_url/:url?/:language?', categories: ['multimedia'], example: '/pornhub/category_url/video%3Fc%3D15%26o%3Dmv%26t%3Dw%26cc%3Djp', parameters: { language: 'language, see below', url: 'relative path after `pornhub.com/`, need to be URL encoded' }, diff --git a/lib/routes/pornhub/model.ts b/lib/routes/pornhub/model.ts index da5f44b01..9b33e073d 100644 --- a/lib/routes/pornhub/model.ts +++ b/lib/routes/pornhub/model.ts @@ -6,7 +6,7 @@ import { headers, parseItems } from './utils'; import InvalidParameterError from '@/errors/types/invalid-parameter'; export const route: Route = { - path: '/:language?/model/:username/:sort?', + path: '/model/:username/:language?/:sort?', categories: ['multimedia'], example: '/pornhub/model/stacy-starando', parameters: { language: 'language, see below', username: 'username, part of the url e.g. `pornhub.com/model/stacy-starando`', sort: 'sorting method, see below' }, @@ -43,7 +43,7 @@ async function handler(ctx) { .map((e) => parseItems($(e))); return { - title: $('title').first().text(), + title: $('h1').first().text(), description: $('section.aboutMeSection').text().trim(), link, image: $('#coverPictureDefault').attr('src'), diff --git a/lib/routes/pornhub/pornstar.ts b/lib/routes/pornhub/pornstar.ts index 9815004bb..dc02e412f 100644 --- a/lib/routes/pornhub/pornstar.ts +++ b/lib/routes/pornhub/pornstar.ts @@ -6,7 +6,7 @@ import { headers, parseItems } from './utils'; import InvalidParameterError from '@/errors/types/invalid-parameter'; export const route: Route = { - path: '/:language?/pornstar/:username/:sort?', + path: '/pornstar/:username/:language?/:sort?', categories: ['multimedia'], example: '/pornhub/pornstar/june-liu', parameters: { language: 'language, see below', username: 'username, part of the url e.g. `pornhub.com/pornstar/june-liu`', sort: 'sorting method, see below' }, @@ -48,7 +48,7 @@ async function handler(ctx) { .map((e) => parseItems($(e))); return { - title: $('title').first().text(), + title: $('h1').first().text(), description: $('section.aboutMeSection').text().trim(), link, image: $('#coverPictureDefault').attr('src'), diff --git a/lib/routes/pornhub/users.ts b/lib/routes/pornhub/users.ts index e3137b601..6e6e33b5d 100644 --- a/lib/routes/pornhub/users.ts +++ b/lib/routes/pornhub/users.ts @@ -6,7 +6,7 @@ import { headers, parseItems } from './utils'; import InvalidParameterError from '@/errors/types/invalid-parameter'; export const route: Route = { - path: '/:language?/users/:username', + path: '/users/:username/:language?', categories: ['multimedia'], example: '/pornhub/users/pornhubmodels', parameters: { language: 'language, see below', username: 'username, part of the url e.g. `pornhub.com/users/pornhubmodels`' }, @@ -43,7 +43,7 @@ async function handler(ctx) { .map((e) => parseItems($(e))); return { - title: $('title').first().text(), + title: $('.profileUserName a').text(), description: $('.aboutMeText').text().trim(), link, image: $('#coverPictureDefault').attr('src'), diff --git a/lib/routes/pornhub/utils.ts b/lib/routes/pornhub/utils.ts index b3b8c68e4..e94989b24 100644 --- a/lib/routes/pornhub/utils.ts +++ b/lib/routes/pornhub/utils.ts @@ -27,7 +27,7 @@ const parseItems = (e) => ({ 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()), + pubDate: dayjs(extractDateFromImageUrl(e.find('img').data('mediumthumb'))).toDate() || parseRelativeDate(e.find('.added').text()), }); export { defaultDomain, headers, renderDescription, parseItems };