Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import json
- def parse_verlauf():
- with open("Wiedergabeverlauf.json", encoding='utf-8') as input_file:
- verlauf = json.load(input_file)
- videos = {}
- channels = {}
- entfernt_count = 0
- for entry in verlauf:
- if "titleUrl" in entry:
- if "subtitles" in entry:
- video_id = entry["titleUrl"].split("=")[-1]
- channel = entry["subtitles"][0]["name"]
- if channel in channels:
- channels[channel]["sum"] += 1
- if video_id not in videos:
- channels[channel]["unique"] += 1
- else:
- channels[channel] = {
- "sum": 1,
- "unique": 1
- }
- if video_id in videos:
- videos[video_id]["views"] += 1
- else:
- videos[video_id] = {
- "views": 1,
- "url": entry["titleUrl"],
- "title": entry["title"]
- }
- #else:
- # print(entry)
- else:
- if "entfernt" in entry["title"]:
- entfernt_count += 1
- #else:
- # print(entry)
- print(f"{entfernt_count} Entfernte Videos")
- #sorted_videos= sorted([entry for entry in videos.values() if entry["views"] > 2], key=lambda entry: entry["views"], reverse=True)
- #for video in sorted_videos:
- # print(video)
- sorted_channels = sorted([(key, val["sum"], val["unique"], val["sum"]-val["unique"]) for key, val in channels.items() if val["sum"] > 4], key=lambda entry: entry[3], reverse=True)
- for channel in sorted_channels:
- print(f"{channel[0]}: {channel[1]} ({channel[2]}) {channel[3]}")
- def parse_searches():
- with open("Suchverlauf.json", encoding='utf-8') as input_file:
- verlauf = json.load(input_file)
- searches = {}
- keyWords = {}
- for entry in verlauf:
- if "titleUrl" in entry:
- search_id = entry["titleUrl"].split("=")[-1]
- if search_id in searches:
- searches[search_id]["count"] += 1
- else:
- searches[search_id] = {
- "count": 1,
- "url": entry["titleUrl"],
- "title": entry["title"]
- }
- for keyWord in search_id.split("+"):
- if keyWord in keyWords:
- keyWords[keyWord] += 1
- else:
- keyWords[keyWord] = 1
- else:
- print(entry)
- sorted_searches= sorted([entry for entry in searches.values() if entry["count"] > 2], key=lambda entry: entry["count"], reverse=True)
- for search in sorted_searches:
- print(search)
- sorted_keyWords = sorted([(key, count) for key, count in keyWords.items() if count > 4], key=lambda entry: entry[1], reverse=True)
- for keyWord in sorted_keyWords:
- print(f"{keyWord[0]}: {keyWord[1]}")
- if __name__ == "__main__":
- parse_verlauf()
- #parse_searches()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement