CRONOLOGIA
RICERCA RAPIDA
Tipo:
 
Rom set:

ADB Services - Scraper

CONDIVIDI QUESTA PAGINA

INTRODUZIONE

Utilizzando questa pagina sarà possibile recuperare dati dal sito web in maniera controllata e quindi comoda per eventuali utilizzi su front-end, scraper ed altri software.
Le informazioni che trovate qui sono sempre aggiornate alle ultime modifiche, quindi questa si intende l'unica versione supportata. Proprio per questo ho previsto un campo release che potrà tornare utile in caso di problemi.

RIFERIMENTI

Le informazioni restituite vanno sempre utilizzate citando la fonte, gli autori e le note di copyright eventualmente presenti.
Potete usare questi uno o più dati tra quelli qui sotto per indicare la fonte:
Scraping using Arcade Database by motoschifo
http://adb.arcadeitalia.net
arcadedatabase@gmail.com
https://www.youtube.com/c/ArcadeDatabase


Ad ogni modo, prima di iniziare ad utilizzare questa pagina, fatemelo sapere con un in modo che possa aggiungere il vostro nome alla pagina dei ringraziamenti/crediti e magari implementare nuove funzioni non ancora previste.

COPYRIGHT

Tutti i marchi, loghi ed immagini appartengono ai rispettivi proprietari e sono qui utilizzati a scopo informativo ("Fair Use" usage, per 17 U.S.C. Section 107). Il loro uso non toglie valore né inibisce le vendite in alcun modo.
Tutti i diritti d'autore e marchi di fabbrica sono di proprietà esclusiva dei rispettivi detentori di copyright e marchi registrati.
MAME® è un marchio registrato di Nicola Salmoria.
Fare riferimento alla pagina dei per ulteriori informazioni.

DOWNLOAD E LIMITI DI BANDA

Al fine di fornire servizi a tutti quanti (scraper, utenti del sito, creatori di video, amministratori), è fortemente consigliato utilizzare una connessione per singolo ip, ovvero un solo thread per interrogare e scaricare i file.
In caso di problemi di banda potrei attivare limiti a queste connessioni o non permettere il download dei file.
Quando possibile inoltre accorpare le chiamate, per es. cercando le informazioni di 10 romset anzichè fare 10 chiamate distinte. Con questo sistema c'è meno overhead e il server potrà fornire più persone per volta.
I dati possono essere trasmessi utilizzando metodi GET o POST. Se si utilizza il primo metodo, fare attenzione al numero massimo di caratteri dell'url e tenersi su 800 circa come totale. Andare oltre potrebbe comportare problemi durante l'elaborazione delle richieste.

FORMATO DEI DATI

Se non diversamente indicato, tutti i dati si intendono in formato json e codifica UTF-8. Utilizzare una libreria di decodifica per non avere problemi in caso di aggiunta parametri.
Tra i parametri in uscita ci saranno sempre questi:
release (int) Numero di versione della funzione, utile per controllare se sono state fatte modifiche rispetto a quanto restituito la volta prima.
Cercherò di mantenere la compatibilità con il passato e quindi le modifiche saranno probabilmente solo nuovi parametri in ingresso o aggiunte di dati in output.
result (object) Contiene i dati della funzione specifica e possono variare anche sensibilmente (vedere sotto per maggiorni informazioni).
In caso di problemi (sito in manutenzione o errori interni) sarà restituito un messaggio HTTP/1.0 503 Service Unavailable.

FUNZIONI DISPONIBILI

QUERY_MAME

Richiede informazioni, immagini, video ed altri dati che riguardano uno o più romset del Mame.
I dati restituiti si riferiscono all'ultima release disponibile per quel romset.

Informazioni dettagliate
URL
http://adb.arcadeitalia.net/service_scraper.php?ajax=query_mame
PARAMETRI DI INPUT
game_name (string) Romset da cercare, sono ammessi valori multipli separati da punto e virgola.

Es. "mslug", "mslug;mslug2;atetris"
use_parent (bool) Opzionale, indica se leggere i dati dal parent se il gioco è un clone e non ha info.

Il controllo è fatto per singola risorsa, quindi può capitare uno snap del gioco ed un marquee del parent.
Valori: 0=No (default), 1=Sì
resize (string) Opzionale, indica il ridimensionamento di tutte le immagini ad una determinata risoluzione:

Valori:
0 - immagine originale (default)
100 oppure 100h - scala a 100px in altezza
200 oppure 200h - scala a 200px in altezza
300 oppure 300h - scala a 300px in altezza
100w - scala a 100px in larghezza
200w - scala a 200px in larghezza
300w - scala a 300px in larghezza

Ogni altro valore è ignorato ed ha come effetto un resize a 200px in altezza. L'aspect ratio viene mantenuto e si utilizza un filtro Lanczos per l'operazione, che viene effettuata al volo (richiede tempo cpu aggiuntivo).
lang (it|en) Opzionale, indica la lingua da utilizzare per le traduzioni di alcuni termini (es. per il genere).

Normalmente meglio non specificare il parametro ed impostare l'header del browser. Dopo la prima chiamata tale valore viene salvato nei cookies e rappresenterà il default per le successive richieste.
RISULTATI IN OUTPUT
Il risultato è un array di oggetti, ognuno contenente questi elementi:
index (int) Numero progressivo, inizia da 1
url (string) Url per informazioni dettagliate del gioco
game_name (string) Romset del gioco. Es. mslug, atetris
title (string) Titolo del gioco. Es. Metal Slug, Tetris (set 1)
cloneof (string) Romset del gioco parent, se presente
manufacturer (string) Produttore
url_image_ingame (string) Url di download dello snapshot ingame in formato png, vuoto se non presente (verifica sul parent se use_parent=1)
url_image_title (string) Url di download del titolo in formato png, vuoto se non presente (verifica sul parent se use_parent=1)
url_image_marquee (string) Url di download del marquee in formato png, vuoto se non presente (verifica sul parent se use_parent=1)
url_image_cabinet (string) Url di download del cabinet in formato png, vuoto se non presente (verifica sul parent se use_parent=1)
url_image_flyer (string) Url di download del volantino in formato png, vuoto se non presente (verifica sul parent se use_parent=1)
url_icon (string) Url di download dell'icona in formato ico, vuoto se non presente (verifica sul parent se use_parent=1) [Release 2]
genre (string) Genere del gioco dai file categoria. Es. Picchiaduro, Guida, ecc.
players (int) Numero di giocatori gestiti dal gioco
year (string) Anno di uscita del gioco. Può contenere simboli per indicare date non certe. Es. 19??
status (string) Stato emulazione del driver.
Valori: GOOD, IMPERFECT, PRELIMINARY, TEST, UNKNOWN
history (string)
history_copyright_short (string)
history_copyright_long (string)
Mame history da www.arcade-history.com oppure progettoemma.net.

Sono presenti due voci di copyright (una lunga ed una corta) ed è necessario mostrare uno dei due contenuti da qualche parte, per es. subito sotto al testo
youtube_video_id (string) ID del video su Youtube (verifica sul parent se use_parent=1).

Si possono aggiungere link diretti o embedded in questo modo:
https://www.youtube.com/watch?v=XXXXXX
https://www.youtube.com/embed/XXXXXX?autoplay=1
url_video_shortplay (string) Url per scaricare il video, vuoto se non presente (verifica sul parent se use_parent=1).

Il video è in formato mp4 (h.264 + aac) a risoluzione nativa del gioco.
url_video_shortplay_hd (string) Url per scaricare il video in 1080p, vuoto se non presente (verifica sul parent se use_parent=1).

Il video è in formato mp4 (h.264 + aac) a risoluzione scalata fino a 1080p verticale.
Il ridimensionamento avviene durante la conversione della partita dal file raw per ottenere la massima qualità possibile.
emulator_id (int) Identificativo unico dell'emulatore all'interno del sito (id).
Può essere usato per capire se ci sono stati aggiornamenti dall'ultima lettura.
emulator_name (string) Nome e release dell'emulatore. Es. "Mame 0.189 (30-ago-2017)"
languages (string) Lingue supportate separate da virgola.

