[Tool] Universal XML Scraper (Deutsch)
-
Einleitung
Der Universal XML Scraper ist ein großartiges Tool von @screech, dass euch dabei helfen kann, eure Spiele am PC , oder auch direkt auf der recalbox zu scrapen. Ähnlich also wie der ES Scraper, nur sehr viel besser!
- Funktioniert nur unter Windows! (Tests mit Wine sind willkommen)
- Es ist Open Source (Github)
- Kommt auf Deutsch, Englisch, Spanisch, Portugiesisch, Italienisch, Französisch, Holländisch und Japanisch!
- Es bezieht die Scrape-Daten aus der Screenscraper Datenbank, die im Moment wirklich zu den Besten Spieldatenbanken gehört, die es gibt. Wenn sie nicht sogar die Beste ist.
Funktionen
Einfache Konfiguration:
Die Konfiguration ist dank des integrierten Wizards sehr einfach. Darüber hinaus könnt ihr, Dank der "Autokonfiguration", direkt loslegen! Wählt einfach euer System, das dazugehörige Profil und startet den Scraper.Anpassungsfähig:
Jegliche Konfiguration wird über XML Dateien gelöst. Sollte Dir also die "Autokonfiguration" nicht zusagen, kannst Du fast alles ändern, ohne dabei den Quellcode anfassen zu müssen.Viele Sprachen:
Wie bereits erwähnt, kommt das Tool in vielen Sprachen daher. Das Gute ist, dass die Datenbank das auch tut. Wenn Du also deine Spielbeschreibungen auf Deutsch, Spanisch, Französisch, Portugiesisch oder natürlich Englisch möchtest, wird UXS anhand deiner Profilauswahl die jeweilige Sprache Scrapen (falls in der DB vorhanden). Natürlich kannst Du die gewählte Sprache auch jederzeit ändern.Sollte ein Spiel in der DB mal keine Deutsche Beschreibung haben, wird automatisch die nächste Sprache genommen (Englisch in diesem Fall).
Schnell:
Die Standardkonfiguration benutzt nur einen Thread zur Zeit (die Spiele werden eines nach dem anderen gescraped). Möchtest Du uns allerdings helfen, die Datenbank mit weiteren Informationen zu füllen, kannst Du dich jederzeit unter http://www.screenscraper.fr/ anmelden und bekommst als Belohnung dafür auch noch die Möglichkeit, mit 2 Threads gleichzeitig zu scrapen, in dem Du Dich im UXS mit deinem Datenbankzugang anmeldest. Ergo: 2 x schneller, als vorherSehr genau:
Das Scrapen findet auf 2 Wegen statt:- Über den HASH deines ROM und wenn dieser nicht gefunden wird
- über den Namen des ROM
Es wird also nicht über den Spielnamen gesucht!
Warum? Ganz einfach: ROMs sind Länderspezifisch, genau wie manche Informationen zu einem Spiel.
Lässt Du den Scraper also über ein japanisches ROM laufen, bekommst Du auch die Japanischen Informationen und Medien. Genauso ist es dann natürlich mit US, EU und anderen ROMs.
Auf diesem Wege wird die Fehlerquote auch auf ein absolutes Minimum reduziert, da kein HASH 2 Mal für das fast gleiche ROMs existiert.
Beispiel:
Castlevania für SNES als japanisches ROM
Selbes Spiel für den SNES als EU Version
Schönere Ergebnisse:
Mit den MIX Profilen des UXS erzielst Du extrem gut aussehende Ergebnisse für deine ROMs.Ein paar MIX Beispiele:
-
Standard (3img)
-
Arcade (moon)
-
Mit dem entsprechenden Theme kannst Du dir sogar komplette Vollbild-Hintergründe scrapen lassen:
-
TEASER: Eine neue MIX Vorlage, die im Moment in Arbeit ist.
Download
Die jeweils letzte Version kann HIER heruntergeladen werden
-
Ist etwas von einer Mac Version bekannt?
THX!
-
@pfeilomatic Nein, aber Fragen wir doch den Autor.
@screech, is there any way to get UXS ported to Mac? @pfeilomatic would like to use it as well
-
I think it's impossible, the way I code it use Windows internal function (For XML, the GDI+,...)
So it's impossible right now to compil it on MacOs.You can try WINE or a virtual Windows, that's the only solution I have (with no garanty. I remember @rockaddicted Tryed it on WINE without success )
-
I have an old windows notebook. I can use this. I think the tool doesn't need much power to run? It's a Windows 10 System.
I don't like bootcamp or any windows stuff on my mac
Thanks a lot for the info! -
UXS doesn't need so much power But it can slow your scrape if you have a bad connection or a very small proc and use MIX Template.
(If your notebook run W10 it can run UXS )
-
@screech 100Mbits. I don't have much to scrape
-
Hallo,
ein wirklich klasse Tool! Bei mir klappt fast alles, nur die PSX Spiele will er nicht scrapen. Hängt sich jedesmal auf bei "Hole Systemliste". Greife direkt auf die Recalbox zu übers Netzwerk. Habe bei "Erweitert" auch die *.bin raus genommen, klappt trotzdem nicht.
Hat jemand eine Idee dazu?Danke!
-
@VanDutch Frag mal @screech, den Autor der Software, direkt im eigentlichen Thread (Englisch & Französisch)
-
Sehe ich das eigentlich richtig, dass das Tool in den normalen Einstellungen, immer nur einen Screenshot des jeweiligen Spiels runterlädt? Weil der Scraper der Recalbox holt doch immer das Cover. Das wäre mir ehrlich gesagt auch lieber. Gibt es diese Einstellung im XML Scraper? Vielen Dank.
Ansonsten muss ich aber echt sagen "Geiles, kleines Tool!" ^^ -
@K01WE Da Du Dir deine Antwort schon von Screech geholt hast, poste ich die nochmal hier, damit alle Anderen es auch wissen:
In der
UXS-config.ini
sucht man folgende Zeilen$ELEMENT_11 = 'image|path:image|medias/media_screenshot|path:image' $ELEMENT_12 = 'image|path:image|medias/media_boxs/media_boxs2d/media_box2d_%%|path:image'
ELEMENT_11
: Lade Sreenshot herunter
ELEMENT_12
: wenn kein Screenshot gefunden, dann 2D Artwork herunterladenWenn man nun also NUR 2D Artworks (Cover) haben möchte, löscht man einfach die ganze Zeile mit
ELEMENT_11
und nummeriert dann ALLE Zeilen in derUXS-config.ini
neu, so dass es wieder eine ununterbrochene Abfolge ist:$ELEMENT_1 = 'gameList|root|Data|root' $ELEMENT_2 = 'game|child|jeu|child' $ELEMENT_3 = 'id|attr:game|id|value' $ELEMENT_4 = 'source|attr:game|ScreenScraper|variable' $ELEMENT_5 = 'path|value|%RomPath%|variable' $ELEMENT_6 = 'emulator|value' $ELEMENT_7 = 'core|value' $ELEMENT_8 = 'name|value|noms/nom_%%|value' $ELEMENT_9 = 'name|value|nom|value' $ELEMENT_10 = 'desc|value|synopsis/synopsis_%%|value' $ELEMENT_11 = 'image|path:image|medias/media_boxs/media_boxs2d/media_box2d_%%|path:image' $ELEMENT_12 = 'thumbnail|value' $ELEMENT_13 = 'rating|value100|note|value' $ELEMENT_14 = 'releasedate|valueDES|dates/date_%%|value' $ELEMENT_15 = 'developer|value|developpeur|value' $ELEMENT_16 = 'publisher|value|editeur|value' $ELEMENT_17 = 'genre|value|genres/genres_%%/genre_%%|value' $ELEMENT_18 = 'players|value|joueurs|value' $ELEMENT_19 = 'favorite|value' $ELEMENT_20 = 'region|value' $ELEMENT_21 = 'romtype|value' $ELEMENT_22 = 'hidden|value' $ELEMENT_23 = 'playcount|value' $ELEMENT_24 = 'lastplayed|value' $ELEMENT_25 = 'crc32|value|%crc32%|variable' $ELEMENT_26 = 'md5|value|%md5%|variable' $ELEMENT_27 = 'sha1|value|%sha1%|variable'
-
In wie weit kann man denn die "Trefferquote" des Scrapers beeinflussen? Von meinen 243 NES-Spielen wurden beispielsweise gerade mal 17 erkannt
Edit: Ansonsten ein Mega tool! Die Mix-Bilder sind der Wahnsinn! Nur leider halt zu wenige davon
-
Die Trefferquote hängt davon ab, wie "exotisch" deine Roms sind. Empfohlen sind no-intro Romsets, da diese meistens in der Datenbank (www.screenscraper.fr) bereits hinzugefügt wurden. Wenn du aber deine
missing.txt
irgendwo hochlädst und hier teilst, kann ich diese hinzufügen. Gegebenfalls musst du aber diese Roms zu den verschiedenen Spielen manuell assozieren (wenn eben die Roms wegen des "komischen" Names durch das System nicht ein Spiel eindeutig zugeordnet werden konnte). -
Erstmal vielen Dank für die schnelle Antwort!
Und Zweitens: Oh je. Ich glaube ich muss mich mit dem Thema Roms mal etwas genauer auseinandersetzen...
Ich habe so gar keinen Plan was "no-intro", "no header" usw. bedeutet.
Ich bin ja schon froh dass ich mit Hilfe vom Rom Hasher einige Roms selbst patchen (zwecks Übersetzung von Jap.) konnte.
Komische Namen haben die alle nicht. Ich habe sogar in akribischer Kleinarbeit die meisten Namen angepasst, da ich es nicht ausstehen kann, wenn dahinter Regionsangaben o.Ä. stehen.
Aber ich denke mal dass der "Name" den du meinst "IN" der Rom selbst steckt oder?Vll finde ich ja irgendwo no-intro Romsets aus denen ich mir meine eben wieder rauspicken muss. Und für die übersetzten müssen dann halt die Originale her halten, und werden anschließend überschrieben...
Gibt es nicht die Möglichkeit nach dem Dateinamen selbst suchen zu lassen? Sozusagen als Alternative. Mit dem "sselph scraper + fastscraper" funktioniert das wunderbar (auch wenn da auch nicht alles ein Treffer ist), aber da sind die Bilder nunmal nich annähernd so toll wie mit dem Tool hier
Wo finde ich denn die missing.txt ? Vll ist es zu spät, aber ich finde sie grad nicht...
-
@Madmeggo nein, der Name steht (nicht unbedingt) im Rom drin. UXS sucht (ich glaube sogar standardmäßig) zuerst nach dem CRC Hash und dann, wenn kein Treffer gefunden wurde, nach dem Dateinamen. Deswegen war die manuelle Änderung dieser wahrscheinlich umsonst. Wenn du aber ein Rom "patchs", dann wird der Hash geändert und dieser neuer Hash ist in deinem Fall nicht unbedingt in der Datenbank. Falls die ursprüngliche Datei doch in der Datenbank war, hast du aber sie bei der Umbenennung (und dem Patch) so modifiziert, dass er für den Scraper nicht bekannt ist.
Meine Empfehlung wäre, no-intro Romsets zu bevorzügen UND die Dateinamen NICHT zu verändern. Falls durch den Patch einen Zusatz kommt (zB. T-Eng), lass ihn einfach, scrap nochmal und finde diemissing.txt
neben deinen Roms. Teile die hier und die werden hinzugefügt. -
Alles klar. Es kostet mich zwar etwas Überwindung, aber ich werde die Dateinamen in Zukunft so lassen wie sie sind Ich werde jetzt meine jetzigen Roms durch Dateien aus No-Intro Sets ersetzen, und den Scraper dann nochmal laufen lassen. Die gepatchten kommen dann nach dem Scrapen - mit ihrem originalen Namen - rein. Wenn dann noch was fehlt, werde ich die missing.txt hier posten!
Danke nochmalEdit: .zip Dateien sind aber kein Problem, oder?
-
.zip Dateien sind kein Problem
Nur sselph's scraper berechnet die Hash nicht für die .zip, sondern für die entpackte Datei. Also, wenn du diese auch zur Datenbank hinzufügen möchtest, sollst du die Dateien entpacken, die zips beibehalten und alles scrapen. Nach dem die fehlende Dateien in der Datenbank sind, muss UXS noch einmal drauf, so dass diese die SHA1 Hash bekommen und erst dann können die problemlos auch mit sselph's scraper "gescrapt" werden. Umständlich aber so ist es halt.
Und über die "schrecklichen" Namen... nach dem Scrapen siehst du nur die schönen Namen -
Gibt es eine Art Beispiel-Konfiguration?
Ich bekomme immer die Fehlermeldung "AutoConfig des ROM-Pfades ungültig".
Versuche Bilder zu Scrappen für das MIX Theme von @Nachtgarm . ThxEDIT:
Hat sich erledigt, hab es hinbekommen
Fehlermeldung kommt trotzdem immer wieder.lg
-
@paradadf : Hat jetzt etwas länger gedauert, aber ich habe deine Anweisungen befolgt und bin wirklich überwältigt von dem Ergebnis! Hat fast alles wunderbar funktioniert
Allerdings habe ich wieder keine missing.txt gefunden. Habe auch im Win Explorer nach ihr gesucht, aber keine Chance. Hab ich irgendwas falsch gemacht? Wo soll sie denn genau sein?Und was leider auch nicht funktioniert hat, ist die Verknüpfung von Bildern und Infos mit Arcade-Spielen. Der Scraper hat zwar für so gut wie jedes Spiel ein Bild erstellt, allerdings sehe ich in der Recalbox selbst nichts davon. Nur die Bios Dateien (pgm.zip, neogeo.zip usw.) wurden mit ihren Bildern verknüpft.
Die Spiele im Scummvm Ordner wurden scheinbar komplett ignoriert, obwohl ich mir die .rar Datei aus diesem Thread hier geladen, und die entsprechenden Dateien in die Spieleordner eingefügt habe. Vll hab ich da aber auch was falsch verstanden. Die Anleitung ist durch das fehlerhafte englisch in dem Post nämlich leider nicht 100 %ig verständlich.Könntest du - oder irgendwer anders - mir nochmal helfen?
-
@Madmeggo die missing.txt erscheint in den jeweiligen Rom-Ordner, also bswp. roms/snes/missing.txt (beim fastscraper übrigens wäre _snes_missing.txt).
Wie scrapst du genau? Direkt über den Netzwerk? Oder hast du alle Roms in deinem PC und kopierst du die gamelists und downloaded_images rüber? Du musst IMMER ES stoppen, bevor du scrapst oder die gamelist.xml rüberkopierst.
Bei ScummVM (bis UXS v2 raus ist) musst du jedes einzelne Ordner wählen, weil UXS noch nicht auf Unter-Ordner zugriff hat.