im Prinzip läuft das genauso ab.Mischa hat geschrieben:ich gebe eine suche über die API in auftrag und bekomme die Artikelnummern zurück als array zurück.
dann kann ich entscheiden, zu welchen artikeln ich genaue daten abrufen kann.
wenn das so ist, dann kann man ja die vorhandenen artikelnummer und die vom suchergebnis vergleichen.
ich vermute jedoch, daß es ganz anders abläuft, sonst wäre das problem mit den 10 schon runtergeladenen Artikeln nicht.
Erschwerend kommt aber hinzu, daß die Treffer in mehrere Blöcke - also Seiten - unterteilt werden, genau wie die Suchergebnisseiten auf der eBay Homepage auch. BayWotch nutzt hier 100'er Blöcke. Diese Blöcke werden zudem (ab BayWotch Professional) asynchron übertragen, d.h. es kann passieren, daß erste Trefferseite 5 empfangen wird, und danach Seite 1.
Das alles stellt aber bisher kein Problem dar. Problematisch wird es erst, wenn eBay die von der Applikation angeforderte Reihenfolge der Daten nicht exakt so zurückgibt. Im aktuellen Fall wird das Suchergebnis einfach in zwei virtuelle Abschnitte unterteilt: Der erste enthält die "normalen" Auktionen, der zweite dann die Shop Artikel. Und innerhalb dieser virtuellen Abschnitte sind die Artikel so sortiert, wie angefordert wurde.
Man kann aber nicht gezielt auf den zweiten virtuellen Shop-Block zurückgreifen, sondern man muß erst alle Suchergebnisse auswerten, um diese zu erreichen. Es gibt keinen "Zeiger" o.ä., der einem sagt, wo (also auf welcher Seite) die Shop-Artikel nun anfangen oder wieviel Shop-Artikel vorhandne sind.
Das schmeißt natürlich das ganze Konzept bzgl. der neu hinzukommenden Artikel über den Haufen.
Das mit den 10 Artikeln ist vollkommen frei festgelegt; ich könnte auch auf 20 oder 100 testen. Je mehr ich testen würde, desto höher die Wahrscheinlichkeit, daß die folgenden Treffer bereits in der Datenbank vorhanden sind.