mirror of
https://github.com/iv-org/invidious.git
synced 2025-12-04 04:48:30 -06:00
Fix trending page by leaving livestream and gaming trending pages
The livestream trending page is now the default.
Adds `content_container = special_category_container["gridRenderer"]?` in the `CategoryRendererParser`
needed for the gaming trending page. The JSON structure of the gaming
trending page looked like this:
```json
"contents": {
"twoColumnBrowseResultsRenderer": {
"tabs": [
{
"tabRenderer": {
"selected": true,
"content": {
"sectionListRenderer": {
"contents": [
{
"itemSectionRenderer": {
"contents": [
{
"shelfRenderer": {
"title": {
"runs": [
{
"text": "Trending videos"
}
]
},
"content": {
"gridRenderer": { // <- This was added to the CategoryRendererParser
"items": [
{
"gridVideoRenderer": {
"videoId": "sTWztaLjD20",
// More video data
// ...
}
}
]
}
}
}
}
]
}
}
]
}
}
}
}
]
}
}
```
Thanks to
ae2755bf71/extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/extractors/kiosk/YoutubeTrendingGamingVideosExtractor.java (L11-L13)
for the `browse_id` and `params` needed for the gaming trending page.
This commit is contained in:
parent
35d1d499bc
commit
6ffdb5d2c8
@ -4,20 +4,21 @@ def fetch_trending(trending_type, region, locale)
|
|||||||
|
|
||||||
plid = nil
|
plid = nil
|
||||||
|
|
||||||
browse_id = "FEtrending"
|
browse_id = ""
|
||||||
|
|
||||||
case trending_type.try &.downcase
|
case trending_type.try &.downcase
|
||||||
when "music"
|
|
||||||
params = "4gINGgt5dG1hX2NoYXJ0cw%3D%3D"
|
|
||||||
when "gaming"
|
when "gaming"
|
||||||
params = "4gIcGhpnYW1pbmdfY29ycHVzX21vc3RfcG9wdWxhcg%3D%3D"
|
browse_id = "UCOpNcN46UbXVtpKMrmU4Abg"
|
||||||
when "movies"
|
params = "Egh0cmVuZGluZw%3D%3D"
|
||||||
params = "4gIKGgh0cmFpbGVycw%3D%3D"
|
|
||||||
when "livestreams"
|
when "livestreams"
|
||||||
browse_id = "UC4R8DWoMoI7CAwX8_LjQHig"
|
browse_id = "UC4R8DWoMoI7CAwX8_LjQHig"
|
||||||
params = "EgdsaXZldGFikgEDCKEK"
|
params = "EgdsaXZldGFikgEDCKEK"
|
||||||
else # Default
|
else
|
||||||
params = ""
|
# Livestreams is the default one as Youtube removed
|
||||||
|
# the aggregated trending page
|
||||||
|
# https://github.com/iv-org/invidious/issues/5397#issuecomment-3218928458
|
||||||
|
browse_id = "UC4R8DWoMoI7CAwX8_LjQHig"
|
||||||
|
params = "EgdsaXZldGFikgEDCKEK"
|
||||||
end
|
end
|
||||||
|
|
||||||
client_config = YoutubeAPI::ClientConfig.new(region: region)
|
client_config = YoutubeAPI::ClientConfig.new(region: region)
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="pure-u-1-3">
|
<div class="pure-u-1-3">
|
||||||
<div class="pure-g" style="text-align:right">
|
<div class="pure-g" style="text-align:right">
|
||||||
<% {"Default", "Music", "Gaming", "Movies", "Livestreams"}.each do |option| %>
|
<% {"Livestreams", "Gaming"}.each do |option| %>
|
||||||
<div class="pure-u-1 pure-md-1-3">
|
<div class="pure-u-1 pure-md-1-3">
|
||||||
<% if trending_type == option %>
|
<% if trending_type == option %>
|
||||||
<b><%= translate(locale, option) %></b>
|
<b><%= translate(locale, option) %></b>
|
||||||
|
|||||||
@ -442,6 +442,7 @@ private module Parsers
|
|||||||
if content_container = special_category_container["horizontalListRenderer"]?
|
if content_container = special_category_container["horizontalListRenderer"]?
|
||||||
elsif content_container = special_category_container["expandedShelfContentsRenderer"]?
|
elsif content_container = special_category_container["expandedShelfContentsRenderer"]?
|
||||||
elsif content_container = special_category_container["verticalListRenderer"]?
|
elsif content_container = special_category_container["verticalListRenderer"]?
|
||||||
|
elsif content_container = special_category_container["gridRenderer"]?
|
||||||
else
|
else
|
||||||
# Anything else, such as `horizontalMovieListRenderer` is currently unsupported.
|
# Anything else, such as `horizontalMovieListRenderer` is currently unsupported.
|
||||||
return
|
return
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user