Compare commits

..

No commits in common. "642784566c4a1f6545b5e4c7ad8ad00cf2403114" and "01b23347b5cdc2cbd964d07f585c92dc88eb985e" have entirely different histories.

View File

@ -108,7 +108,7 @@ class WeiboBaseIE(InfoExtractor):
'like_count': ('attitudes_count', {int_or_none}), 'like_count': ('attitudes_count', {int_or_none}),
'repost_count': ('reposts_count', {int_or_none}), 'repost_count': ('reposts_count', {int_or_none}),
}, get_all=False), }, get_all=False),
'tags': traverse_obj(video_info, ('topic_struct', ..., 'topic_title', {str})) or None, 'tags': traverse_obj(video_info, ('topic_struct', ..., 'topic_title', {str})),
} }
@ -219,7 +219,7 @@ class WeiboUserIE(WeiboBaseIE):
query={'uid': uid, 'cursor': cursor})['data'] query={'uid': uid, 'cursor': cursor})['data']
def _entries(self, uid, first_page): def _entries(self, uid, first_page):
cursor = 0 cursor = 0
for page in itertools.count(1): for page in itertools.count(1):
response = first_page if page == 1 else self._fetch_page(uid, cursor, page) response = first_page if page == 1 else self._fetch_page(uid, cursor, page)
for video_info in traverse_obj(response, ('list', ..., {dict})): for video_info in traverse_obj(response, ('list', ..., {dict})):
@ -231,11 +231,10 @@ class WeiboUserIE(WeiboBaseIE):
def _real_extract(self, url): def _real_extract(self, url):
uid = self._match_id(url) uid = self._match_id(url)
first_page = self._fetch_page(uid) first_page = self._fetch_page(uid)
uploader = traverse_obj(first_page, ('list', ..., 'user', 'screen_name', {str}), get_all=False)
metainfo = {
'title': f'{uploader}的视频',
'description': f'{uploader}的全部视频',
'uploader': uploader,
} if uploader else {}
return self.playlist_result(self._entries(uid, first_page), uid, **metainfo) return self.playlist_result(
self._entries(uid, first_page), uid, **traverse_obj(first_page, {
'title': ('uploader', {lambda i: f'{i}的视频' if i else None}),
'description': ('uploader', {lambda i: f'{i}的全部视频' if i else None}),
'uploader': 'uploader',
}))