Compare commits

...

3 Commits

Author SHA1 Message Date
c-basalt
642784566c
Update yt_dlp/extractor/weibo.py
Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
2023-09-18 16:25:57 -04:00
c-basalt
4ad3967297 fallback to None for empty tags list 2023-09-18 15:42:12 -04:00
c-basalt
a1ef7ef6c3 update playlist meta extraction 2023-09-18 15:32:47 -04:00

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})), 'tags': traverse_obj(video_info, ('topic_struct', ..., 'topic_title', {str})) or None,
} }
@ -231,10 +231,11 @@ 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( return self.playlist_result(self._entries(uid, first_page), uid, **metainfo)
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',
}))