Switch to desktop endpnt w/ new ctoken format except sort by old>1

Sorting by old for pages > 1 currently broken on some channels;
it's still using the mobile endpoint.
This commit is contained in:
James Taylor 2020-08-12 14:46:29 -07:00
parent 4bedf55461
commit ac9b7f0162
2 changed files with 18 additions and 18 deletions

View File

@ -28,7 +28,8 @@ headers_pbj = (
('X-YouTube-Client-Name', '2'), ('X-YouTube-Client-Name', '2'),
('X-YouTube-Client-Version', '2.20180830'), ('X-YouTube-Client-Version', '2.20180830'),
) )
generic_cookie = (('Cookie', 'VISITOR_INFO1_LIVE=8XihrAcN1l4'),) real_cookie = (('Cookie', 'VISITOR_INFO1_LIVE=8XihrAcN1l4'),)
generic_cookie = (('Cookie', 'VISITOR_INFO1_LIVE=ST1Ti53r4fU'),)
# SORT: # SORT:
# videos: # videos:
@ -89,17 +90,23 @@ def channel_ctoken_mobile(channel_id, page, sort, tab, view=1):
return base64.urlsafe_b64encode(pointless_nest).decode('ascii') return base64.urlsafe_b64encode(pointless_nest).decode('ascii')
def get_channel_tab(channel_id, page="1", sort=3, tab='videos', view=1, print_status=True): def get_channel_tab(channel_id, page="1", sort=3, tab='videos', view=1, print_status=True):
ctoken = channel_ctoken_mobile(channel_id, page, sort, tab, view) message = 'Got channel tab' if print_status else None
ctoken = ctoken.replace('=', '%3D')
url = ('https://m.youtube.com/channel/' + channel_id + '/' + tab
+ '?ctoken=' + ctoken + '&pbj=1')
if print_status: if int(sort) == 2 and int(page) > 1: # use mobile endpoint
print("Sending channel tab ajax request") ctoken = channel_ctoken_mobile(channel_id, page, sort, tab, view)
content = util.fetch_url(url, ctoken = ctoken.replace('=', '%3D')
util.mobile_ua + headers_pbj + generic_cookie, debug_name='channel_tab') url = ('https://m.youtube.com/channel/' + channel_id + '/' + tab
if print_status: + '?ctoken=' + ctoken + '&pbj=1')
print("Finished recieving channel tab response") content = util.fetch_url(url,
util.mobile_ua + headers_pbj + real_cookie,
debug_name='channel_tab', report_text=message)
else: # use desktop endpoint
ctoken = channel_ctoken_desktop(channel_id, page, sort, tab, view)
ctoken = ctoken.replace('=', '%3D')
url = 'https://www.youtube.com/browse_ajax?ctoken=' + ctoken
content = util.fetch_url(url,
util.desktop_ua + headers_1 + generic_cookie,
debug_name='channel_tab', report_text=message)
return content return content

View File

@ -68,13 +68,6 @@
.item-grid{ .item-grid{
padding-left: 20px; padding-left: 20px;
} }
.item-grid .horizontal-item-box .item{
width:330px;
}
.no-description .thumbnail-box{
width: 120px;
height:90px;
}
.item-list{ .item-list{
width:800px; width:800px;
margin: auto; margin: auto;