Valori: Brazilian Portuguese, Chinese, Croatian, Dutch, English, French, German, Greek, Hungarian, Italian, Japanese, Korean, Polish, Russian, Slovak, Spanish, Swedish, Czech
Potrebbero aggiungersene altri in futuro.
rate (int) Voto medio del gioco come indicato sul sito. Può assumere valori da 0 (nessun voto) a 100 (voto massimo) con step di una unità.
short_title (string) Nome semplificato del gioco, senza i dati tra parentesi ed altri dettagli (verifica sul parent se use_parent=1) [Release 3]
nplayers (string) Modalità di gioco e numeri di giocatori, da nplayers.ini (Nomax) (verifica sul parent se use_parent=1) [Release 4]
input_controls (string) Tipo di input, da gamelist.xml del Mame (verifica sul parent se use_parent=1) [Release 4]
input_buttons (int) Numero di pulsanti, da gamelist.xml del Mame (verifica sul parent se use_parent=1) [Release 5]
buttons_colors (string) Colori ed etichette dei pulsanti, da colors.ini (headkaze) e controls.xml (SirPoonga)
Il formato è "controllo1:colore1:etichetta1;controllo2:colore2:etichetta2;..." (verifica sul parent se use_parent=1) [Release 4]
serie (string) Nome della serie, da series.ini (ProgettoSnaps) [Release 5]
screen_orientation (string) Tipo di orientamento dello schermo [Release 5]

Valori supportati: Horizontal, Vertical
screen_resolution (string) Risoluzione, frequenza e rotazione dello schermo [Release 5]

Il formato è "larghezzaxaltezzapx @frequenzaHz Rangolo, ..." (verifica sul parent se use_parent=1)

Alcuni valori potrebbero non essere indicati, ad esempio R0 è implicito e vuol dire che non ci sono rotazioni dello schermo. Nel caso di più schermi, si avranno altri dati separati da una virgola.

Es. "256x224px @60Hz R270", "336x240px @59,922743Hz", "320x224px @59,185606Hz"
STORIA DEI CAMBIAMENTI
versione 1, set-2017 Aggiunti i nuovi dati in output url, emulator_id, emulator_name, languages, rate e cambiato players da testo a numero. Aggiunta questa pagina di documentazione.
versione 2, apr-2020 Aggiunto il dato in output url_icon
versione 3, giu-2020 Aggiunto il dato in output short_title
versione 4, ago-2020 Aggiunti i dati nplayers, input_controls, buttons_colors
versione 5, mag-2021 Aggiunti i dati serie, screen_orientation, screen_resolution, input_buttons


ESEMPI






DOWNLOAD_STATUS

Fornisce il numero di download permessi in base alla banda a disposizione del server.
I limiti sono impostati su più livelli e per numero o dimensione file: indirizzo ip / giornaliero, giornaliero, settimanale, mensile.
Se uno solo di questi viene raggiunto, non è permesso scaricare file dal sito.
L'informazione è aggiornata in tempo reale.

Informazioni dettagliate
URL
http://adb.arcadeitalia.net/service_scraper.php?ajax=download_status
PARAMETRI DI INPUT
- Nessun parametro a disposizione
RISULTATI IN OUTPUT
Il risultato è composto da queste variabili:
download_limit_files (int) Numero di file disponibili al download
download_limit_bytes (int) Dimensione in byte disponibili per il download
STORIA DEI CAMBIAMENTI
versione 1, gen-2020 Aggiunta questa pagina di documentazione.


ESEMPI



QUERY_MAME_LIKE

Richiede informazioni dei giochi simili ad un romset Mame.
I dati restituiti si riferiscono all'ultima release disponibile per quel romset.

Informazioni dettagliate
URL
http://adb.arcadeitalia.net/service_scraper.php?ajax=query_mame_like
PARAMETRI DI INPUT
game_name (string) Romset da cercare, è ammesso un solo valore per volta.
RISULTATI IN OUTPUT
Il risultato è un array di oggetti, ognuno contenente questi elementi:
index (int) Numero progressivo, inizia da 1
url (string) Url per informazioni dettagliate del gioco
game_name (string) Romset del gioco. Es. mslug, atetris
title (string) Titolo del gioco. Es. Metal Slug, Tetris (set 1)
short_title (string) Nome semplificato del gioco, senza i dati tra parentesi ed altri dettagli (verifica sul parent se use_parent=1) [Release 3]
cloneof (string) Romset del gioco parent, se presente
manufacturer (string) Produttore
players (int) Numero di giocatori gestiti dal gioco
year (string) Anno di uscita del gioco. Può contenere simboli per indicare date non certe. Es. 19??
status (string) Stato emulazione del driver.
Valori: GOOD, IMPERFECT, PRELIMINARY, TEST, UNKNOWN
STORIA DEI CAMBIAMENTI
versione 1, apr-2021 Versione iniziale


ESEMPI