From 4f1dc1463d49167482e1722b4c637eabc560e7aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergey=20M=E2=80=A4?= Date: Sat, 26 Dec 2020 21:24:43 +0700 Subject: [PATCH] [pornhub] Improve like and dislike count extraction (closes #27356) --- youtube_dl/extractor/pornhub.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/pornhub.py b/youtube_dl/extractor/pornhub.py index 21ec48895..2fcbd186f 100644 --- a/youtube_dl/extractor/pornhub.py +++ b/youtube_dl/extractor/pornhub.py @@ -361,12 +361,16 @@ class PornHubIE(PornHubBaseIE): r'(?s)From: .+?<(?:a\b[^>]+\bhref=["\']/(?:(?:user|channel)s|model|pornstar)/|span\b[^>]+\bclass=["\']username)[^>]+>(.+?)<', webpage, 'uploader', default=None) + def extract_vote_count(kind, name): + return self._extract_count( + (r']+\bclass="votes%s"[^>]*>([\d,\.]+)' % kind, + r']+\bclass=["\']votes%s["\'][^>]*\bdata-rating=["\'](\d+)' % kind), + webpage, name) + view_count = self._extract_count( r'([\d,\.]+) [Vv]iews', webpage, 'view') - like_count = self._extract_count( - r']+class="votesUp"[^>]*>([\d,\.]+)', webpage, 'like') - dislike_count = self._extract_count( - r']+class="votesDown"[^>]*>([\d,\.]+)', webpage, 'dislike') + like_count = extract_vote_count('Up', 'like') + dislike_count = extract_vote_count('Down', 'dislike') comment_count = self._extract_count( r'All Comments\s*\(([\d,.]+)\)', webpage, 'comment')