diff --git a/youtube_dl/extractor/extractors.py b/youtube_dl/extractor/extractors.py index c996de50a..c5e208ed9 100644 --- a/youtube_dl/extractor/extractors.py +++ b/youtube_dl/extractor/extractors.py @@ -829,6 +829,7 @@ from .pornflip import PornFlipIE from .pornhd import PornHdIE from .pornhub import ( PornHubIE, + PornHubChannelVideosIE, PornHubPlaylistIE, PornHubUserVideosIE, ) diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py index 3428458af..8555d5796 100644 --- a/youtube_dl/extractor/pornhub.py +++ b/youtube_dl/extractor/pornhub.py @@ -306,3 +306,23 @@ class PornHubUserVideosIE(PornHubPlaylistBaseIE): entries.extend(page_entries) return self.playlist_result(entries, user_id) + + +class PornHubChannelVideosIE(PornHubUserVideosIE): + _VALID_URL = r'https?://(?:www\.)?pornhub\.com/channels/(?P[^/]+)/videos' + _TESTS = [{ + # sorted as Top Rated Videos + 'url': 'https://www.pornhub.com/channels/povd/videos?o=ra', + 'info_dict': { + 'id': 'povd', + }, + 'playlist_mincount': 293, + }, { + # Most Recent Videos + 'url': 'https://www.pornhub.com/channels/povd/videos?o=da', + 'only_matching': True, + }, { + # Most Viewed Videos + 'url': 'https://www.pornhub.com/channels/povd/videos?o=vi', + 'only_matching': True, + }]