Ojamaha: Parsen von HTML Seiten

Hallo!

Wie kann ich eine Seite parsen, ohne PHP oder Perl zu benutzen sondern nur Javascript. Ich möchte von einer Seite legendlich das 2. img tag und die dahinterstehende Datei haben und das erste Wort "max." und "min.".
Wie kann ich so etwas in Javascript umsetzen?

MfG

  1. Moin,

    Wie kann ich eine Seite parsen, ohne PHP oder Perl zu benutzen sondern nur Javascript. Ich möchte von einer Seite legendlich das 2. img tag und die dahinterstehende Datei haben

    Dies kannst Du relativ leicht erreichen mit dem DOM_Befehl getElementsByTagName:

    <script type="text/javascript">
        function get2ndImgSrc () {
            return(document.getElementsByTagName("img")[1].src);
        }
    </script>

    und das erste Wort "max." und "min.".
    Wie kann ich so etwas in Javascript umsetzen?

    Das geht auch, nur was willst Du dann konkret damit tun? Willst Du wissen ob so ein Wort existiert? Dann würde ich sowas machen:

    <script type="text/javascript">
       function wortExists (wort) {
          var htmlText = document.getElementsByTagName("body")[0].innerHTML;
          return((htmlText.indexOf(wort) >= 0));
    }
    </script>

    und dann aufrufen mit z.b.
    if (wortExists("max.")) {
        // dann tue irgendwas }

    Viele Grüße,
    Jörg

    1. Dies kannst Du relativ leicht erreichen mit dem DOM_Befehl getElementsByTagName:

      <script type="text/javascript">
          function get2ndImgSrc () {
              return(document.getElementsByTagName("img")[1].src);
          }
      </script>

      Ja aber diesen müsste ich doch auf der Sourceseite einbauen oder? Ich möchte aber eine PDA-Wetterseite auslesen um nur das erste img lokal bei mir dazustellen...

      Das mit dem min. mac. wäre ideal muss aber erstmal nicht, es reicht das Bild, aber das hat halt nicht immer den selben Dateinamen, es steht aber immer an der selbenstelle im selben img tag...

      1. Hallo Ohjamaha,

        Wenn die Seite nicht auf der gleichen Domain laeuft wie deine eigene Seite hast du mit Javascript wohl keine Chance (same origin policy)

        Gruß,

        Dieter

        1. Wenn die Seite nicht auf der gleichen Domain laeuft wie deine eigene Seite hast du mit Javascript wohl keine Chance (same origin policy)

          Angenommen, ich will nur herruasfinden, wie die datei heißt, die da zu finden ist.
           Also ob sie so____.gif oder bwk____.gif oä. heißt.... Kann ich dann nicht diesen Namen nutzen um ihn in eine feste URL einzufügen?,  denn die Datei ist immer im gleichen Ordner, ich brauche also nur den Namen.

          1. Tag Ojamaha.

            Wenn die Seite nicht auf der gleichen Domain laeuft wie deine eigene Seite hast du mit Javascript wohl keine Chance (same origin policy)
            Angenommen, ich will nur herruasfinden, wie die datei heißt, die da zu finden ist.

            Das ist egal, es geht nicht mit Javascript.

            Also ob sie so____.gif oder bwk____.gif oä. heißt.... Kann ich dann nicht diesen Namen nutzen um ihn in eine feste URL einzufügen?

            Hast du dich darüber informiert, ob du damit evtl. Rechte Dritter tangierst? Und wenn das so wäre, hast du dafür die Erlaubnis des Dritten?

            Siechfred

      2. Ja aber diesen müsste ich doch auf der Sourceseite einbauen oder? Ich möchte aber eine PDA-Wetterseite auslesen um nur das erste img lokal bei mir dazustellen...

        Ähhh, Du willst das Bild klauen ?

      3. Hi,

        Ja aber diesen müsste ich doch auf der Sourceseite einbauen oder?

        Ja.

        Ich möchte aber eine PDA-Wetterseite auslesen um nur das erste img lokal bei mir dazustellen...

        FAQ 7d

        Außerdem: Ohne Genehmigung ohnehin nicht legal - und natürlich abmahnungsverdächtig (falls dich die Illegalität nicht stört).

        Und das Einbinden der Original-URL des Bildes nennt "Trafic-Klau".

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    2. Hallo,

      Ich möchte von einer Seite legendlich das 2. img tag und die dahinterstehende Datei haben

      Dies kannst Du relativ leicht erreichen mit dem DOM_Befehl getElementsByTagName:

      <script type="text/javascript">
          function get2ndImgSrc () {
              return(document.getElementsByTagName("img")[1].src);
          }
      </script>

      Das geht viel einfacher, schneller und kompatibler mit document.images[1].src aus JavaScript bzw. DOM HTML.

      function wortExists (wort) {
            var htmlText = document.getElementsByTagName("body")[0].innerHTML;
            return((htmlText.indexOf(wort) >= 0));
      }

      Auch hier ist getElementsByTagName überflüssig, denn es gibt document.body aus DOM HTML.

      Mathias

  2. Hallo Ojamaha,

    Solange das sie aktuelle Seite ist, ist das relativ einfach. Du erreichst das Bild mit document.getElementsByTagName('img')[1] und kannst dann auf seine Eigenschaften zugreifen. Mit min und max ist das etwas schwieriger. Stehen die immer im gleichen Element? Sagen wir mal, die stehen immer in einem <p>. Dann nimmst du mit der gleichen Methode alle <p> auf und parst deren textNode mit einem regulaeren Ausdruck.
    Sollte es sich bei der zu durchsuchenden Seite nicht um die aktuelle Seite handeln, kannst  du sie beispielsweise in ein iframe laden und dann entsprechend durchsuchen.
    Das notwendige Ruestzeug findet du hier http://de.selfhtml.org/javascript/objekte/document.htm

    Gruß,

    Dieter

  3. moin Ojamaha :)

    Wie kann ich eine Seite parsen, ohne PHP oder Perl zu benutzen sondern nur Javascript. Ich möchte von einer Seite legendlich das 2. img tag und die dahinterstehende Datei haben und das erste Wort "max." und "min.".
    Wie kann ich so etwas in Javascript umsetzen?

    document.images sollte dir weiterhelfen. Die src-Eigenschaft gibt die die Grafikdatei.

    liebe Grüße aus Berlin
    lina-

    --
    Self-Code: ie:% fl:( br:^ va:) ls:/ fo:| rl:( ss:) de:] js:| mo:)