Ankündigung

Einklappen
Keine Ankündigung bisher.

Webseite parsen - Wie geht das mit Edomi?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • panzaeron
    antwortet
    Freut mich das es jetzt funktioniert
    ​​

    Einen Kommentar schreiben:


  • tunneltruppe
    antwortet
    Zitat von tunneltruppe Beitrag anzeigen

    ICH HAU mich WECH!!! Es GEHT!!! ES GEHTT!!!!
    DANKE!!!!!!!!!!!!!!!!!
    Vielen vielen DANK MÄNNERS!!! Ohne euch hätte ich das nie hinbekommen!!!!!!
    P.S wenn Ihr mal in Hannover seit kommt aufen Bier, oder mehr vorbei!!!
    Gruß Marcus!!!!
    [ATTACH=CONFIG]n954299[/ATTACH]
    Nachtrag: Beide Versionen getestet und gehen!!! DANKE DANKE!!!

    Einen Kommentar schreiben:


  • tunneltruppe
    antwortet

    ICH HAU mich WECH!!! Es GEHT!!! ES GEHTT!!!!
    DANKE!!!!!!!!!!!!!!!!!
    Vielen vielen DANK MÄNNERS!!! Ohne euch hätte ich das nie hinbekommen!!!!!!
    P.S wenn Ihr mal in Hannover seit kommt aufen Bier, oder mehr vorbei!!!
    Gruß Marcus!!!!
    UFT-8_3.jpg

    Einen Kommentar schreiben:


  • panzaeron
    antwortet
    Versuch es mal so:
    PHP-Code:
    $src=utf8_encode(file_get_contents("http://www.wetterstation-hannover.de/html/current.html")); 
    Edit:
    Gerade noch gesehen und besser gelöst: Du erstellst einen neue UTF-8 Version von file_get_contents, welche die Konvertierung durchführt:
    PHP-Code:
    function file_get_contents_utf8($fn) { 
         
    $content file_get_contents($fn); 
          return 
    mb_convert_encoding($content'UTF-8'
              
    mb_detect_encoding($content'UTF-8, ISO-8859-1'true)); 

    Also am Ende des EXEC-Teils fügst du die neue Funktion ein und rufst diese dann wie folgt auf:

    PHP-Code:
    $src=file_get_contents_utf8("http://www.wetterstation-hannover.de/html/current.html"); 
    Das Beispiel stammt von hier.
    Zuletzt geändert von panzaeron; 01.06.2016, 21:48.

    Einen Kommentar schreiben:


  • tunneltruppe
    antwortet
    Uffff... Ihr seit gut!!!
    Bin gerade mal froh die Werte auszulesen und ein ö so wech zubekommen, so dass
    die Auswertung geht!!!
    Also muss ich ja den Befehl in die ###[EXEC]### bekommen
    und die Seite:
    $src=file_get_contents("http://www.wetterstation-hannover.de/html/current.html");
    ja (denke ich) in utf8_encode($data); übergeben!

    So geht es leider nicht:

    UFT-8_2.jpg

    DANKE vorab!!!



    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von panzaeron Beitrag anzeigen
    PHP-Code:
    utf8_encode($data
    Sach ich doch

    Einen Kommentar schreiben:


  • panzaeron
    antwortet
    Ich weiß nicht ob es hilft, aber du könntest versuchen die Website nach UTF zu konvertieren mit
    PHP-Code:
    utf8_encode($data

    Einen Kommentar schreiben:


  • tunneltruppe
    antwortet
    Zitat von wintermute Beitrag anzeigen

    Ja, das hat mit der Kodierung zu tun, die Webseite liefert iso-8859-1.
    Und doch, das bekommt man weg: Du musst einfach ein htmlentities() ueber das Ergebnis laufen lassen, also quasi so:
    PHP-Code:
    preg_match("#Wohlbefinden.*?</font>.*?([^>]+)</font>#s",$src,$matches) && print htmlentities($matches[1]); 
    Wichtig aber, dassu das nicht mit dem Webseitenquelltext tust sondern nur mit dem Ergebnis des preg_match!

    Alternativ kannst Du (dann auch bereits beim Quelltext) utf8_encode benutzen um von iso-8859 nach UTF-8 zu konvertieren. Ich weiss nicht 100%ig wie Edomi dazu steht wenn Du UTF-8 aus einem LBS rauswirfst, aber nen Versuch wird es wert sein
    Hallo Michael,
    bin gerade dabei Deinen Befehl umzusetzen, leider ohne Erfolg!!
    LBS:
    htmlentities_2.jpg

    Edomi Logikeditor:
    Logik html.jpg

    WOhlbefinden.jpg

    Wenn ich das recht verstehe, dann ist ja die Webseite in:

    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1"> kodiert.

    Ich muss aber die "Webseite" in UTF-8 haben:
    UFT-8.jpg

    Leider finde ich nicht den Befehl "htmlentities" nicht sooo wie ich es mir erklären kann:
    htmlentities_erklärung.jpg

    Weißt Du was ich hier falsch deute??
    DANKE DIR!!!

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von tunneltruppe Beitrag anzeigen
    A) Bzw. der Umlaute in der Auswertung (ä/ö) Hat das was mit der Codierung zu tun?
    Ich denke das bekommt man nicht weg!?

    B) Wie Du schon geschrieben hast der unsauberen „Webseite und dem “°“,
    da bekomme ich jetzt das ? rein (siehe Post 42 hier im Beitrag)
    Ja, das hat mit der Kodierung zu tun, die Webseite liefert iso-8859-1.
    Und doch, das bekommt man weg: Du musst einfach ein htmlentities() ueber das Ergebnis laufen lassen, also quasi so:
    PHP-Code:
    preg_match("#Wohlbefinden.*?</font>.*?([^>]+)</font>#s",$src,$matches) && print htmlentities($matches[1]); 
    Wichtig aber, dassu das nicht mit dem Webseitenquelltext tust sondern nur mit dem Ergebnis des preg_match!

    Alternativ kannst Du (dann auch bereits beim Quelltext) utf8_encode benutzen um von iso-8859 nach UTF-8 zu konvertieren. Ich weiss nicht 100%ig wie Edomi dazu steht wenn Du UTF-8 aus einem LBS rauswirfst, aber nen Versuch wird es wert sein

    Einen Kommentar schreiben:


  • panzaeron
    antwortet
    Ich vermute es hilft wenn du die Sonderzeichen mit str_replace ersetzt, z. B. das Grad-Zeichen so:
    PHP-Code:
    str_replace('°''&deg;',$variable
    Eine Liste mit Ersetzungen findest du z. B. hier, musst du mal probieren ob dich das weiter bringt.

    Einen Kommentar schreiben:


  • tunneltruppe
    antwortet
    DANKE Michael!!!
    Ich hatte natürlich nicht mit der # gearbeitet!!!
    Das war der erste Fehler und dann [^>]+)< war der zweite!!
    Da Fehlt halt mir a) die Erfahrung und b) der „Blick“ danach!!!
    Aber, ich über schönnn weiter!!!

    P.S. Hast Du ggf. noch einmal zwei Gedankengänge für mich übrig?

    A) Bzw. der Umlaute in der Auswertung (ä/ö) Hat das was mit der Codierung zu tun?
    Ich denke das bekommt man nicht weg!?

    B) Wie Du schon geschrieben hast der unsauberen „Webseite und dem “°“,
    da bekomme ich jetzt das ? rein (siehe Post 42 hier im Beitrag)
    Also schönen Abend….
    Wetterstation_2016.05.31.jpg

    Einen Kommentar schreiben:


  • wintermute
    antwortet
    Zitat von tunneltruppe Beitrag anzeigen
    [h=4]Wie werte ich etwas aus wenn ich keine Definierten „Abschluss“ im String habe...
    Irgendeinen Abschuss gibt es immer
    Du koenntest zB den abschliessenden font-Tag nehmen - geht evtl auch einfacher, aber das hatte mich grad so angesprungen. Das saehe dann zB so aus:
    PHP-Code:
    preg_match("#Wohlbefinden.*?</font>.*?([^>]+)</font>#s",$src,$matches) && print $matches[1]; 
    bzw analog zur Vorhersage:
    PHP-Code:
    preg_match("#Wettervorhersage.*?</font>.*?([^>]+)</font>#s",$src,$matches) && print $matches[1]; 
    Alle Angaben ohne Gewaehr

    Einen Kommentar schreiben:


  • magiczambo
    antwortet
    Wie wärs mit html Tags Zählen bzw. auswerten. Oder auch Klammern zählen.....ist natürlich alles ein bißchen umständlich. Aber würde gehen.

    Einen Kommentar schreiben:


  • tunneltruppe
    antwortet
    Guten Morgen,

    habe mal weiter die Webseite analysiert und komme zu einen Problem:
    Wie werte ich etwas aus wenn ich keine Definierten „Abschluss“ im String habe:
    Bei den ersten Werten suchte er nach dem C am Ende.
    Bei der Werten:
    - Wert: Persönliches Wohlbefinden, Antwort: hohe Wärmebelastung (26), denke ich könnte ich die \) nehmen,
    aber vorher escapen.

    - Wert: Wettervorhersage: Antwort: regnerisch, bzw. veränderlich, hier wollte ich über das .*?gif.*? gehen,
    aber finde kein Ende bei regnerisch.
    Muss man ggf. die ganzen Zeichen davor zählen (mit Leerzeichen) um da hinzukommen?

    - Wettervorhersage VantagePro: wäre das selbe.

    Vielen DANK vorab!!!
    Wetterseite:
    Wettterseite.JPG
    Quellcode:
    Wettterseite Quellcode.JPG
    LBS (was ich bisher gemacht habe):
    LBS.JPG

    Einen Kommentar schreiben:


  • gaert
    antwortet
    Ursprünglich wollte ich garkeine Namen für die Ausgänge implementieren - dafür ist schließlich die Hilfe zum LBS gedacht (A1: bla, A2: blub, ...).

    Einen Kommentar schreiben:

Lädt...
X