+ Antworten
Ergebnis 1 bis 5 von 5

Thema: per JavaScript einen Link aus anderer Webseite herausparsen

  1. #1
    TP-Member graf_dracula ist auf einem guten Weg Avatar von graf_dracula
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    74

    per JavaScript einen Link aus anderer Webseite herausparsen

    Ich habe mir ein kleines Script erstellt, welches eine bestimmte Webseite in einem neuen Tab öffnet. In dieser neu geöffneten Webseite möchte ich nun deren Quelltext parsen, weil ich einen bestimmten Link aus dieser Seite benötige, den ich dann wiederum aufrufen möchte. In meinem kleinen Codebeispiel funktioniert die rote Zeile aber nicht, weil JavaScript soweit ich bisher gelesen habe nicht auf den Quelltext einer anderen Domain zugreifen darf.

    Gibts irgendeine Möglichkeit, diese Restriktion irgendwie zu umgehen???


    Code:
    var vorgangsTab = window.open("http://www.xyz.de/test.html");
    
    var pageSource = vorgangsTab.getElementsByTagName('html')[0].innerHTML; 
    
    vorgangsTab.close();
    
    ... hier folgt das parsen des Textes innerhalb der Variable "pageSource"  ...
    .
    .

    " ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
    .
    .

  2. #2
    TP-Supporter chorn bringt sich richtig ein Avatar von chorn
    Registriert seit
    Apr 2008
    Ort
    Verden
    Beiträge
    396
    z.B. rufst du per Ajax eine PHP-Seite auf, die dir den Quelltext per fopen(), file_get_contents() o.ä. zurückgibt.

  3. #3
    TP-Member graf_dracula ist auf einem guten Weg Avatar von graf_dracula
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    74
    So ... dann will ich Euch mal nicht meine funktionierende Lösung vorenthalten:

    Code:
    var Link="http://www.Google.de";
    
    xmlHttpObject.open('get', Link);	
    xmlHttpObject.send(null);					
    
    while (xmlHttpObject.readyState!= 4)	{}
    
    var pageSource = xmlHttpObject.responseText;
    .
    .

    " ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
    .
    .

  4. #4
    TP-Member graf_dracula ist auf einem guten Weg Avatar von graf_dracula
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    74
    Hab doch nochmal nen Problem ...

    Die Seite, die ich laden möchte, liegt auf einem Server, der ein ganz klein wenig Zeit benötigt um die Seite zu liefern. Wenn ich das "send" schicke und als nächsten Befehl die Abfrage des status mache, ist der zu 100% noch "1". Deswegen hatte ich dieses while{} eingebaut. Der PC bringt mir dann jedoch die folgende Message:

    Ausführen des Scripts abbrechen?

    Ein Script auf dieser Seite verursacht eine Verzögerung in Internet
    Explorer. Falls das Script weiter ausgeführt wird, verlängern sich
    die Antwortzeiten des Computers eventuell erheblich.
    Interessanter Weise kann ich im Taskmanager sehen, dass genau zu dieser Zeit, wenn dieses Fenster aufploppt, der PC Daten empfängt und auch sofort danach der Status = 4 ist und die Seite geladen wird. Start Script bis Ende dauert ca. 10-12 Sekunden.

    Wenn ich anstatt des while (xmlHttpObject.readyState != 4){} jedoch einfach nur eine pause einfüge, kann diese auch 30sec oder länger sein, der status ist auch nach diesen 30sec noch immer 1, erst nach Abarbeitung des Scriptes sehe ich im Netztwerkverkehr, dass eine größere Menge Daten empfangen wird - wahrscheinlich wäre danach dann erst der Status = 4.

    Code:
    function pause(zeit)
    {
        //Zeit hier in ms angeben
        var starttime=(new Date).getTime();
        while (starttime+zeit>(new Date).getTime()){};
    }
    Für mich sieht das also so aus, als wenn er erst dann Daten empfängt, wenn das Script wirklich grad GAR NICHTS tut, denn wenn dieses Popup mit der Meldung kommt, wird das Script wahrscheinlich stehen.

    Hat jemand ne Idee, wie ich den PC dazu "übereden" kann, die Daten wirklich sofort zu empfangen und den status so schnell wie möglich auf 4 zu setzen?
    .
    .

    " ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
    .
    .

  5. #5
    TP-Member graf_dracula ist auf einem guten Weg Avatar von graf_dracula
    Registriert seit
    Oct 2006
    Ort
    München
    Beiträge
    74
    Ich glaub ich habs ... die rote Zeile hat gefehlt ... mit dieser wartet er offenbar genau auf das, was mir gefehlt hat.

    Code:
    var Link="http://www.Google.de";
    
    xmlHttpObject.open('get', Link);	
    xmlHttpObject.send(null);					
    
    xmlHttpObject.onreadystatechange = function(){	
       if (xmlHttpObject.readyState == 4)
       {
          var pageSource = xmlHttpObject.responseText;
          ... restlicher Code ...
       }
    {
    .
    .

    " ... da ist Vakuum drin ! " ... aha, sehr Interessant ... nimm doch besser farbiges Vakuum, dann siehste wenn's raus ist
    .
    .

+ Antworten

Ähnliche Themen

  1. HTML aus XML herausparsen
    Von Farbenblinder im Forum Traum-Dynamik
    Antworten: 0
    Letzter Beitrag: 02.10.2007, 16:06
  2. Antworten: 10
    Letzter Beitrag: 14.06.2006, 16:39
  3. Link in anderer Seite öffnen.
    Von mellesoft im Forum HTML & CSS
    Antworten: 3
    Letzter Beitrag: 07.04.2004, 19:26
  4. Javascript: Checkboxen auswerten und Webseite ansteuern
    Von adlerauge im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 16.12.2003, 23:05
  5. Antworten: 9
    Letzter Beitrag: 10.12.2003, 16:33

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51