From e4081243e705f8cf0236ceddf8213b222242c4f9 Mon Sep 17 00:00:00 2001 From: litetex <40789489+litetex@users.noreply.github.com> Date: Sat, 15 Feb 2025 15:02:30 +0100 Subject: [PATCH] Improve documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit > > I think you can use YoutubeParsingHelper.getTextFromObject() > That was used there before however I did not choose to use it again. > > ``runs`` returns an array with 3 items containing: > 0: ```` > 1: ``•`` > 2: ```` > > There is 2 problems with that: > 1. It's inefficient for extracting the subscription count > 2. If for some reason the artist now has a name like "2k" the extraction malfunctions See also: https://github.com/TeamNewPipe/NewPipeExtractor/pull/1277#discussion_r1955148742 --- .../youtube/extractors/YoutubeMusicArtistInfoItemExtractor.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMusicArtistInfoItemExtractor.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMusicArtistInfoItemExtractor.java index 7c0642c08..4fe2dc666 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMusicArtistInfoItemExtractor.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeMusicArtistInfoItemExtractor.java @@ -68,6 +68,8 @@ public class YoutubeMusicArtistInfoItemExtractor implements ChannelInfoItemExtra .getObject("musicResponsiveListItemFlexColumnRenderer") .getObject("text") .getArray("runs"); + // NOTE: YoutubeParsingHelper#getTextFromObject would use all entries from the run array, + // which is not wanted as only the last entry contains the actual subscriberCount final String subscriberCount = runs.getObject(runs.size() - 1) .getString("text"); if (!isNullOrEmpty(subscriberCount)) {