43 lines
No EOL
1.2 KiB
Python
43 lines
No EOL
1.2 KiB
Python
import json
|
|
from urllib.parse import urlparse
|
|
|
|
def sort_and_save_results(pages, fileName):
|
|
sortedpages = sorted(pages.items(), key=lambda x:x[1], reverse=True)
|
|
sorteddict = dict(sortedpages)
|
|
with open(f"{fileName}.csv", "w") as f:
|
|
f.write("page;visits\n")
|
|
for page, visits in sorteddict.items():
|
|
f.write(f"{page};{str(visits)}\n")
|
|
|
|
def get_results_by_url(history):
|
|
pages = {}
|
|
for i, hentry in enumerate(history):
|
|
pages[hentry["url"]] = hentry["vcount"]
|
|
sort_and_save_results(pages, "by-url")
|
|
|
|
def get_results_by_domain(history):
|
|
pages = {}
|
|
for i, hentry in enumerate(history):
|
|
domain = urlparse(hentry["url"]).netloc
|
|
if domain not in pages:
|
|
pages[domain] = hentry["vcount"]
|
|
else:
|
|
pages[domain] = pages[domain] + hentry["vcount"]
|
|
|
|
sort_and_save_results(pages, "by-domain")
|
|
|
|
def main():
|
|
with open('history.json', 'r') as file:
|
|
data = json.load(file)
|
|
|
|
history = []
|
|
|
|
for entry in data:
|
|
history.append({"url": entry["url"], "title": entry["title"],"lvt": entry["lastVisitTime"],"vcount": entry["visitCount"]})
|
|
|
|
get_results_by_domain(history)
|
|
get_results_by_url(history)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main() |