-
Notifications
You must be signed in to change notification settings - Fork 425
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[YouTube] Support richGridRenderer on channel page to fix extraction of videos in channels #944
Conversation
Here is a debug build for testing: |
It will be, as it has been announced by YouTube. Check out this video of the Creator Insights official YouTube channel.
I don't think that's a good idea, we should just implement channel tabs in the extractor instead. |
I guess you are right. I was thinking about having to use up to 3 requests go get subscription feed data, but that wont work anyway. YouTube does not show the upload date of shorts, so it wont be possible to merge the 3 tabs into a chronological feed. So I guess we should stick to using the RSS feed for fetching the subscription feed (maybe make that the default option once channel tabs are permanently established). For the actual channel views we would need the 3tab layout in NewPipe (and by that occasion, add channel playlists, too). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks, I just have a question.
...src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java
Outdated
Show resolved
Hide resolved
...src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java
Outdated
Show resolved
Hide resolved
@Theta-Dev Could you answer our questions, please? We'd like to merge this fix ASAP. |
Okay, I added the Also redownloaded the mock files and switched the test to a channel (Jeff Geerling) that has all 3 tabs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Almost good!
extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java
Outdated
Show resolved
Hide resolved
...src/test/java/org/schabi/newpipe/extractor/services/youtube/YoutubeChannelExtractorTest.java
Outdated
Show resolved
Hide resolved
|
||
@Test | ||
public void testDescription() throws Exception { | ||
ExtractorAsserts.assertContains("K8s, Ansible, Raspberry Pi, photography, tech, DIY, tools", extractor.getDescription()); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are we worried about whether the description changes at all? I figure they usually don't, but I wasn't sure how these tests need to be maintained when the description on this channel is changed. (Unless we're working with the owner of this channel and he's agreed not to change the description).
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
YouTube is deploying a new layout on their channel pages, which uses richGridRenderer JSON objects.
5e528eb
to
e4c24d4
Compare
As the change seems to be globally rolled out, I removed the This doesn't mean that I didn't like your code, please don't take this personally (especially because this is the third time that I do this in your PRs): I find the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! I could not find anything to say about the code
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as resolved.
This comment was marked as resolved.
@yauhen-l The error parsing the subscriber counts on the search page is unrelated to this PR and is already fixed by #978. The missing livestreams issue will be fixed by #951. Since that requires new tabs to be added to the UI, implementing it might take some more time. You can download a test build with channel tabs here: TeamNewPipe/NewPipe#9182 |
YouTube is currently A/B testing a new layout on their channel pages, which uses a RichGridRenderer. The current version of NewPipe cant extract any videos from it, resulting in an empty channel page. This PR adds support for it.
Here is a response file with the new layout: https://code.thetadev.de/ThetaDev/rustypipe/src/branch/main/testfiles/channel/channel_videos_20221011_richgrid2.json
I could not reproduce the error on my own without tools (the A/B test seems to be pretty rare for me). But there are already people having issues with the channel pages in NewPipe. See https://libreddit.kavin.rocks/r/NewPipe/comments/y1zg5m/why_are_certain_educative_channels_invisible_from/
Fixes TeamNewPipe/NewPipe#9223