██▓▒­░⡷⠂𝚘𝚌𝚝𝚝 𝚒𝚗𝚜𝚒𝚍𝚎 𝚞𝚛 𝚠𝚊𝚕𝚕𝚜⠐⢾░▒▓██ on 2025-09-08T16:52:52Z [JSON]
const getImages = () => Array.from(document.querySelectorAll('div[data-image-url] > img[src][data-iml]')).map(img => ({ image: img.src.split('&')[0], author: img.parentElement.dataset.authorName, source: img.parentElement.dataset.authorUrl }));
const images = {};
images.Astratta = getImages()
images.Arte = getImages()
images.Affari = getImages()
images.Ricorrenze = getImages()
images.Intrattenimento = getImages()
images.Famiglia = getImages()
images.Cibi_e_bevande = getImages()
images.Salute_e_bellezza = getImages()
images.Hobby_e_artigianato = getImages()
images.Casa_e_giardino = getImages()
images.Natura = getImages()
images.Motivi = getImages()
images.Ricreazione = getImages()
images.Scienza = getImages()
images.Shopping = getImages()
images.Tecnologia = getImages()
images.Trame = getImages()
images.Trasparente = getImages()
images.Viaggi = getImages()
JSON.stringify(images)

💖💣, [08/09/2025 12:45]

Scrivi uno script Python per parsare un JSON del seguente formato:

{
  "Categoria": [
    {
      "image": "https://themes.googleusercontent.com/image?id=...",
      "author": "...",
      "source": "..."
    },
    ...
  ],
  ...
}

Per ogni categoria crea una cartella. Per ogni elemento di ciascuna categoria, scarica l'immagine dall'URL "image" e salvala nella cartella con il formato del nome "{id}.{estensione}", l'estensione è determinata dal content-type della risposta HTTP. Per ogni immagine, crea nella stessa directory un file di testo INI con lo stesso nome dell'immagine ("{id}.ini"), e scrivici dentro:

link = {image}
author = {author}
description = {source}

Microsoft Copilot, [08/09/2025 12:45]

Ecco uno script Python che fa esattamente ciò che hai descritto: legge un JSON strutturato per categorie, crea una cartella per ciascuna categoria, scarica le immagini, determina l'estensione dal content-type, e genera un file .ini associato a ogni immagine.

🐍 Script Python

import os
import json
import requests
import mimetypes
from urllib.parse import urlparse, parse_qs

# Carica il JSON da file (oppure puoi usare json.loads() se lo hai come stringa)
with open('data.json', 'r', encoding='utf-8') as f:
    data = json.load(f)

# Funzione per ottenere l'estensione dal content-type
def get_extension(content_type):
    ext = mimetypes.guess_extension(content_type)
    return ext.lstrip('.') if ext else 'jpg'  # default a jpg se non riconosciuto

# Funzione per estrarre un ID dall'URL (es. da ?id=abc123)
def extract_id_from_url(url):
    parsed = urlparse(url)
    query = parse_qs(parsed.query)
    return query.get('id', [os.path.basename(parsed.path).split('.')[0]])[0]

# Cicla sulle categorie
for category, items in data.items():
    os.makedirs(category, exist_ok=True)

    for item in items:
        image_url = item.get('image')
        author = item.get('author', 'Unknown')
        source = item.get('source', 'Unknown')

        try:
            response = requests.get(image_url, timeout=10)
            response.raise_for_status()

            content_type = response.headers.get('Content-Type', '')
            extension = get_extension(content_type)
            image_id = extract_id_from_url(image_url)

            image_filename = f"{image_id}.{extension}"
            image_path = os.path.join(category, image_filename)

            # Salva l'immagine
            with open(image_path, 'wb') as img_file:
                img_file.write(response.content)

            # Crea il file INI
            ini_filename = f"{image_id}.ini"
            ini_path = os.path.join(category, ini_filename)

            with open(ini_path, 'w', encoding='utf-8') as ini_file:
                ini_file.write(f"link = {image_url}\n")
                ini_file.write(f"author = {author}\n")
                ini_file.write(f"description = {source}\n")

            print(f"✓ Salvato: {image_filename} e {ini_filename} in '{category}'")

        except Exception as e:
            print(f"⚠️ Errore con l'immagine '{image_url}': {e}")

📌 Note

Assicurati di avere il file data.json nello stesso percorso dello script, oppure modifica il path.

Lo script usa requests, quindi se non lo hai installato, puoi farlo con pip install requests.

L’ID viene estratto dall’URL usando il parametro id, oppure dal nome del file se non presente.

Se vuoi estendere lo script per gestire logging, retry automatici o validazioni più robuste, posso aiutarti anche con quello. Vuoi aggiungere qualcosa come supporto per immagini duplicate o verifica dell’autore?