Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:


Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-


Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum

scraping dati e url aggiuntivi

Il database che raccoglie tutte le informazioni sui giochi, video, screenshot e tanto altro ancora

Moderatore: Moderatore ADB

Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

scraping dati e url aggiuntivi

Messaggio da Gothrek »

ciao @motoschifo
mi ricordo quando ne parlammo che diversi software di scraping hanno delle api dedicate, io mi appoggio ancora su quelle "ufficiali" che mi avevi dato.

Volevo capire come recuperare tutta una serie di info che nel json "base" non ho, faccio alcuni esempi, ma in generale vale per tutte le info:
la prima cosa (sicurametne colpa mia), non ho capito i numeri tra parentesi nel titolo cosa rappresentano. NOn nascondo che mi creano non pochi prob, perchè quando faccio scraping di una rom cerco di capire se è già presente nel mio db locale e laddove non matcha md5 prova a cercare se esiste un titolo uguale (che chiaramente non trova) e di fatto crea un nuovo gioco nel db. La morale era capire se ci fosse esposto anche il titolo "pulito".
Poi mi mancano tante info nel json, dall''url della scritta (ultile per fare la composizione dello screenshot finale), cosi come tante immagini/video in cui non c'è esposto l'url.
Poi mancano tante info che non saprei come recuperare.

Non so se hai delle api che lo fanno già e che posso usare oppure no.

Grazie come sempre.
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Le info che trovi sono quelle pubblicate per tutti, a parte altre pagine dedicate (ma poco utili se non ai diretti interessati). Direi che se non trovi qualcosa occorre inserirla/gestirla.

Tra le cose che hai elencato il titolo pulito di un gioco l'ho rimosso tempo fa perchè lo facevo io manualmente, quindi non avevo il tempo di seguirlo con attenzione.
L'url della scritta si può aggiungere ma ho evitato di metterle tutte per non intasare il server.
Non vorrei metterci troppo perchè già le info gestite servono al 99% per il recupero di un paio di immagini e della history.

Devi però dirmi quali cose non trovi e quali vorresti... poi sui tempi non saprei dirti ancora, sono mesi che non faccio pause se non qualche domenica ogni tanto e ferie non ne vedo da un anno o più... ed oggi è uscito pure un altro Mame <-wacko->
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

motoschifo ha scritto: 19/05/2020, 20:56 Le info che trovi sono quelle pubblicate per tutti, a parte altre pagine dedicate (ma poco utili se non ai diretti interessati). Direi che se non trovi qualcosa occorre inserirla/gestirla.

Tra le cose che hai elencato il titolo pulito di un gioco l'ho rimosso tempo fa perchè lo facevo io manualmente, quindi non avevo il tempo di seguirlo con attenzione.
L'url della scritta si può aggiungere ma ho evitato di metterle tutte per non intasare il server.
Non vorrei metterci troppo perchè già le info gestite servono al 99% per il recupero di un paio di immagini e della history.

Devi però dirmi quali cose non trovi e quali vorresti... poi sui tempi non saprei dirti ancora, sono mesi che non faccio pause se non qualche domenica ogni tanto e ferie non ne vedo da un anno o più... ed oggi è uscito pure un altro Mame <-wacko->
ciao, no ferie, troppo lavoro? devi far crescere un discepolo hahahah
se la scritta non la stai piu' gestendo inutile metterla concordo

ti elenco i dati di cui avrei bisogno, per i tempi vedi tu
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Gothrek ha scritto: 20/05/2020, 13:46 ciao, no ferie, troppo lavoro? devi far crescere un discepolo hahahah
In realtà non sarebbe male come idea... tempo fa volevo rendere il sito open source su github ma poi il tempo è sempre pochissimo...
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

motoschifo ha scritto: 20/05/2020, 15:21
Gothrek ha scritto: 20/05/2020, 13:46 ciao, no ferie, troppo lavoro? devi far crescere un discepolo hahahah
In realtà non sarebbe male come idea... tempo fa volevo rendere il sito open source su github ma poi il tempo è sempre pochissimo...
fai un sondaggio su arcadeitalia prima :D

a questo punto io partirei con la richiesta più semplice (se mi confermi che la scritta non è piu' manutenuta).
la più necessaria per me è avere il titolo "ufficiale" in un altro campo nel risultato del json (original_title?)

questa esigenza come ti dicevo è molto importante per me, perchè quando faccio lo scraping di una rom, laddove non la trova, prova a cercarla per titolo.
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Il campo l'ho rimosso circa 6 mesi fa, era un titolo semplificato ma come scritto inserito manualmente per avere qualcosa di affidabile.
Ma tu mi parli di "original title", mi fai un esempio?
E come dovrei ottenerlo visto che io ho solo il nome del gioco che mi da il mame?

Con "scritta" io intendo l'immagine del logo del gioco, che è ancora mantenuto ovviamente, ma ce ne sono poche rispetto alle normali immagini in quanto non gestito da AntoPisa.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

motoschifo ha scritto: 21/05/2020, 22:29 Il campo l'ho rimosso circa 6 mesi fa, era un titolo semplificato ma come scritto inserito manualmente per avere qualcosa di affidabile.
Ma tu mi parli di "original title", mi fai un esempio?
E come dovrei ottenerlo visto che io ho solo il nome del gioco che mi da il mame?

Con "scritta" io intendo l'immagine del logo del gioco, che è ancora mantenuto ovviamente, ma ce ne sono poche rispetto alle normali immagini in quanto non gestito da AntoPisa.
dunque per titolo originale intendo per esempio:
4D-Warriors rispetto a 4-D Warriors (315-5162)

in teoria potrebbe essere banale dire elimina tutto quello da prima della paraentesi aperta, ma in generale non so se questo varrebbe per tutti ora e per sempre.
non so se questa info tu la hai.

Per la scritta si ho capito, effettivametne se non è manutenuta concordo che sia meglio non mostrarla.
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Il nome semplificato si può gestire, ma è un dato che non esiste ne sul Mame ne in nessun altro sito.
Io lo avevo aggiunto solo perchè serviva a me per avere la lista del mio front-end di casa, integrato con il sito (all'epoca locale) e quindi ero io che mettevo a posto i nomi manualmente.

Farlo come attributo della scheda gioco vorrebbe dire autorizzare quei nomi e controllarli in caso di cambiamento.
La regola che avevo usato era molto complessa perchè la parentesi da sola non basta, ma si può trovare qualcosa insieme per capire come fare.

Se ha senso lo aggiungo comunque, alla fine forse potrebbe tornare utile anche ad altri.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Intanto ho ripristinato la vecchia gestione, che era già bella completa a dire il vero:
- nuovo campo in tabella
- nuova info nella scheda mame
- gestione di proposta da web, con accettazione/rifiuto o modifica da parte mia ed invio notifica via mail in automatico (se indicata)
- gestione della ricerca anche per quella parte di titolo
- gestione se valorizzata oppure no, in quel caso viene preso di default il titolo normale

Ora mancano due pezzi:
- proposta automatica con regole per scremare il titolo (numeri, parentesi, ecc)
- verifica all'import per poter rivalidare quel campo
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

ottimo,
la mia idea, vediamo se ti piace è incrociarlo col le info cpu, forse ne sai più tu di come compongono il nome ma prendendo esempio dal 4d-warriors trovo:
CPU:
Sega 315-5162, Zilog Z80

anche io volevo evitare di cercare la parentesi e tagliare il nome che potrebbe portare a cassare caratteri "veri"
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Secondo me è troppo pericoloso togliere pezzi presenti nei chip, e forse a volte può dimostrarsi inutile. Pensa al caso di doppia parentesi, parentesi con virgola, ecc.
Forse la via più rapida è quella di farlo manualmente scremando prima una serie di titoli.
Si stabilisce la regola, si capisce se può andare bene, e si applica.
Come scritto sopra la validazione è completamente manuale (per scelta) in quanto solo una persona può capire se è giusto o no un nome.
Magari può andar bene togliere tutto quanto dentro alle parentesi, poi eventualmente si aggiunge manualmente.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

motoschifo ha scritto: 22/05/2020, 20:38 Secondo me è troppo pericoloso togliere pezzi presenti nei chip, e forse a volte può dimostrarsi inutile. Pensa al caso di doppia parentesi, parentesi con virgola, ecc.
Forse la via più rapida è quella di farlo manualmente scremando prima una serie di titoli.
Si stabilisce la regola, si capisce se può andare bene, e si applica.
Come scritto sopra la validazione è completamente manuale (per scelta) in quanto solo una persona può capire se è giusto o no un nome.
Magari può andar bene togliere tutto quanto dentro alle parentesi, poi eventualmente si aggiunge manualmente.
provo a titar giu l'elenco dalle mie circa 3000 rom e a togliere parentesi e contenuto e vediamo che viene fuori verificando se restano parentesi o altro- certo strano che non resti il nome del titolo originale da qualche parte
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Non esiste il nome originale, come dici, ogni gioco è semplicemente diverso dagli altri e caratterizzato da una miriade di varianti.
In effetti credo sia una mancanza dell'xml in quanto poi in giro si fa sempre riferimento al nome comune... mah.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

si il problema principale è riuscire dal nome a capire se è già presente nel tuo archivio locale, chiaro che laddove si aggiungono caratteri numeri e quant'altro secondo la logica di creare le info sarebbe bello avere almeno il titolo "generico".

l'idea in generale è avere un gioco, n titoli, n rom. Cosi cercando tra i propri media per gioco potresti avere sott'occhio un pò tutto quello che esiste (almeno localmente) di relazionato.
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Ho completato le modifiche, aggiungendo il campo SHORT_TITLE in output nelle pagine di scraping.
Quel valore viene aggiornato manualmente da me ad ogni import.
Normalmente basta togliere i dati tra parentesi ma a volte ci sono casi particolari di nomi scritti male (contenenti errori tipo parentesi non chiusa o non aperta).
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

motoschifo ha scritto: 21/06/2020, 15:51 Ho completato le modifiche, aggiungendo il campo SHORT_TITLE in output nelle pagine di scraping.
Quel valore viene aggiornato manualmente da me ad ogni import.
Normalmente basta togliere i dati tra parentesi ma a volte ci sono casi particolari di nomi scritti male (contenenti errori tipo parentesi non chiusa o non aperta).
grazie @motoschifo , lo implemento subito.
In via temporanea anche io avevo ripiegato sull'eliminazione della parentesi, anche se poi mi sono accorto che a parte qualche errore in tanti casi si utilizzano i due punti (:) invece del trattino meno (-) e quindi non matchava cmq il titolo.

Vediamo come va con questa implementazione.

Grazie come sempre.

devo riuscire a migliorare la funzionalità di matching del titolo, ad oggi son cosi:
Annotazione 2020-06-21 170421.jpg
se in alcuni casi lavorando sul titolo son riuscito a raggrupparli vedi 1941 in altri manca ancora qualcosa (1942, 1943, 1944)
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Puoi dare in pasto il tuo nome ad una funzione per togliere eventuali simboli (due punti, trattino, uguale, spazi, ecc) e fare il match solo con le lettere. Nel 99% dei casi dovrebbe bastare quello.
Come regola standard ho rimosso parentesi tonde e quadre (queste ultime manualmente) ma mantengo quasi tutti simboli e lettere.

Considera che posso esporre una nuova funzione di ricerca che magari utilizza questo nuovo campo per avere i romset corrispondenti.

Questa è la parte php interessata, ovviamente a mano posso intervenire sul titolo ma correggo solo quando vedo anomalie (es. lettere alfa/beta/parentesi non chiuse, ecc):

Codice: Seleziona tutto

$lower_case = "abcdefghijklmnopqrstuvwxyzàèìòùáéíóúäëïöü";
$upper_case = strtoupper($lower_case);
$numbers = "0123456789";
$extra = "!?@#&*-_ '/.,:;%+$\"`µ";
$valid_chars = $lower_case.$upper_case.$numbers.$extra;

$game_short_title = $game_description;
// tolgo le parentesi, anche annidate
$game_short_title = preg_replace("/\(([^()]*+|(?R))*\)/","", $game_short_title);
// tolgo pezzi particolari per smaltire il lavoro manuale
$game_short_title = str_replace(
	array("[BET]", "[Dutch]", "[German]", "[TTL]"), 
	"", 
	$game_short_title
);
$game_short_title = trim($game_short_title);
if (!str_contains_only($game_short_title, $valid_chars)) {
	$log->debug("...{$game_name} - {$game_description}    *** FAILED ***");
	continue;
}

function str_contains_only($name, $chars) {
	for ($i=0; isset($name[$i]); $i++) {
		if (strpos($chars, $name[$i])===false) {
			global $log;
			$log->debug("...INVALID CHAR FOUND '{$name[$i]}' in '{$name}' (valid chars: >{$chars}<)");
			return false;
		}
	}
	return true;
}
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

gran belkla idea quella di lasciare solo le lettere e depurarla per il match, l'idea per entrambi credo sia fare meno lavoro manuale possibile cosi da automattizzare quanto piu' possibile.

voglio provare a dargli in pasto domani mattina un 10K di rom, per vedere quanti casi "fail" ho.
Avatar utente
Gothrek
Moderatore
Moderatore
Messaggi: 5501
Iscritto il: 13/07/2017, 13:30
Città: Roma
Grazie Inviati: 20 volte
Grazie Ricevuti: 313 volte

Re: scraping dati e url aggiuntivi

Messaggio da Gothrek »

La tua idea dei caratteri mi piace, e sicuramente migliora il matching.

Nel caso di 1944 riuscirebbe ad accorparli, sto cercando una soluzione per 1943 dove nache con questo sistema i giochi sarebbero 2.
Annotazione 2020-06-22 091408.jpg
Non hai i permessi necessari per visualizzare i file allegati in questo messaggio.
Avatar utente
motoschifo

Gold Medal Donatore
Progetto Arcade Database
Progetto Arcade Database
Messaggi: 3308
Iscritto il: 12/07/2013, 20:29
Medaglie: 2
Città: Parma
Località: Parma
Grazie Inviati: 34 volte
Grazie Ricevuti: 40 volte
Contatta:

Re: scraping dati e url aggiuntivi

Messaggio da motoschifo »

Aggiornato adesso al Mame 0.222: 311 titoli da inserire, di cui solo 3 manualmente e tutti gli altri in automatico.
Motoschifo
CAB ›MameOriz ›MameVert ›PCB ›NeoGeo ›TopDrive ›Tekken3 Wishlist ›PacMan ›Arkanoid
Flipper ›HighSpeed Wishlist ›MedievalMadness ›MonsterBash ›HighSpeed2 WebArcadeDatabase
Rispondi

Torna a “Progetto Arcade Data Base”