add latency/readtime reporting for more things, round the numbers by reasonable amount
This commit is contained in:
parent
03f5ccbacb
commit
dd800485f0
@ -168,7 +168,7 @@ def fetch_url(url, headers=(), timeout=15, report_text=None):
|
|||||||
content = response.read()
|
content = response.read()
|
||||||
read_finish = time.time()
|
read_finish = time.time()
|
||||||
if report_text:
|
if report_text:
|
||||||
print(report_text, ' Latency:', response_time - start_time, ' Read time:', read_finish - response_time)
|
print(report_text, ' Latency:', round(response_time - start_time,3), ' Read time:', round(read_finish - response_time,3))
|
||||||
content = decode_content(content, response.getheader('Content-Encoding', default='identity'))
|
content = decode_content(content, response.getheader('Content-Encoding', default='identity'))
|
||||||
return content
|
return content
|
||||||
|
|
||||||
|
@ -46,9 +46,9 @@ headers_1 = (
|
|||||||
('X-YouTube-Client-Version', '2.20180614'),
|
('X-YouTube-Client-Version', '2.20180614'),
|
||||||
)
|
)
|
||||||
|
|
||||||
def playlist_first_page(playlist_id):
|
def playlist_first_page(playlist_id, report_text = "Retrieved playlist"):
|
||||||
url = 'https://m.youtube.com/playlist?list=' + playlist_id + '&ajax=1&disable_polymer=true'
|
url = 'https://m.youtube.com/playlist?list=' + playlist_id + '&ajax=1&disable_polymer=true'
|
||||||
content = common.fetch_url(url, common.mobile_ua + headers_1)
|
content = common.fetch_url(url, common.mobile_ua + headers_1, report_text=report_text)
|
||||||
if content[0:4] == b")]}'":
|
if content[0:4] == b")]}'":
|
||||||
content = content[4:]
|
content = content[4:]
|
||||||
content = json.loads(common.uppercase_escape(content.decode('utf-8')))
|
content = json.loads(common.uppercase_escape(content.decode('utf-8')))
|
||||||
@ -66,12 +66,11 @@ def get_videos_ajax(playlist_id, page):
|
|||||||
'X-YouTube-Client-Name': '2',
|
'X-YouTube-Client-Name': '2',
|
||||||
'X-YouTube-Client-Version': '1.20180508',
|
'X-YouTube-Client-Version': '1.20180508',
|
||||||
}
|
}
|
||||||
print("Sending playlist ajax request")
|
|
||||||
content = common.fetch_url(url, headers)
|
content = common.fetch_url(url, headers, report_text="Retrieved playlist")
|
||||||
'''with open('debug/playlist_debug', 'wb') as f:
|
'''with open('debug/playlist_debug', 'wb') as f:
|
||||||
f.write(content)'''
|
f.write(content)'''
|
||||||
content = content[4:]
|
content = content[4:]
|
||||||
print("Finished recieving playlist response")
|
|
||||||
|
|
||||||
info = json.loads(common.uppercase_escape(content.decode('utf-8')))
|
info = json.loads(common.uppercase_escape(content.decode('utf-8')))
|
||||||
return info
|
return info
|
||||||
@ -88,7 +87,7 @@ def get_playlist_page(query_string):
|
|||||||
this_page_json = first_page_json
|
this_page_json = first_page_json
|
||||||
else:
|
else:
|
||||||
tasks = (
|
tasks = (
|
||||||
gevent.spawn(playlist_first_page, playlist_id ),
|
gevent.spawn(playlist_first_page, playlist_id, report_text="Retrieved playlist info" ),
|
||||||
gevent.spawn(get_videos_ajax, playlist_id, page)
|
gevent.spawn(get_videos_ajax, playlist_id, page)
|
||||||
)
|
)
|
||||||
gevent.joinall(tasks)
|
gevent.joinall(tasks)
|
||||||
|
@ -55,7 +55,7 @@ def get_search_json(query, page, autocorrect, sort):
|
|||||||
'X-YouTube-Client-Version': '2.20180418',
|
'X-YouTube-Client-Version': '2.20180418',
|
||||||
}
|
}
|
||||||
url += "&pbj=1&sp=" + page_number_to_sp_parameter(page, autocorrect, sort).replace("=", "%3D")
|
url += "&pbj=1&sp=" + page_number_to_sp_parameter(page, autocorrect, sort).replace("=", "%3D")
|
||||||
content = common.fetch_url(url, headers=headers)
|
content = common.fetch_url(url, headers=headers, report_text="Got search results")
|
||||||
info = json.loads(content)
|
info = json.loads(content)
|
||||||
return info
|
return info
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user