#!/usr/bin/python3
import time, sys, email.utils
# python3-requests
import requests
board = (sys.argv[1] if len(sys.argv) > 1 else None) or 'qa'
now = int(time.time())
archives = 'https://a.4cdn.org/' + board + '/archive.json'
thread_placeholder = 'https://a.4cdn.org/' + board + '/thread/{}.json'
with requests.Session() as s:
threads = s.get(archives).json()
print("thread,time_since_archive")
for thread in threads:
#print("Testing /" + board + "/" + str(thread), file=sys.stderr)
thread_url = thread_placeholder.format(thread)
resp = s.head(thread_url)
if resp.ok:
# archival time is identical with last write time, avoiding pulling the whole thread
archive_time = int(time.mktime(email.utils.parsedate(resp.headers['Last-Modified'])))
time_since = now - archive_time
print(thread, time_since, sep=",")
time.sleep(0.5)
Comments