diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-06-17 12:00:55 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2022-06-17 12:00:55 +0530 |
commit | 0df111a371f191a2513e681ec30fc8563545c983 (patch) | |
tree | ff5d09abe4f0c1816a048d4a89ed1bfb1b884251 | |
parent | a39a7ba8d6efccf8d2fc8029ecebcb10e6c11d59 (diff) | |
download | hypervideo-pre-0df111a371f191a2513e681ec30fc8563545c983.tar.lz hypervideo-pre-0df111a371f191a2513e681ec30fc8563545c983.tar.xz hypervideo-pre-0df111a371f191a2513e681ec30fc8563545c983.zip |
[youtube] Extract `comment_count` from webpage
Closes #4091
-rw-r--r-- | yt_dlp/extractor/youtube.py | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/yt_dlp/extractor/youtube.py b/yt_dlp/extractor/youtube.py index c3a4f70d9..1b70c8ef1 100644 --- a/yt_dlp/extractor/youtube.py +++ b/yt_dlp/extractor/youtube.py @@ -3684,6 +3684,14 @@ class YoutubeIE(YoutubeBaseInfoExtractor): headers=self.generate_api_headers(ytcfg=master_ytcfg), note='Downloading initial data API JSON') + info['comment_count'] = traverse_obj(initial_data, ( + 'contents', 'twoColumnWatchNextResults', 'results', 'results', 'contents', ..., 'itemSectionRenderer', + 'contents', ..., 'commentsEntryPointHeaderRenderer', 'commentCount', 'simpleText' + ), ( + 'engagementPanels', lambda _, v: v['engagementPanelSectionListRenderer']['panelIdentifier'] == 'comment-item-section', + 'engagementPanelSectionListRenderer', 'header', 'engagementPanelTitleHeaderRenderer', 'contextualInfo', 'runs', ..., 'text' + ), expected_type=int_or_none, get_all=False) + try: # This will error if there is no livechat initial_data['contents']['twoColumnWatchNextResults']['conversationBar']['liveChatRenderer']['continuations'][0]['reloadContinuationData']['continuation'] except (KeyError, IndexError, TypeError): |