facko
21.02.2021, 01:57

LEGO Datenbank - Analyse/Abfrage

Hallo in die Runde!

Um mein persönliches LEGO-Projekt aufzusetzen, möchte ich gerne gewisse Informationen aller LEGO-Sets zwischen 1949 und 2020 untersuchen. Ich weis bereits, dass es gut 16k Sets sind, wobei ich später unvollständige Datensätze nicht berücksichtigen möchte und einfach löschen will. Also habe ich versucht, mit der Brickset/Rebrickable/Brinklink Datenbank herumzuspielen. Soweit es sich mir erschließt, bittet keinen der Datenbanken allen Informationen und ich muss schlussendlich auf alle drei zugreifen. Die Daten, auf die ich vorallem konzentrieren möchte, sind:

Set-Nummer; Set Name; Themengebiet; Unter-Themengebiet; Erscheinungsjahr; Lego-Teile / Lots / Counterparts / Extra Parts / Alternative Parts; Minifigs; Minifigs einzigartig in diesem Set; Designer; UVP in USD; Altersempfehlung; Abmessungen (x y z); Rating; Anzahl der Bewertungen; Mitglieder besitzen dieses Set; Mitglieder wollen dieses Set; Anleitung erhältlich; Sticker vorhanden; verkauft auf lego. com von / bis; part out value; bricklink durchschnittlicher verkaufspreis neu, bricklink durchschnittlicher verkaufspreis die letzten 6 monaten usw.

Sicherlich habe ich noch etwas vergessen, aber im
Groben sind diese mir diese am Wichtigsten.

Ich möchte klarstellen, dass es sich um ein privates Projekt handelt und die Daten nicht für kommerzielle Zwecke verwendet werden. Ich habe versucht, mit eigenen Abfragen auf die Daten zuzugreifen, leider sind nicht alle Daten wie oben erwähnt abrufbar. Leider bin ich mit Begriffen wie API nicht vertraut und hoffe, dass mir hier vielleicht jemand helfen kann. Am liebsten wäre mir eine große Excel Tabelle am Ende, Vielen Dank im Voraus für eine Antwort. Grüsse,
Facko



Mylenium
21.02.2021, 09:07

Als Antwort auf den Beitrag von facko

Editiert von
Mylenium
21.02.2021, 09:42

Re: LEGO Datenbank - Analyse/Abfrage

Da die ausgespuckten Webseiten nicht für jede der Infos ein spezielles Tag generieren oder einen eindeutigen CSS-Stil, wird das mit Sicherheit nicht so einfach. Entsprechend könnte man da nur mit einem aufgeblasenem Skript rumwurzeln, dass eimerweise mit RegEx filtert und versucht anhand bestimmter Zeichenketten und Kontexte die Info zu isolieren und dann muss man noch drei Seiten miteinander vergleichen. Sicher machbar, aber da kann man gut und gerne mal ein paar Wochen dran rumbasteln, bis es funktioniert.

Mylenium


https://myleniumsbrickcorner.wordpress.com


Lok24
21.02.2021, 09:54

Als Antwort auf den Beitrag von facko

Re: LEGO Datenbank - Analyse/Abfrage

Hallo,

facko hat geschrieben:

Ich weis bereits, dass es gut 16k Sets sind, wobei ich später unvollständige Datensätze nicht berücksichtigen möchte und einfach löschen will.

Dann frage ich mich wozu das ganze gut sein soll, denn Du wirst tausende von "unvollständigen" Datensätzen bekommen.

facko hat geschrieben:
Set-Nummer; Set Name; Themengebiet; Unter-Themengebiet; Erscheinungsjahr; Lego-Teile / Lots / Counterparts / Extra Parts / Alternative Parts; Minifigs; Minifigs einzigartig in diesem Set; Designer; UVP in USD; Altersempfehlung; Abmessungen (x y z); Rating; Anzahl der Bewertungen; Mitglieder besitzen dieses Set; Mitglieder wollen dieses Set; Anleitung erhältlich; Sticker vorhanden; verkauft auf lego. com von / bis; part out value; bricklink durchschnittlicher verkaufspreis neu, bricklink durchschnittlicher verkaufspreis die letzten 6 monaten usw.

