YourMJK / dreimetadaten

Die drei ??? Metadaten – Datenbank, API und Website
https://dreimetadaten.de
Creative Commons Attribution 4.0 International
26 stars 3 forks source link

ITunes Cover Source URLs Method #3

Closed R3AP3 closed 2 years ago

R3AP3 commented 2 years ago

Hallo ich find dein projekt echt klasse und wollte irgendwie was dazu beitragen. Ich weiss wie ne verlinkung auf das source bild bei itunes erreichen kann und habe dir mal eine liste automatisiert generiert wo alle folgen jeweils eine url haben die auf die quell datei ihres covers verweist. Das ist die direkte quell datei von der itunes normalerweise runter arbeiten würde das is praktisch die datei die der release provider eingereicht hat. Noch originaler gehts nicht. HF.

https://paste.kescher.at/?c3c8b8d849c9ab77#CkM546hWnf3YB9LhiTFRoWn2rpXMKPrfvssEvEyR15sS

YourMJK commented 2 years ago

Wow, das ist wirklich sehr hilfreich! Danke!

Ich hatte schon ein paar mal versucht, einen Weg zu finden, die echten Originale zu bekommen. Leider ohne Erfolg.
Magst du mir verraten, wie man an die Links kommt?
Nvm, hab dein "Amogus"-Projekt gefunden :)

Denke, ich werde das heute Abend noch einbauen.

R3AP3 commented 2 years ago

Jap also passt (amogus is auch nur ein PoC also nicht zu viel erwarten)

Basically gibts ein cdn vom apple asset provisioning system was eben keine authentication braucht sollte man die bilder abfragen. Das hier is das script mit dem ich die liste gemacht hab also in kürzer damit wirds nochmal offensichtlicher denke ich:

import requests
from urllib.parse import unquote, urlparse
from pathlib import PurePosixPath

ids = [1606130509, 1593847687, 1585776843, 1575573696, 1569609366, 1555455044, 1543186727, 1529406670, 1535924407, 1529420801, 1520380006, 1508160053, 1501321342, 1494861137, 1497682097, 1492053303, 1488585423, 1479540077, 1480675865, 1470374382, 1462398864, 1462260403, 1456265671, 1456265306, 1445830975, 1441757895, 1436692770, 1437362850, 1417848434, 1400669710, 1349191008, 1333105792, 1318247066, 1294740417, 1263882229, 1257760310, 1235580462, 1225246976, 1219257238, 1207830126, 1198202669, 1179325253, 1149355993, 1149351939, 1149351738, 1149379770, 1149352111, 1149356212, 1295117431, 1149355884, 1149354207, 1149349243, 1149344576, 1149348842, 1149354238, 1149910943, 1149912131, 1149906410, 1149337256, 1149335801, 1092549930, 1149335077, 1149334526, 1149333942, 1149333141, 1149332439, 1149330399, 1149329426, 1149017354, 1149016169, 1174866876, 1149014175, 1092546618, 1149014146, 1149012208, 1149012184, 1149010695, 1149006848, 1149007296, 1149005753, 1092538532, 1149007411, 1149003866, 1149001129, 1149001066, 1148999592, 1092529878, 1148999599, 1156014250, 452658930, 1148998456, 1148996011, 1148996010, 1092548111, 1148670271, 1148669725, 1148669353, 1148657349, 1148657366, 1148649918, 1148648763, 1148646414, 1148643722, 1148627701, 1148510023, 1092531155, 1148510004, 1148509989, 1148511050, 1148510489, 1146359675, 1146357253, 1146357190, 1146358292, 427643773, 1539646905, 1146357252, 1144029397, 1144030186, 1144029104, 1144029626, 1115207538, 1115204879, 1144029965, 1115202256, 1115201471, 1115200110, 1115199675, 1115197863, 1115207494, 1115175534, 1115173891, 1112996544, 1112998433, 1112995942, 1112995814, 1112995195, 1112996835, 1112993619, 1112993706, 1112991670, 1112992823, 1112985296, 1112983262, 1112981466, 1112977700, 1112977101, 1112976055, 1112975061, 1112975108, 1112972302, 1112972382, 1112967184, 1112968659, 1112967082, 1112971448, 1112967702, 1112960657, 1112961664, 1112959233, 1112957080, 1112958296, 1112955599, 1112953470, 1112954575, 1112951262, 1112949182, 1110781480, 1110780549, 1110779156, 1110778079, 1110777991, 1110776310, 1110774478, 1110774845, 1110774403, 1110773048, 1110323342, 1110323285, 1110322633, 1110322732, 1110323229, 1110318637, 1110318678, 1110316053, 1110311863, 1110312706, 1092502471, 1092503380, 1092518600, 1092503309, 1092503388, 1092504628, 1092532671, 1092501646, 1092538531, 1092527886, 1092531916, 1092538232, 1092534775, 1092529767, 1092537257, 1092542351, 1092530380, 1092551507, 1092535668, 1092535832, 1092537830, 1092538230, 1092534844, 1092535830, 1092541382, 1092535345, 1092541991, 1092538233, 1092530263, 1092530740, 1092533372, 1092537787, 1092529766, 1092539865, 1092539968, 1092533811, 1092538533, 1092534668, 1092537786, 1092535180, 1092529538, 1092538040, 1092538504, 1092528550, 1092534669, 1092528575, 1092538644, 1092531572, 1092530929, 1092529875]
for i in ids:
    response = requests.get(f'https://itunes.apple.com/lookup?id={i}&country=de&entity=album')
    req = response.json()["results"][0]
    cover_url = req["artworkUrl60"]
    p = PurePosixPath(unquote(urlparse(cover_url).path)).parts
    final_url = f"http://a1.mzstatic.com/us/r30/{p[3]}/{p[4]}/{p[5]}/{p[6]}/{p[7]}/{p[8]}/{p[9]}"
    if "Folge" in req["collectionName"]:
        with open("source_covers.txt", "a") as f:
            infos = req["releaseDate"] + '\t' + final_url + "\t" + req["collectionName"] + "\n"
            f.write(infos)
    print(infos)
YourMJK commented 2 years ago

Okay, hat sich jetzt doch gezogen.

Ich hab nämlich rausgefunden, dass es von fast allen Folgen zwei Versionen auf iTunes gibt (denke die ursprünglichen auf iTunes + neue Auflagen für Streaming auf Apple Music etc.). Die alten haben die besseren Coverbilder (originales Seitenverhältnis der CD-Inlays (z.B. 1416x1404px), bessere Farben, anscheinend eine Kompression weniger), allerdings ist der iTunes Store im alten iTunes-client der einzige Weg, den ich kenne, die Links/IDs für die Alben zu bekommen.

Das sind jetzt die IDs, die ich verwenden werde, aufsteigend nach Folgennummer sortiert: https://pastebin.com/mMMMW9ai Unterscheidet sich nur für 1–28 und 30–200 von deinen (für die Spezial"folge" 29 hab ich keine alte Version gefunden).

R3AP3 commented 2 years ago

die ids die ich gefetched hatte sind von apple music gefetched und die bilder dann über die legacy itunes search api requested. Kein plan ich kenne mich ziemlich gut mit apple music api stuff aus hast du discord oder telegram dann kann man da mal schreiben falls du da noch fragen hast oder allgemein irgendwas.