Von html-Code Elemente auslesen

Maverick79

Maverick79

Aktives Mitglied
Thread Starter
Dabei seit
24.02.2007
Beiträge
869
Reaktionspunkte
75
Hallo,
als Anfänger in Sachen Programmierung, bin ich momentan dabei ein Inventarprogramm zu entwickeln. Neue Funktionen erstelle ich meistens zuerst in einem Testprojekt und füge die Dateien dann meinem Inventarprogramm hinzu.

Jetzt habe ich in meinem Testprojekt "Website Content" eine Artikelsuche bei Amazon per EAN programmiert. Funktioniert wunderbar.

Dann habe ich die Dateien (SearchController.h + .m)in mein Inventarprogramm (Home Inventory) hinzugefügt, getestet und.... Funktioniert nicht. Er findet meinen Suchstring nicht. Nach langer Recherche mit NSLog und dem Debugger, habe ich herausgefunden, dass mir ein anderer html-Code zurück gegeben wird. Und ich habe keine Ahnung warum!!! Hänge an dem Problem schon seit fast 2 Wochen. Hab schon im XDeveloper und im OSX Entwicklerforum gefragt. Man konnte mir nicht helfen.
Ihr seid meine letzte Hoffnung.

Achtung: ich weiß der Code ist nicht perfekt und es fehlt auch noch ein Fehlerhandling, mir geht es aber erstmal darum, dass es funktioniert.
Sollte ich mich unverständlich ausgedrückt haben, fragt nochmal nach :D

Hier mal die 2 Projekte.
 
Wie meinst Du das? Wie wird dir "ein anderer HTML Code zurück gegeben"? Welchen erwartest Du? In welcher Zeile?

Alex
 
Gib in beiden Projekten eine EAN ein. Wenn der Artikel bei Amazon gelistet ist, bekommst du Name, Preis und Photo zurück. Bei Website Content funktioniert das, aber im anderen Projekt nicht. Wenn du dann in der Log Ausgabe nach "productTitle" suchst, bekommst du in Website Content einen Treffer (was richtig ist) und in Home Inventory 2 Treffer (was falsch ist). Auch mein Suchstring <div class=\"productTitle\"><a href=\" kommt in der Log Ausgabe von Home Inventory nicht vor. Und das verstehe ich absolut nicht.
Habe die SearchController Klasse ja 1 zu 1 kopiert. Mir ist schleierhaft warum ich 2 unterschiedliche HTML-Codes bekomme.
Hoffe ich konnte es verständlich erklären.
 
<translator switch="on">
Es geht dir also darum, dass du in
Code:
SearchController.m
Zeile 39: NSString* htmlString = [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:&error];
im Projekt HomeInventory andere Daten in htmlString zurückbekommst, als in
Code:
SearchController.m
Zeile 39: NSString* htmlString = [NSString stringWithContentsOfURL:url usedEncoding:&encoding error:&error];
im Projekt WebsiteContentTest ???

</translator>

Dann schreib das doch bitte auch so, sonst müssen wir raten.
Ich hab hier gerade keinen Mac und kann das Projekt nicht testen, aber ich würde an deiner Stelle noch einmal genau nachschauen, ob du wirklich dieselben URLs aufrufst, d.h. ob die Verarbeitung der Suchparameter korrekt ist, schließlich sind die zwei Dateien nicht identisch...
Viel Erfolg!
 
Genau, da ist das Problem. Hab die seltene Gabe ewig um den heissen Brei herumzureden :D
 
aber ich würde an deiner Stelle noch einmal genau nachschauen, ob du wirklich dieselben URLs aufrufst, d.h. ob die Verarbeitung der Suchparameter korrekt ist,
Hab ich alles schon mehrmals überprüft. Vom Projekt kopiert, vom Finder kopiert und von Hand noch mal abgetippt in älteres Projekt kopiert und neues Projekt angelegt. Immer der gleiche Fehler. Es scheint fast so, als ob es nur im Website Content Projekt funktioniert :confused:
Er setzt mir die URL auch richtig zusammen, denn öffne ich diese im Browser, wird mir die richtige Website angezeigt.
 
Bug oder falsche Einstellung???

Hallo,
nachdem sich keiner mehr gemeldet hatte, habe ich heute noch ein bisschen rumexperimentiert.
Ergebnis:
Es funktioniert :clap: Aber nur wenn ich den Projektnamen von Home Inventory in WebsiteContentTest ändere, sprich in den Projektnamen bei dem es bisher funktioniert hatte :confused: :rolleyes: :kopfkratz: :noplan:

Ist das ein Bug, oder eine falsche Einstellung von mir?
 
Das klingt ja merkwürdig ... vielleicht schickt Cocoa Touch das aber als Useragent, und Amazon reagiert da irgendwie drauf ...

Alex
 
Ich habe keine Ahnung. Bin wie gesagt noch relativ neu in der Programmierung und hier bin ich echt am verzweifeln.
 
Zurück
Oben Unten