Das sind Daten mit ganz unterschiedlichen Qualitäten.
Die Set-Nummer kannst Du abrufen, "Minifigs einzigartig in diesem Set" nicht, das kannst Du nachher aus der Summe Deiner Daten erschließen, musst aber dafür natürlich auch alle Teile abrufen. Daten wie "Mitglieder wollen dieses Set" haben keinerlei Aussagekraft.
"Anleitung erhältlich" meint was? Irgendwo einen Download? Da müsstest Du das komplette Internet durchforsten.
Und "Part out Value"? Was soll das aussagen, und woher soll das kommen?
Die Preise sind nicht statisch, sondern dynamisch. Deine Datenbank wäre falsch, bevor sie fertig ist.

facko hat geschrieben:
Ich habe versucht, mit eigenen Abfragen auf die Daten zuzugreifen, leider sind nicht alle Daten wie oben erwähnt abrufbar.

Brickset hat das Tool außer Betrieb, früher konnte man da alles abrufen.
Bei Bricklink kannst Du einfach einen Download der Sets anstossen.
Rebrickable kenne ich nicht.

Anfragen wie Deine sind generell schwierig, weil die Antworten naturgemäß sehr allgemeiner Natur sein müssen.
Verfolgt das ganze irgendeinen Zweck, oder ist das reiner Selbstzweck?

Grüße

Werner



Lok24
21.02.2021, 10:04

Als Antwort auf den Beitrag von Mylenium

Re: LEGO Datenbank - Analyse/Abfrage

Moin,

Mylenium hat geschrieben:

Da die ausgespuckten Webseiten nicht für jede der Infos ein spezielles Tag generieren oder einen eindeutigen CSS-Stil, wird das mit Sicherheit nicht so einfach. Entsprechend könnte man da nur mit einem aufgeblasenem Skript rumwurzeln, dass eimerweise mit RegEx filtert und versucht anhand bestimmter Zeichenketten und Kontexte die Info zu isolieren

Genau, einfach das innerHTML auslesen, das geht recht gut, ist aber, wie Du auch schreibst, mühsam und fehlerhaft.
Du weiß ja nicht mal welche Felder es alle gibt.....

Mylenium hat geschrieben:
und dann muss man noch drei Seiten miteinander vergleichen. Sicher machbar, aber da kann man gut und gerne mal ein paar Wochen dran rumbasteln, bis es funktioniert.

Naja, drei ExelTabellen gegeneinander abgleichen, das geht ja noch mit ein paar Makros.

Sagen wir mal so: ich würde mir das nicht antun.
Und ich scripte alles weg was so geht.



facko
21.02.2021, 10:11

Als Antwort auf den Beitrag von Lok24

Re: LEGO Datenbank - Analyse/Abfrage

Hallo Werner,

vielen Dank für Deine schnelle Antwort. Ich versuche etwas Licht in das Dunkel zu bringen.

Dann frage ich mich wozu das ganze gut sein soll, denn Du wirst tausende von "unvollständigen" Datensätzen bekommen.

Natürlich möchte ich gerne erstmal alle Daten abrufen, um später zu bewerten, wieviele Daten-Sets vollständig sind. Davon abhängig möchte ich individuelle später entscheiden, welche Datensätze gelöscht werden.

Das sind Daten mit ganz unterschiedlichen Qualitäten. Die Set-Nummer kannst Du abrufen, "Minifigs einzigartig in diesem Set" nicht, das kannst Du nachher aus der Summe Deiner Daten erschließen, musst aber dafür natürlich auch alle Teile abrufen.

