[youtube] Fix likes/dislike extraction

This commit is contained in:
Sergey M․ 2015-06-29 00:48:06 +06:00
parent 507683780e
commit c93d53f5e3

View File

@ -29,6 +29,7 @@ from ..utils import (
get_element_by_id, get_element_by_id,
int_or_none, int_or_none,
orderedSet, orderedSet,
str_to_int,
unescapeHTML, unescapeHTML,
unified_strdate, unified_strdate,
uppercase_escape, uppercase_escape,
@ -1005,12 +1006,11 @@ class YoutubeIE(YoutubeBaseInfoExtractor):
video_description = '' video_description = ''
def _extract_count(count_name): def _extract_count(count_name):
count = self._search_regex( return str_to_int(self._search_regex(
r'id="watch-%s"[^>]*>.*?([\d,]+)\s*</span>' % re.escape(count_name), r'-%s-button[^>]+><span[^>]+class="yt-uix-button-content"[^>]*>([\d,]+)</span>'
video_webpage, count_name, default=None) % re.escape(count_name),
if count is not None: video_webpage, count_name, default=None))
return int(count.replace(',', ''))
return None
like_count = _extract_count('like') like_count = _extract_count('like')
dislike_count = _extract_count('dislike') dislike_count = _extract_count('dislike')