kleine Einführung in die HTTPGET Funktion von Tasker

  • Antworten:3
Ludwig H.
  • Forum-Beiträge: 3.256

24.02.2011, 22:10:12 via Website

Hi,

Tasker kennt ihr ja bestimmt. Einfach eine geniale App!!! Muss man haben. :grin:

Da die HTTPGET Funktion am Anfang nicht sehr übersichtlich und leicht zu begreifen ist, man damit aber richtig super Sachen machen kann, wollte ich das mal ein bisschen erklären, so schwer ist es garnicht ;)

Also: Ich erklär mal ein bisschen an einem Task, der auf die mobile Wikipedia-Seite geht und dort nach dem aktuellen "Artikel des Tages" sucht. Der Name des Artikels soll dann ausgegeben werden um z.b. auf einem Widget angezeigt zu werden. Den Link dazu kann man dann auch ganz leicht "rausfiltern".

Hier ist mal die "Task-Beschreibung aus Tasker kopiert:
1A1: HTTP Get [ Server:Port:de.m.wikipedia.org Pfad: Attribute: Timeout:55 MIME Typ:text/html Ausgabe Datei:Tasker/schnee.txt ]
2A2: Variable Aufteilen [ Name:%HTTPD Teiler:"> Basis löschen:Aus ]
3A3: Variable Aufteilen [ Name:%HTTPD9 Teiler:< Basis löschen:Aus ]
4A4: Variable Aufteilen [ Name:%HTTPD8 Teiler:<b><a href="/wiki/ Basis löschen:Aus ]
5A5: Element Text [ Element:Wiki / Text1 Text:Wikipedia-Artikel des Tages:
6%HTTPD91 ]
7A6: Variable Setzen [ Name:%WIKILINK An:http://de.m.wikipedia.org/wiki/%HTTPD82 Mathematisch:Aus Hinzufügen:Aus ]
8A7: Popup [ Text:Fertig! Lang:Aus ]

Hier ist die Erklärung dazu:

A1: Gehe auf die Seite http://de.m.wikipedia.org. Als Zeitlimit ist 55 Sekunden gesetzt, MIME Typ ist text/html, ich weiß nicht zu was Tasker das braucht, sonst geht es aber nicht. Ich hab dann noch angegeben, das er den Inhalt der Seite (Quelltext) in einer Datei speichern soll (dann kann man da nochmal nachschauen).
Die HTTPGET Funktion sagt also, wo Tasker hin"surfen" soll und von dort den Quelltext "runterladen" soll. Die Ausgabe wird in der Variable %HTTPD gespeichert, die müssen wir also verwenden.
A2: Jetzt fangen wir an, die Variable aufzuteilen, heißt wir filtern uns jetzt das raus, was wir wollen (also den Artikelnamen und den Link). Dazu schaut man am besten in den Quelltext der Seite, um zu schauen, wie man sie am besten "spaltet".
Hier ist mal ein Auszug des Quelltextes, der benötigt wird:
1</a>
2 </div>
3 <p>Als <b><a href="/wiki/Stammesgeschichte_des_Menschen">Stammesgeschichte des Menschen</a></b> wird das durch Evolution bedingte Hervorgehen des modernen Menschen (<i>Homo</i> <i>sapiens</i>) und seiner n&#xE4;chsten Verwandten aus gemeinsamen Vorfahren bezeichnet. Die Stammesgeschichte des Menschen begann nach heutiger Auffassung mit der
Da sieht man schön, der Artikelname ist "Stamgeschichte des Menschen". So, wie teilt man sowas auf?
Mit der Funktion "Variable Split" bzw. "Variable aufteilen" muss man jetzt die %HTTPD Variable aufteilen.
Beispiel: die Variable %VAR beinhaltet den Text "Androidpit ist mein Lieblingsforum".
Jetzt kann man mit der Split Funktion diese Variable aufteilen, hier geht das am Besten mit dem Leerzeichen " ", klar oder? ;)
Heraus kommt dann das: %VAR1 = Androidpit ; %VAR2 = ist ; %VAR3 = mein ; %VAR4 = Lieblingsforum
Wenn man also den Quelltext oben aufteilen will, nimmt man am besten das: " "> " (ohne leerzeichen und Gänsefüßchen)
Das oben ist ja natürlich nicht der komplette Quelltext, das "> vor Stammesgeschichte ist das neunte "> in dem Quelltext der Seite, also müssen wir oben (wie beim 4. Leerzeichen) einfach die neunte %HTTPD Variable nehmen.
Die Variable %HTTPD9 hat danach also den Wert : Stammesgeschichte des Menschen</a></b> wird das durch Evoluti...."
Der Text nach "Menschen" muss natürlich auch weg, schaut ja sonst blöd aus...
A3: Also, das ganze nochmal teilen, diesmal mit " < "
Danach hat man die Variable %HTTPD9 in mehrere Untervariablen aufgeteilt, immer eine neue, wenn ein " < " im Text steht. Also ist die Variable %HTTPD91 : " Stammesgeschichte des Menschen " und die Variable %HTTPD92 " </a></b> wird das durch Evoluti......".
Jetzt haben wir eigentlich schon fast alles was wir wollen. Der Titel des Artikel ist in der Variable %HTTPD91.

Der Link fehlt aber noch! Hier nochmal ein Stück Quelltext:

1</div>
2 <p>Als <b><a href="/wiki/Stammesgeschichte_des_Menschen">Stammesgeschichte des Menschen</a></b> wird d

A4: Da die Variable %HTTPD9 ja bei "Stammesgeschichte..." anfängt, steht der Link ("/wiki/Stammesgeschichte_des_Menschen") logischerweise in der Variable %HTTPD8. Für uns reicht aber alles nach "/wiki/", um den Link zu erstellen. Also müssen wird die Variable %HTTPD8 nochmal teilen, und zwar mit dem Splitter " <b><a href="/wiki/ " . Nach dem Splitten ist der der (Endteil des) Links in der Variable %HTTPD82. Um jetzt einen "kompletten" Link zu erhalten muss man nur " http://de.m.wikipedia.org/wiki/ " vorne dranhängen. Also ist " http://de.m.wikipedia.org/wiki/%HTTPD82 " der komplette Link.

Das wars! :)

Jetzt muss der Text nur noch irgendwo ausgegeben werden. Ich hab mir mit der App Zoom den Text auf Widgets anzeigen lassen.
Zoom ist eine App vom selben Entwickler von Tasker, die noch im Betastadium ist, womit man sich sehr einfach und individuell Widgets erstellen kann.
Hier kann man sich die Beta runterladen.
So schaut das bei mir auf dem Homescreen aus:

Wenn man rechts auf den Pfeil klickt, wird die Anzeige aktualisiert, wenn man links klickt, öffnet sich der Browser auf der Seite des Artikels. Das habe ich so gelöst:
A6: Setze die Variable %WIKILINK auf " http://de.m.wikipedia.org/wiki/%HTTPD82 ". Diese Variable kann man dann in einem anderen Task mit der Aktion "im Browser öffnen" ausführen und auf den linken Text "legen".

Natülich kann man sich den Text auch einfach in einem Popup oder sowas anzeigen lassen...

Hier nochmal der ganze Task als xml Datei, die man in Tasker importieren kann: http://db.tt/Vu4mmiu


Da mir die Funktion so super gefällt, hab ich damit noch ein wenig rumgespielt und noch 2 Sachen erstellt:

1. Lottozahlen:

Beim klicken auf das Widget werden die Lottozahlen aktualisiert.

Hier ist noch die xml Datei, falls ihr den Lotto Task in Tasker importieren wollt: http://db.tt/TJkwAzq

2. Schneehöhen bei Bekannten wo wir zum Skifahren hinfahren:

Beim klicken wird aktualisiert, wenn bei Geöffnet "Ja" steht, ist der Text grün, wenn dort "Nein" steht, ist er rot (wie jetzt ;) ).