Vielleicht hilft es Dir, wenn du Dir vorstellst, dass mit Abrufen der Daten ich einen Zeitpunkt festlege (z.B. heute), auf den die abgerufenen Daten fixiert sind. Es ist also richtig, wie du sagst, dass die Daten dynamisch sind. Ich möchte sie aber gern an diesen Zeitpunkt X binden. Sprich: "Zum 21.02.2021 hatten XXX Benutzer das Set auf Ihrer Wanted List und YYY Nutzer besitzen das Set." Gleiches würde für die einzigartigen Minifguren zutreffen. Brickset und Rebrickable zeigen dir mit Abrufen der Seite an, welche Minifiguren gerade aktuell einzigartig sind. Natürlich kann sich das in Zukunft ändern (z.B. wenn sie Bestandteil vom LEGO-Magazin wird etc.). Auch hier würde ich gern wieder einen Zeitpunkt festlegen.

Daten wie "Mitglieder wollen dieses Set" haben keinerlei Aussagekraft.

Das ist sicherlich subjektiv zu betrachten. Kann gut sein, dass du das so bewertest. Ich würde es trotzdem gern mit auslesen.

"Anleitung erhältlich" meint was? Irgendwo einen Download? Da müsstest Du das komplette Internet durchforsten.

Prinzipiell geht es nur um den Fakt, ob eine ANleitung vorhanden ist. Bei Brickset, Rebrickable oder Peeron ist diese dann sogar teilweise als PDF erhältlich. In einer Excel Tabelle würde mir als Rückinfo "ja" oder "nein" zur Verfügbarkeit reichen.

Und "Part out Value"? Was soll das aussagen, und woher soll das kommen?

Auch dieser Wert kann bei Rebrickable oder Bricklink abgerufen werden. Bei erstem in Euro, bei dem Zweiten in US-Dollar. Es gibt den Wert an Währung wieder, welchen du bezahlen müsstest, um zum Zeitpunkt (Aufruf der Seite) diese Set in Einzelteilen (z.B. gekauft über Bricklink) nachzubauen. Auch hier würde ich gern ein Zeitpunkt X festlegen (z.B. heute), weil es sich - wie du richtig sagst - um dynamische Daten handelnt.

Brickset hat das Tool außer Betrieb, früher konnte man da alles abrufen.
Bei Bricklink kannst Du einfach einen Download der Sets anstossen.
Rebrickable kenne ich nicht. Anfragen wie Deine sind generell schwierig, weil die Antworten naturgemäß sehr allgemeiner Natur sein müssen.
Verfolgt das ganze irgendeinen Zweck, oder ist das reiner Selbstzweck?


Vielleicht hilft es noch, sich vorzustellen, dass ich einfach statisch mir die Arbeit machen würde, alle diese Infos heute händisch in eine Excel einzutragen. Natürlich würde ich das niemals schaffen.

Genau hier liegt das Problem. Ich hätte gerne eine automatisierte Lösung, ohne die Daten händisch abrufen zu müssen.

VG,
Facko



facko
21.02.2021, 10:17

Als Antwort auf den Beitrag von Lok24

Re: LEGO Datenbank - Analyse/Abfrage

Lok24 hat geschrieben:

Moin,

Mylenium hat geschrieben:
Da die ausgespuckten Webseiten nicht für jede der Infos ein spezielles Tag generieren oder einen eindeutigen CSS-Stil, wird das mit Sicherheit nicht so einfach. Entsprechend könnte man da nur mit einem aufgeblasenem Skript rumwurzeln, dass eimerweise mit RegEx filtert und versucht anhand bestimmter Zeichenketten und Kontexte die Info zu isolieren

Lok24 hat geschrieben:
Genau, einfach das innerHTML auslesen, das geht recht gut, ist aber, wie Du auch schreibst, mühsam und fehlerhaft.
Du weiß ja nicht mal welche Felder es alle gibt.....

Hierzu kann ich leider nichts sagen, da ich mich mit Programmierung überhaupt nicht auskenne.

Mylenium hat geschrieben:
und dann muss man noch drei Seiten miteinander vergleichen. Sicher machbar, aber da kann man gut und gerne mal ein paar Wochen dran rumbasteln, bis es funktioniert.

Lok24 hat geschrieben:
Naja, drei ExelTabellen gegeneinander abgleichen, das geht ja noch mit ein paar Makros.

