Skript vom server herunterladen

  • Antworten:4
hase
  • Forum-Beiträge: 3

26.02.2012, 08:53:25 via Website

Hallo,
Ich bin dabei ein Stundenplan für Android Froyo zu programmieren und es klemmt.
Klassen ID ändert sich jedes Jahr.
Kann mir jemand ein Rat geben wie kann ich aus diese Skript die Klassen ID herunterladen
und damit immer die aktuelle Klassenliste (die ändert sich jedes Jahr) auf dem Gerät zu haben?
Für jede Hilfe bin ich sehr dankbar
Code:
<option value="-1">&lt;Bitte wählen Sie&gt;</option>

<option value="179">1BFE1</option><option value="180">1BFE2</option><option value="181">1BFI</option><option value="182">1BK1T</option><option value="183">1BK2T</option><option value="184">2BF1/1</option><option value="185">2BF1/2</option><option value="186">2BF2/1</option><option value="187">2BF2/2</option><option value="188">3BKE1AT</option><option value="189">3BKE1GS</option><option value="190">3BKE2AT</option><option value="191">3BKE2GS</option><option value="192">3BKE3AT</option><option value="193">3BKE3GS</option>

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

26.02.2012, 09:10:28 via App

Parsen?

Herzliche Grüße

Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Felix
  • Forum-Beiträge: 259

26.02.2012, 09:16:07 via Website

Tach!

wie kann ich aus diese Skript die Klassen ID herunterladen

Als Programmierer solltest du dir klar sein, was genau passiert oder passieren soll und dass dann auch genau formulieren. Geht es dir darum etwas herunterzuladen oder aus der bereits heruntergeladenen Webseite einen Text zu extrahieren? Für ersteres gibt es ausreichend Beispiele im Netz, für letzteres brauchst du einen HTML-Parser oder zumindest Wissen, wie man reguläre Ausdrücke schreibt und verwendet.

Ich würde dir aber raten, stattdessen im Server eine maschinenlesbare API einzubauen (oder deren Einbau anzuregen), die dir auch anhand der Klassennamen (und nicht nur deren ID, falls sie wirklich benötigt wird) gleich die passenden Informationen zu liefern. Du hast vermutlich sonst dasselbe Problem wie eingangs, dass du eine Webseite parsen musst, um an die Informationen zu kommen. Webseiten ändern sich gelegentlich im Aufbau, so dass du immer Anpassungsbedarf hast. Die maschinenlesbare API ist in der Hinsicht stabiler, weil sie nicht von solchen optischen Anpassungen betroffen ist.


Felix.

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

26.02.2012, 12:42:45 via App

Hallo Hase,

Fragen per PN beantworte ich nicht, da über das Handy die PN Funktion von AndroidPIT schlicht nicht zu gebrauchen ist.

Stelle hier in Deinem Thread bitte Deine Rückfragen...

Herzliche Grüße


Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Felix
  • Forum-Beiträge: 259

26.02.2012, 13:52:29 via Website

Tach!

Fragen per PN beantworte ich nicht, da über das Handy die PN Funktion von AndroidPIT schlicht nicht zu gebrauchen ist.

Dem schließe ich mich an, aber aus anderem Grunde. Individuelle Betreuung erscheint dir, hase, vielleicht das beste zu sein. Doch dabei bist du auf einen einzelnen Wissensstand angewiesen, und der kann auch unzureichend sein. Hier im Forum besteht die Chance, bei einer fehlerhaften Aussage von anderen Wissenden korrigiert zu werden. Und sowas hilft dann nicht nur deinem Projekt sondern auch zum Beispiel mir.

Deine (hases) Frage per Mail war dieselbe wie deine ursprüngliche hier im Thread, nur anders formuliert. Derzeit habe ich nichts wesentliches hinzuzufügen. Ein HTML-Parser ist aufwendig aber flexibler, beispielsweise dann, wenn mehrere Attribute in einem HTML-Element vorkommen und die in beliebiger Reihenfolge im Code stehen. Dann versagt so langsam die RegExp-Methode (RegExp = regular expressions = reguläre Ausdrücke), weil man mit dieser nur Muster suchen kann und im Falle der Attribute jede individuelle Reihenfolge berücksichtigen muss. In deinem Fall ist es jedoch ein regulärer Ausdruck immer noch der beste Kompromiss zwischen Aufwand und Nutzen - vorausgesetzt, du kennst dich mit RegExp aus. Wenn nicht, würden weitergehende Antworten auf das mehr oder weniger reine Präsentieren der Lösung hinauslaufen und dabei bleibt in der Regel der Lerneffekt auf der Strecke, zumal Erklärungen ohne RegExp-Grundlagenwissen recht aufwendig würden.

Meine Empfehlung: schnapp dir ein RegExp-Tutorial und lern erstmal reguläre Ausdrücke. Wenn du die schon kannst, zeig uns deine(n) Lösung(sansatz), auf dass wir ihn kommentieren und korrigieren können.

Unabhängig davon bleibt mein anderer Rat aber bestehen: Das Rausfrickeln von Information aus einer für Menschen geschriebenen Webseite bleibt immer nur eine Notlösung. Eine maschinenlesbare API ist hier deutlich im Vorteil.


Felix.

hase

Antworten