Ich hoffe, ich hab alles verständlich erklärt, wenn nicht -> nachfragen :D

lg
Ludwig

edit: Ich war mir nich sicher, ob hier, oder im Review Forum, ansonsten bitte verschieben! ;)

— geändert am 24.02.2011, 22:11:09

derHaifisch

Antworten
Oliver V.
  • Forum-Beiträge: 2.574

25.02.2011, 09:15:21 via Website

Klasse Anleitung!

Bye, Oliver

Antworten
Ludwig H.
  • Forum-Beiträge: 3.256

26.02.2011, 10:00:55 via App

ich hab die Wiki Datei mal geupdated, da war noch ein kleiner Fehler drin, der den Link nicht richtig ausgegeben hat.

derHaifisch

Antworten
Harald Müller
  • Forum-Beiträge: 9

05.05.2017, 09:40:26 via Website

Hallo Ludwig,
Danke für die Anleitung. Ich hab versucht, deinen Task nachzubauen um mit dieser Materie warm zu werden, aber stolpere schon am Anfang.
Bei: 2 I A2: Variable Aufteilen [ Name:%HTTPD Teiler:"> Basis löschen:Aus ] geht's nicht weiter - roter Punkt

Beim "Element Text" wird ein Szenenname verlangt. Alles was ich eingebe ist error.

Da dein Beitrag von 2011 ist, nehme ich an, dass sich die Wikipedia-Seite geändert hat und die Befehle nicht mehr aktuell sind.

Was ich brauche, ist möglicherweise gar nicht so kompliziert.
Mir geht es hauptsächlich darum einen Wert als Zahl auf dem Homesreen abzubilden.
Den Kurs einer jetzt beliebigen Aktie rechts neben dem grünen/roten Pfeil bei "onvista".
Den Link darf ich hier als neues Mitglied leider nicht veröffentlichen. In onvista rechts z.B. Adidas eingeben und dann kommt die Seite.

Wenn du mir dabei behilflich sein könntest? Besten Dank.

Gruß Harald

— geändert am 06.05.2017, 21:29:23

Antworten