Mir würde es prinzipiell reichen, wenn man z.B. 75% der Informationen von Brickset bezieht. Bricklink und Rebrickable würden nur noch Zusatzinformationen liefern, die salop gesagt ein paar Spalten hinzufügen (z.B. Part-Out-Value, welche nicht bei Brickset einsehbar ist.

Lok24 hat geschrieben:
Sagen wir mal so: ich würde mir das nicht antun.
Und ich scripte alles weg was so geht.

Hehe, das habe ich so vernommen. Aber ich würde es trotzdem gerne angehen. Sagen wir mal so: Nein ist für mich keine Option

VG,
Facko



Mylenium
21.02.2021, 10:34

Als Antwort auf den Beitrag von Lok24

Re: LEGO Datenbank - Analyse/Abfrage

Lok24 hat geschrieben:

Naja, drei ExelTabellen gegeneinander abgleichen, das geht ja noch mit ein paar Makros.


Ich würd's vorher schon machen, also beim Abfragen der Seiten, damit erst gar nicht so viel Quatsch in der Tabelle landet...

Mylenium


https://myleniumsbrickcorner.wordpress.com


Lok24
21.02.2021, 10:39

Als Antwort auf den Beitrag von facko

Re: LEGO Datenbank - Analyse/Abfrage

Hallo,

facko hat geschrieben:

Vielleicht hilft es Dir, wenn du Dir vorstellst, dass mit Abrufen der Daten ich einen Zeitpunkt festlege (z.B. heute), auf den die abgerufenen Daten fixiert sind. Es ist also richtig, wie du sagst, dass die Daten dynamisch sind. Ich möchte sie aber gern an diesen Zeitpunkt X binden. Sprich: "Zum 21.02.2021 hatten XXX Benutzer das Set auf Ihrer Wanted List und YYY Nutzer besitzen das Set."

Das mit dem Datum hatte ich verstanden.

facko hat geschrieben:
Daten wie "Mitglieder wollen dieses Set" haben keinerlei Aussagekraft.

Das ist sicherlich subjektiv zu betrachten. Kann gut sein, dass du das so bewertest. Ich würde es trotzdem gern mit auslesen.

Ich habe z.B. bei Brickset alle(!) Sets angeklickt.
Du weißt also nicht, wieviele das besitzen. Du weißt nur, wieviel BS-User das angekreuzt haben.
Und das sagt halt wenig aus....objektiv

Genau hier liegt das Problem. Ich hätte gerne eine automatisierte Lösung, ohne die Daten händisch abrufen zu müssen.


Das muss man aufwendig programmieren, anders geht das nicht.
Und die Frage ist halt: wozu soll das gut, und lohnt das?
Damit ich dann in Excel nachschauen kann statt bei Brickset?

Ich habe das schon für Teilbereiche so gemacht, und es hat nur solange Bestand, wie die Quellen ihr Format behalten (was sie nicht tun), es ist sehr mühsam.
Ich habe das lange aufgegeben.

Grüße

Werner



Mylenium
21.02.2021, 10:40

Als Antwort auf den Beitrag von facko

Editiert von
Mylenium
21.02.2021, 10:40

Re: LEGO Datenbank - Analyse/Abfrage

facko hat geschrieben:

Vielleicht hilft es Dir, wenn du Dir vorstellst, dass mit Abrufen der Daten ich einen Zeitpunkt festlege (z.B. heute), auf den die abgerufenen Daten fixiert sind.


Allein das wird nicht funktionieren... Da kriegste nach den ersten tausend Abfragen „Liebe Grüße vom Server! Der Administrator hat beschlossen, ihre IP-Adresse wegen Missbrauch zu blockieren.“ und dann macht's *bumm* und du kannst nicht mal mehr drauf zugreifen. Außerdem werden sich nicht alle Abfragen so kombinieren lassen, dass du alle Infos auf einmal erhältst. Also selbst mit Automatisierung reden wir hier von einer behutsamen Abarbeitung über mehrere Tage oder Wochen und idealerweise würdest du die Betreiber der Seiten vorher sogar fragen, ob du so viel Serverlast erzeugen darfst. Die Daten kommen ja nicht aus der Luft...

Mylenium


https://myleniumsbrickcorner.wordpress.com


Lok24
21.02.2021, 10:47

Als Antwort auf den Beitrag von Mylenium

Re: LEGO Datenbank - Analyse/Abfrage

Mylenium hat geschrieben:

Ich würd's vorher schon machen, also beim Abfragen der Seiten, damit erst gar nicht so viel Quatsch in der Tabelle landet...


Du hast x Datenquellen und willst 1 Ergebnistabelle haben.
Wenn Du von der 1 ausgehst bekommst Du 1 Programmm.

Wenn sich eine der x Datenquellen formal ändert muss Du das ändern.
Nimmst Du es auseinander hast Du x kleine Programme mit der Syntax für je eine Quelle.
Du hast die Zwischentabelle (Rohdaten) für eine Quelle, die brauchst Du sowieso zum debuggen.

Und dann führst Du x Tabellen in einer formatierten Ergebnistabelle zusammen.
Sonst steckt dein Datenbankdesign in den Quell-Abrufen.



facko
21.02.2021, 10:56

Als Antwort auf den Beitrag von Lok24

Re: LEGO Datenbank - Analyse/Abfrage

[Lok24 hat geschrieben:

Ich würd's vorher schon machen, also beim Abfragen der Seiten, damit erst gar nicht so viel Quatsch in der Tabelle landet...
Mylenium
Hierfür fehlt mir leider die Fantasie, wie das geht. Wenn du das für schlauer hälst, würde ich das natürlich auch lieber so umsetzen.

Lock24 hat geschrieben:
Ich habe z.B. bei Brickset alle(!) Sets angeklickt.Du weißt also nicht, wieviele das besitzen. Du weißt nur, wieviel BS-User das angekreuzt haben.
Und das sagt halt wenig aus....objektiv
Das ist natürlich erstmal korrekt, dass nicht jeder, der das Set besitzt, sich auf den Webseiten anmeldet und "ich besitze das Set" anklickt. Ich möchte trotzdem gerne diese Info .

Lok24 hat geschrieben:
Das muss man aufwendig programmieren, anders geht das nicht. Und die Frage ist halt: wozu soll das gut, und lohnt das? Damit ich dann in Excel nachschauen kann statt bei Brickset? Ich habe das schon für Teilbereiche so gemacht, und es hat nur solange Bestand, wie die Quellen ihr Format behalten (was sie nicht tun), es ist sehr mühsam. Ich habe das lange aufgegeben. Grüße, Werner

Die Daten der Webseiten ändern sich von Tag zu Tag. Ich möchte diese Daten einmal im Jahr festhalten für mich.

Mylenium hat geschrieben:
Allein das wird nicht funktionieren... Da kriegste nach den ersten tausend Abfragen „Liebe Grüße vom Server! Der Administrator hat beschlossen, ihre IP-Adresse wegen Missbrauch zu blockieren.“ und dann macht's *bumm* und du kannst nicht mal mehr drauf zugreifen. Außerdem werden sich nicht alle Abfragen so kombinieren lassen, dass du alle Infos auf einmal erhältst. Also selbst mit Automatisierung reden wir hier von einer behutsamen Abarbeitung über mehrere Tage oder Wochen und idealerweise würdest du die Betreiber der Seiten vorher sogar fragen, ob du so viel Serverlast erzeugen darfst. Die Daten kommen ja nicht aus der Luft... Mylenium
Damit kenne ich mich nicht aus, glaube Dir aber. All diese Seiten haben eine sogenannte API Schnittstelle. Ich kann damit nichts anfangen, aber ist das vielleicht eine Lösung? Es gibt ja viele Seite, die auf Bricklink etc. zugreifen. Das müssen ja auch 1000 Instant-Informationen sein. Scheint mir also machbar?

Lok24 hat geschrieben:
Mylenium hat geschrieben:
Ich würd's vorher schon machen, also beim Abfragen der Seiten, damit erst gar nicht so viel Quatsch in der Tabelle landet...
Du hast x Datenquellen und willst 1 Ergebnistabelle haben. Wenn Du von der 1 ausgehst bekommst Du 1 Programmm. Wenn sich eine der x Datenquellen formal ändert muss Du das ändern. Nimmst Du es auseinander hast Du x kleine Programme mit der Syntax für je eine Quelle. Du hast die Zwischentabelle (Rohdaten) für eine Quelle, die brauchst Du sowieso zum debuggen. Und dann führst Du x Tabellen in einer formatierten Ergebnistabelle zusammen.
Sonst steckt dein Datenbankdesign in den Quell-Abrufen.

Klingt alles sehr kompliziert und hochtechnisch. Gibt es denn z.B. Firmen die eine derartige Leistung, wie ich sie suche, anbieten. Natürlich wird sowas honoriert.

VG,
Facko



Lok24
21.02.2021, 10:58

Als Antwort auf den Beitrag von Mylenium

Re: LEGO Datenbank - Analyse/Abfrage

Hallo


Mylenium hat geschrieben:

Allein das wird nicht funktionieren... Da kriegste nach den ersten tausend Abfragen „Liebe Grüße vom Server! Der Administrator hat beschlossen, ihre IP-Adresse wegen Missbrauch zu blockieren.“

Nö. Es ist eine Abfrage.
"SELECT * FROM sets WHERE (YearFrom > 1949) ORDER BY YearFrom DESC" läuft bei Brickset ca 4 Sekunden und liefert 17606 Records.
Das Problem ist, dass die Felder nicht mehr alle angezeigt werden, das schrub ich schon.

Bei BL dauert das Exportieren aller verfügbaren Lots bei den Händlern ca 20 sec über die API.
Alles ganz legal und gewollt.

Wie sollten sonst Programme wie brinficiency oder gar Brickhunter funktionieren?
Aber ich sehe schon was Du meinst.

Das Ganze ist nicht trivial, und den Sinn habe ich noch nicht erfasst.
(Außer man definiert als Ziel, eine Excel-Tabelle lediglich zu haben)



Lok24
21.02.2021, 11:06

Als Antwort auf den Beitrag von facko

Editiert von
Lok24
21.02.2021, 11:11

Re: LEGO Datenbank - Analyse/Abfrage

Hi,

facko hat geschrieben:

Damit kenne ich mich nicht aus, glaube Dir aber. All diese Seiten haben eine sogenannte API Schnittstelle.

Sicher? Brickset?

facko hat geschrieben:
Ich kann damit nichts anfangen, aber ist das vielleicht eine Lösung? Es gibt ja viele Seite, die auf Bricklink etc. zugreifen. Das müssen ja auch 1000 Instant-Informationen sein. Scheint mir also machbar?

Gibt es denn z.B. Firmen die eine derartige Leistung, wie ich sie suche, anbieten. Natürlich wird sowas honoriert.
Natürlich ist es machbar, und natürlich gibt es auch Firmen die sowas machen.

Lok24 hat geschrieben:
Die Daten der Webseiten ändern sich von Tag zu Tag. Ich möchte diese Daten einmal im Jahr festhalten für mich.

Das schrieb ich schon: die Daten haben eine unterschiedliche Qualität, das Erscheinungsjahr und der Designer ändern sich nicht. Man braucht also nur die Variblen Daten abzufragen.
Ob das weniger Aufwand ist weiß man, wenn man die API hat.



facko
21.02.2021, 11:48

Als Antwort auf den Beitrag von Lok24

Editiert von
facko
21.02.2021, 11:49

Re: LEGO Datenbank - Analyse/Abfrage

Lok24 hat geschrieben:

Sicher? Brickset?

Ich habe dazu folgendes gefunden:
Brickset: https://brickset.com/api/v3.asmx
Bricklink: http://apidev.bricklink.c...cts/bricklink-api/wiki
Rebrickable: https://rebrickable.com/api/

facko hat geschrieben:
Natürlich ist es machbar, und natürlich gibt es auch Firmen die sowas machen.
Wie heißt die technische Lösung hierfür? So dass ich genaue weise, wie ich beschreiben kann, was ich suche und was den richtigen anspricht?

Lok24 hat geschrieben:
Die Daten der Webseiten ändern sich von Tag zu Tag. Ich möchte diese Daten einmal im Jahr festhalten für mich. Das schrieb ich schon: die Daten haben eine unterschiedliche Qualität, das Erscheinungsjahr und der Designer ändern sich nicht. Man braucht also nur die Variblen Daten abzufragen.Ob das weniger Aufwand ist weiß man, wenn man die API hat.

Ok



Lok24
21.02.2021, 12:07

Als Antwort auf den Beitrag von facko

Editiert von
Navigation
21.02.2021, 13:24

Re: LEGO Datenbank - Analyse/Abfrage

facko hat geschrieben:


Ah, sehr gut, das sollte vieles einfacher machen.

facko hat geschrieben:
Wie heißt die technische Lösung hierfür? So dass ich genaue weise, wie ich beschreiben kann, was ich suche und was den richtigen anspricht?

Das kann ich Dir Dir leider nicht beantworten, aber dank Deiner Vorarbeit scheint mir klar, dass das geht.



tmctiger
21.02.2021, 13:25

Als Antwort auf den Beitrag von facko

+1Re: LEGO Datenbank - Analyse/Abfrage

Hallo,

Ich will hier jetzt nicht der Spielverderber sein, aber wenn du dich wie du sagst nicht mit Programmierung auskennst, wirst du selbst schon mal nicht machen können. Denn das was du vor hast ist hartes programmieren und scripting - wie willst du sonst mit den apis interagieren?!?

Und machen lassen: ja klar kannst das machen lassen - ich hoffe du hast ein paar Tausendsender, eher Zehntausender auf der hohen Kannte ... das kostet richtig viel Geld ...

Da stellt sich mir die Frage: als Hobby um einfach eine Tabelle zu haben - wohl eher nicht, das zahlt sich nur aus wenn ein kommerzieller Gedanke dahinter steht ... und selbst da bin ich mir nicht sicher ob sich das rentiert ...

Wozu willst du so eine Tabelle überhaupt haben? Was erwartest du dir an Information welche die drei genannten Seiten nicht eh schon liefern? Irgendwie fehlt mir hinter der Idee der Anwendungsfall. Es sei denn, du machst das als Übungsprojekt zum programmieren Lernen, aber da würde ich mir fürn Anfang auch was einfacheres suchen ...


Mein Bricksafe: https://www.bricksafe.com/pages/tmctiger
Mein aktuelles Layoutprojekt: https://www.bricksafe.com...es/tmctiger/layout/wip 1000SteineThread dazu: https://www.1000steine.de...y=1&id=399371#id399371
Mein Youtube Kanal: https://www.youtube.com/c...gish5lKqS0dYnSd4ECEewQ


Matze2903 gefällt das


SilentGuy
21.02.2021, 15:19

Als Antwort auf den Beitrag von facko

Editiert von
SilentGuy
21.02.2021, 15:21

Re: LEGO Datenbank - Analyse/Abfrage

Ich wollte vor ner Weile mal ein paar Statistiken über alle Lego Sets machen die ich besitze. BrickSet macht ja schon ein paar, ein paar mehr habe ich machen können, in dem ich die BrickSet Daten als CSV geladen habe (Das geht übrigens nicht nur mit "Alle Sets die ich habe" sondern auch mit "Alle Sets die ich nicht habe") aber letztendlich hat BrickSet überraschend wenig Maße und Gewichte. Letztendlich habe ich dann ausgenutzt, dass die URL für Sets bei BrickLink immer gleich ist, ganz stupide das HTML geladen und dann mit der passenden RegEx die passenden HTML Tags gesucht.
Ich vermute aber mal stark, dass das nicht skaliert, weil der Server so viele Abfragen nicht unbedingt mögen wird. Hatte BrickLink mal angeschrieben weil die ne API haben, aber die ist nur für Händler. Ach, und was du nicht vergessen darfst ist, dass die Daten nicht immer übereinstimmen und du dann auch noch entscheiden musst welche Daten voran haben, wenn du unterschiedliche Werte bekommst.



Lok24
21.02.2021, 15:46

Als Antwort auf den Beitrag von SilentGuy

Re: LEGO Datenbank - Analyse/Abfrage

SilentGuy hat geschrieben:

aber letztendlich hat BrickSet überraschend wenig Maße und Gewichte.

Genau. Und die sollten ja nicht mit ausgewertet werden. Und es sind auch nicht alle Felder im Download ("Designer")

SilentGuy hat geschrieben:
Letztendlich habe ich dann ausgenutzt, dass die URL für Sets bei BrickLink immer gleich ist, ganz stupide das HTML geladen und dann mit der passenden RegEx die passenden HTML Tags gesucht.
Ich vermute aber mal stark, dass das nicht skaliert, weil der Server so viele Abfragen nicht unbedingt mögen wird.
Irgendwo stand mal vor Jahren, dass das nicht erlaubt ist (Stichwort "Robots").
Rebrickable beschränkt die API-Aufrufe auf 1/sec.

Aber genau so wie Du habe ich das auch, auch für die Preise einzelner Teile.
Mylenium hatte auf die Problematik auch schon hingewiesen.



Turez
21.02.2021, 16:04

Als Antwort auf den Beitrag von Lok24

+1Re: LEGO Datenbank - Analyse/Abfrage

Hallo,

Lok24 hat geschrieben:


SilentGuy hat geschrieben:
Letztendlich habe ich dann ausgenutzt, dass die URL für Sets bei BrickLink immer gleich ist, ganz stupide das HTML geladen und dann mit der passenden RegEx die passenden HTML Tags gesucht.
Ich vermute aber mal stark, dass das nicht skaliert, weil der Server so viele Abfragen nicht unbedingt mögen wird.
Irgendwo stand mal vor Jahren, dass das nicht erlaubt ist (Stichwort "Robots").
hier?
https://www.bricklink.com/help.asp?helpID=139

Gruß
Jonas



Lok24 gefällt das


Mylenium
21.02.2021, 16:46

Als Antwort auf den Beitrag von Lok24

Re: LEGO Datenbank - Analyse/Abfrage

Lok24 hat geschrieben:

Nö. Es ist eine Abfrage.


Wir reden ja nicht von der DB selbst, sondern einer REST-Abfrage der gefetchten Seiten, also kostet das im Zweifelsfall schon Performance. Und offene SQL-Abfragen außerhalb des Admin-Backends sollte es auf einer öffentlich zugänglichen Webseite wohl aus diversen Gründen eigentlich gar nicht geben... Da gruselt's mir ja gleich wieder.

Mylenium


https://myleniumsbrickcorner.wordpress.com


Lok24
21.02.2021, 16:52

Als Antwort auf den Beitrag von Mylenium

Editiert von
Lok24
21.02.2021, 16:55

Re: LEGO Datenbank - Analyse/Abfrage

Mylenium hat geschrieben:

Wir reden ja nicht von der DB selbst,

Vielleicht ein Mißverständnis?
Wenn Du ein "Select * from sets" machst brauchst Du keine weiteren Abfragen, das spuckt ja alles aus.
Es wird nur nicht angezeigt.
Wie @silentguy schrieb: Du bekommst das alles mit einem Mausklick hin.
Auch da fehlen Felder. Würden die mit angezeigt werden würde die Serverlast nicht höher.



facko
21.02.2021, 19:03

Als Antwort auf den Beitrag von facko

Re: LEGO Datenbank - Analyse/Abfrage

Leider kann ich bei den technischen Ahntworten nicht mitreden, danke aber bereits für Euren Input. Als Laie habe ich mir es natürlich einfacher vorgestellt, aber werde weiterhin überlegen, wie es sich bewerkstelligen lässt.



Gesamter Thread: