vic: Daten aus Website auslesen

hallo zusammen,

habe nun die Aufgabe erhalten aus einer Website bestimmte Daten auszulesen und verzweifle daran, vielleicht kann mir hier jemand weiterhelfen.

Das Ganze soll mit PERL funktionieren!!

Ich versuche aus der Website: http://grid.fzk.de/monitoring/jobs.php

im unteren Teil die Anzahl der jeweiligen Jobs auszulesen und hab bisher noch keine vernünftige Idee gefunden.

Gruß vic

  1. Hallo Vic,

    Das Ganze soll mit PERL funktionieren!!
    Ich versuche aus der Website: http://grid.fzk.de/monitoring/jobs.php
    im unteren Teil die Anzahl der jeweiligen Jobs auszulesen und hab bisher noch keine vernünftige Idee gefunden.

    Wie weit bist Du bisher gekommen?
    Was hast Du versucht?
    Wo bist Du hängen geblieben?

    Noch was: Denk zuerst unabhängig von der Programmiersprache!
    Denk an das EVA-Prinzip:

    E ingabe
      V erarbeitung
      A usgabe

    Was ist Deine Eingabe? Wie kannst Du diese realisieren?
    Was muss Deine Verarbeitung leisten?
    Was willst Du ausgeben?

    Freundliche Grüße

    Vinzenz

    1. Nun denn,

      ich habe es bisher geschaft den Quellcode der Website in ein Skalar(?) nennen wir ihn $content einzulesen, allerdings hab ich nun keine Ahnung wie ich es schaffe die Werte möglichst der Reihe nach einer Schleife oder ähnliches auszulesen.

      Ziel ist es die einzelnen Werte in Variablen zu abzulegen oder von mir aus auch in einer Datei auszugeben für spätere Analysen.

      Gruß vic

    2. Hallo Vic,

      Ich versuche aus der Website: http://grid.fzk.de/monitoring/jobs.php
      im unteren Teil die Anzahl der jeweiligen Jobs auszulesen und hab bisher noch keine vernünftige Idee gefunden.
      Noch was: Denk zuerst unabhängig von der Programmiersprache!
      Denk an das EVA-Prinzip:

      E ingabe

      die hast Du also hinbekommen.

      V erarbeitung

      Schau Dir mal den Quelltext an:
      Was steht in den Zeilen unter

        
      <table border=0 cellpadding=5><tr><td>Jobs running<br>Jobs queued<br>LCG Jobs running<br>LCG Jobs queued</td>
      

      Hast Du nun eine Idee, wie Du an die Daten kommen kannst?

      Freundliche Grüße

      Vinzenz

      1. Hi Vinzenz,

        nach dieser Zeile folgen natürlich die beiden Zeilen mit den Daten die ich haben will, allerdings hab ich keine Ahnung wie das ganze Programmiertechnisch lösen soll.

        Ich muss irgendwie die obere Zeile suchen, danach eine Zeile runtergehen und nach Zahlenausdrücken suchen oder so ähnlich (würde mir jetzt so vorschweben). Allerdings wie gesagt bin ich Perl Neuling und weiss nicht genau was möglich ist und was nicht.

        Gruß vic

        1. (Hallo|Hi(ho)?|Tag) vic,

          nach dieser Zeile folgen natürlich die beiden Zeilen mit den Daten die ich haben will, allerdings hab ich keine Ahnung wie das ganze Programmiertechnisch lösen soll.

          Es gibt in Perl ein paar eingebaute Funktionen, mit denen du in Zeichenketten suchen und Teilzeichenketten extrahieren ("heraus-pulen") kannst. Die wichtigsten:
          substr()
          index()

          Auf SELFHTML.de gibts die auch in deutscher Sprache:
          http://de.selfhtml.org/perl/funktionen/zeichenketten.htm#substr
          http://de.selfhtml.org/perl/funktionen/zeichenketten.htm#index

          Über kurz oder lang wirst du aber reguläre Ausdrücke kennen und schätzen lernen.

          Brauchbare Einsstiegsseiten in deutscher Sprache könnten die hier sein:

          http://de.selfhtml.org/perl/sprache/regexpr.htm (Wo wir eh schon mal hier sind ... ;-))
          http://regexp-evaluator.de/tutorial/ (bezieht sich auf die Perl-kompatiblen RegEx von PHP)

          Ich muss irgendwie die obere Zeile suchen, danach eine Zeile runtergehen und nach Zahlenausdrücken suchen oder so ähnlich (würde mir jetzt so vorschweben).

          Zeilenumbrüche sehen in RegEx-Schreibweise so aus: "\n"
          Ganze Zahlen markiert man so: "\d+"
          Dabei steht "\d" für eine Ziffer und das "+" legt fest, das die Zahl aus mindestens einer Ziffer bestehen muss, aber auch mehrere enthalten kann.

          Allerdings wie gesagt bin ich Perl Neuling und weiss nicht genau was möglich ist und was nicht.

          Dann versuchs doch mal hiermit:
          http://de.selfhtml.org/perl/intro.htm

          MffG
          EisFuX

  2. Hallo,

    habe nun die Aufgabe erhalten aus einer Website bestimmte Daten auszulesen und verzweifle daran, vielleicht kann mir hier jemand weiterhelfen.

    Das Ganze soll mit PERL funktionieren!!

    use LWP::Simple;

    der Rest steht in der Doku.

    Viele Grüße,
    Hotte

  3. Ich versuche aus der Website: http://grid.fzk.de/monitoring/jobs.php
    im unteren Teil die Anzahl der jeweiligen Jobs auszulesen und hab bisher noch keine vernünftige Idee gefunden.

    Das Einlesen hast Du schon erledigt - aber wie? Kannst Du sicherstellen, dass die HTML-Struktur bleibt, wie sie ist? Um HTML-Code zu parsen, gibt es HTML::Parser, schau's Dir an, ehe Du anfängst, mit Regulären Ausdrücken herumzuspielen.

    Siechfred

    --
    Hinter den Kulissen passiert viel mehr, als man denkt, aber meistens nicht das, was man denkt.