mirror of
https://git.sr.ht/~cadence/NewLeaf
synced 2024-11-22 15:47:30 +00:00
Move extract_yt_initial_data to function
This commit is contained in:
parent
080b00bc0c
commit
577cdd8a24
18
index.py
18
index.py
@ -26,6 +26,16 @@ def length_text_to_seconds(text):
|
|||||||
s = text.split(":")
|
s = text.split(":")
|
||||||
return sum([int(x) * 60**(len(s)-i-1) for i, x in enumerate(s)])
|
return sum([int(x) * 60**(len(s)-i-1) for i, x in enumerate(s)])
|
||||||
|
|
||||||
|
r_yt_intial_data = re.compile(r"""^\s*window\["ytInitialData"\] = (\{.*\});\n?$""", re.M)
|
||||||
|
|
||||||
|
def extract_yt_initial_data(content):
|
||||||
|
m_yt_initial_data = re.search(r_yt_intial_data, content)
|
||||||
|
if m_yt_initial_data:
|
||||||
|
yt_initial_data = json.loads(m_yt_initial_data.group(1))
|
||||||
|
return yt_initial_data
|
||||||
|
else:
|
||||||
|
raise Exception("Could not match ytInitialData in content")
|
||||||
|
|
||||||
class Second(object):
|
class Second(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.video_cache = TTLCache(maxsize=50, ttl=300)
|
self.video_cache = TTLCache(maxsize=50, ttl=300)
|
||||||
@ -166,12 +176,10 @@ class Second(object):
|
|||||||
if len(possible_files) == 1:
|
if len(possible_files) == 1:
|
||||||
filename = possible_files[0]
|
filename = possible_files[0]
|
||||||
with open(filename) as file:
|
with open(filename) as file:
|
||||||
r_yt_intial_data = re.compile(r"""^\s*window\["ytInitialData"\] = (\{.*\});\n?$""")
|
|
||||||
r_yt_player_config = re.compile(r"""^\s*[^"]+"cfg"[^"]+ytplayer\.config = (\{.*\});ytplayer\.web_player_context_config = {".""")
|
r_yt_player_config = re.compile(r"""^\s*[^"]+"cfg"[^"]+ytplayer\.config = (\{.*\});ytplayer\.web_player_context_config = {".""")
|
||||||
for line in file:
|
content = file.read()
|
||||||
m_yt_initial_data = re.search(r_yt_intial_data, line)
|
|
||||||
if m_yt_initial_data:
|
yt_initial_data = extract_yt_initial_data(content)
|
||||||
yt_initial_data = json.loads(m_yt_initial_data.group(1))
|
|
||||||
views = yt_initial_data["contents"]["twoColumnWatchNextResults"]["results"]["results"]["contents"][0]\
|
views = yt_initial_data["contents"]["twoColumnWatchNextResults"]["results"]["results"]["contents"][0]\
|
||||||
["videoPrimaryInfoRenderer"]["viewCount"]["videoViewCountRenderer"]
|
["videoPrimaryInfoRenderer"]["viewCount"]["videoViewCountRenderer"]
|
||||||
result["second__viewCountText"] = views["viewCount"]["simpleText"]
|
result["second__viewCountText"] = views["viewCount"]["simpleText"]
|
||||||
|
Loading…
Reference in New Issue
Block a user