|
@@ -10,6 +10,7 @@ from ..utils import (
|
|
|
ExtractorError,
|
|
|
HEADRequest,
|
|
|
int_or_none,
|
|
|
+ str_to_int,
|
|
|
parse_iso8601,
|
|
|
)
|
|
|
|
|
@@ -85,15 +86,17 @@ class MixcloudIE(InfoExtractor):
|
|
|
uploader_id = self._search_regex(
|
|
|
r'\s+"profile": "([^"]+)",', webpage, 'uploader id', fatal=False)
|
|
|
description = self._og_search_description(webpage)
|
|
|
- like_count = int_or_none(self._search_regex(
|
|
|
- r'<meta itemprop="interactionCount" content="UserLikes:([0-9]+)"',
|
|
|
+ like_count = str_to_int(self._search_regex(
|
|
|
+ [r'<meta itemprop="interactionCount" content="UserLikes:([0-9]+)"',
|
|
|
+ r'/favorites/?">([0-9]+)<'],
|
|
|
webpage, 'like count', fatal=False))
|
|
|
- view_count = int_or_none(self._search_regex(
|
|
|
- r'<meta itemprop="interactionCount" content="UserPlays:([0-9]+)"',
|
|
|
+ view_count = str_to_int(self._search_regex(
|
|
|
+ [r'<meta itemprop="interactionCount" content="UserPlays:([0-9]+)"',
|
|
|
+ r'/listeners/?">([0-9,.]+)</a>'],
|
|
|
webpage, 'play count', fatal=False))
|
|
|
timestamp = parse_iso8601(self._search_regex(
|
|
|
r'<time itemprop="dateCreated" datetime="([^"]+)">',
|
|
|
- webpage, 'upload date'))
|
|
|
+ webpage, 'upload date', default=None))
|
|
|
|
|
|
return {
|
|
|
'id': track_id,
|