From 3bba01a3dd11d3dae4a2c52218ae0509623b09af Mon Sep 17 00:00:00 2001 From: Jake Howard Date: Thu, 4 May 2023 09:12:45 +0100 Subject: [PATCH] Output results to CSV --- .gitignore | 2 ++ report.py | 9 +++++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index ad4a1f1..8c1c01f 100644 --- a/.gitignore +++ b/.gitignore @@ -174,3 +174,5 @@ poetry.toml pyrightconfig.json # End of https://www.toptal.com/developers/gitignore/api/python + +report-*.csv diff --git a/report.py b/report.py index 1019741..3f822a8 100644 --- a/report.py +++ b/report.py @@ -3,6 +3,7 @@ import argparse import os import datetime from itertools import count +import csv PLAUSIBLE_HOSTNAME = os.environ.get("PLAUSIBLE_HOSTNAME", "plausible.io") @@ -19,6 +20,7 @@ def get_pages(site_id: str, session: requests.Session): today = datetime.datetime.now().date().isoformat() for page_num in count(start=1): + print("Fetching page", page_num) response = session.get(f"https://{PLAUSIBLE_HOSTNAME}/api/v1/stats/breakdown", params={ "site_id": site_id, "period": "custom", @@ -41,8 +43,11 @@ def main(): session = requests.Session() session.headers["Authorization"] = "Bearer " + os.environ["PLAUSIBLE_API_TOKEN"] - for page in get_pages(args.site_id, session): - print(page["page"], page["visitors"]) + with open(f"report-{args.site_id}.csv", "w") as f: + writer = csv.DictWriter(f, fieldnames=["page", "visitors"]) + + for page in get_pages(args.site_id, session): + writer.writerow(page) if __name__ == "__main__":