mirror of
https://git.lurk.org/repos/radio-looptober.git
synced 2024-12-22 12:30:32 +01:00
initial commit, grabs all possible loops
This commit is contained in:
parent
8dfa491254
commit
4dfeed8311
62
download_loooooops.py
Normal file
62
download_loooooops.py
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
import requests
|
||||||
|
from time import sleep
|
||||||
|
|
||||||
|
|
||||||
|
#def download_media(dir, url):
|
||||||
|
# remote_url
|
||||||
|
# description
|
||||||
|
|
||||||
|
|
||||||
|
#This pages through all the looptober tag and collects the json in 'data'
|
||||||
|
there_is_more = True
|
||||||
|
url = "https://post.lurk.org/api/v1/timelines/tag/looptober"
|
||||||
|
data = []
|
||||||
|
while there_is_more:
|
||||||
|
print("downloading", url)
|
||||||
|
r = requests.get(url)
|
||||||
|
print(r.status_code)
|
||||||
|
if r.ok:
|
||||||
|
if r.content:
|
||||||
|
|
||||||
|
data.append(r.json())
|
||||||
|
print(len(data))
|
||||||
|
sleep(1)
|
||||||
|
|
||||||
|
if r.links:
|
||||||
|
url = r.links["next"]["url"]
|
||||||
|
print("found next url", url)
|
||||||
|
|
||||||
|
else:
|
||||||
|
print("no more data")
|
||||||
|
there_is_more = False
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
break
|
||||||
|
|
||||||
|
#this parses all the json, taking a few valuable fields and puts them in looooops
|
||||||
|
looooops = []
|
||||||
|
for collection in data:
|
||||||
|
for i in collection:
|
||||||
|
if i["media_attachments"]: #we only take entries that actually contain a sound file
|
||||||
|
creation_date = datetime.datetime.fromisoformat(
|
||||||
|
i['created_at'][:-1]).astimezone(
|
||||||
|
datetime.timezone.utc)
|
||||||
|
|
||||||
|
if creation_date.strftime('%Y') == "2022": #we only take entries from this year
|
||||||
|
stuff = {}
|
||||||
|
stuff["url"] = i["url"]
|
||||||
|
stuff["description"] = i["content"]
|
||||||
|
stuff["audio"] = i["media_attachments"]
|
||||||
|
stuff["date"] = i["created_at"]
|
||||||
|
stuff["id"] = i["id"]
|
||||||
|
stuff["creator"] = i["account"]["username"]
|
||||||
|
looooops.append(stuff)
|
||||||
|
print("found post by {} with {} looops".format(
|
||||||
|
i["account"]["username"],
|
||||||
|
len(i["media_attachments"])))
|
||||||
|
|
||||||
|
|
||||||
|
#for l in looooops:
|
||||||
|
# create a folder per l, named id
|
||||||
|
# download the files in media_attachments using the remote_url
|
||||||
|
# find a way to stuff metadata in the file
|
Loading…
Reference in New Issue
Block a user