Skip to content

Commit 217d13b

Browse files
committed
fix wrong subscription count
1 parent 8a4afe2 commit 217d13b

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/YoutubeChannelInfoItemExtractor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public long getSubscriberCount() throws ParsingException {
6262
final Element subsEl = el.select("span[class*=\"yt-subscriber-count\"]").first();
6363
if (subsEl != null) {
6464
try {
65-
return Long.parseLong(Utils.removeNonDigitCharacters(el.text()));
65+
return Long.parseLong(Utils.removeNonDigitCharacters(subsEl.text()));
6666
} catch (NumberFormatException e) {
6767
throw new ParsingException("Could not get subscriber count", e);
6868
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package org.schabi.newpipe.extractor.services.youtube.search;
2+
3+
import org.junit.BeforeClass;
4+
import org.junit.Test;
5+
import org.schabi.newpipe.Downloader;
6+
import org.schabi.newpipe.extractor.InfoItem;
7+
import org.schabi.newpipe.extractor.NewPipe;
8+
import org.schabi.newpipe.extractor.channel.ChannelInfoItem;
9+
import org.schabi.newpipe.extractor.services.youtube.extractors.YoutubeSearchExtractor;
10+
import org.schabi.newpipe.extractor.services.youtube.linkHandler.YoutubeSearchQueryHandlerFactory;
11+
12+
import static java.util.Collections.singletonList;
13+
import static junit.framework.TestCase.assertTrue;
14+
import static org.schabi.newpipe.extractor.ServiceList.YouTube;
15+
16+
public class YoutubeSearchCountTest {
17+
public static class YoutubeChannelViewCountTest extends YoutubeSearchExtractorBaseTest {
18+
@BeforeClass
19+
public static void setUpClass() throws Exception {
20+
NewPipe.init(Downloader.getInstance());
21+
extractor = (YoutubeSearchExtractor) YouTube.getSearchExtractor("pewdiepie",
22+
singletonList(YoutubeSearchQueryHandlerFactory.CHANNELS), null,"de");
23+
extractor.fetchPage();
24+
itemsPage = extractor.getInitialPage();
25+
}
26+
27+
@Test
28+
public void testViewCount() throws Exception {
29+
boolean foundKnownChannel = false;
30+
ChannelInfoItem ci = (ChannelInfoItem) itemsPage.getItems().get(0);
31+
assertTrue("Count does not fit: " + Long.toString(ci.getSubscriberCount()),
32+
65043316 < ci.getSubscriberCount() && ci.getSubscriberCount() < 68043316);
33+
}
34+
}
35+
}

0 commit comments

Comments
 (0)