[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). |
AudricV
left a comment
There was a problem hiding this comment.
Thanks, I just have a question.
|
@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. |
|
|
||
| @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.
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 |
Stypox
left a comment
There was a problem hiding this comment.
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