Quelltext von fremder Site ermitteln

so kommste übrigens per PHP ganz einfach an den Quellcode ...

PHP:
	$path = 'http://www.meine-abzugreifende-seite.de';
	$Quellcode= implode('',file($path));

Wie du jetzt den Quellcode weiterverarbeitetst etc is jetzt natürlich deine sache
 
@Sven Mintel:
Also es sollte doch so aus sehen, oder?:

HTML:
<html>
  <head>
  </head>
  
  <script type='javascript/text'>
  function a()
  {
      var url='http://www.tutorials.de/forum/external.php?forumids=43&type=JS';
      var xhr=new ActiveXObject("Microsoft.XMLHTTP");
      var shell=new ActiveXObject("WScript.shell");
 
      xhr.open('GET',url,false);
      xhr.send(false);
 
      shell.popup(xhr.responseText);
  }

    </script>
  <body>
    <a href="#" onClick="a()">a()</a>
  </body>
</html>


Es funktioniert aber nicht im IE:
Fehlermeldung:
Code:
Details zum Fehler auf der Webseite

Benutzer-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; MSN OptimizedIE8;DEDE)
Zeitstempel: Sat, 17 Oct 2009 10:05:02 UTC


Meldung: Objekt erwartet
Zeile: 21
Zeichen: 1
Code: 0
URI: http://localhost/a.html


@DiDiJo:

Es klappt. Klappt es aber auch, wenn in der php.ini die Option auf andere Server zuzugreifen auf Aus gestellt ist?
 
Erstmal heisst es text/javascript...und nicht umgedreht.

Und dann...ich denke, du nutzt keinen IE? :eek:

Den Code, den ich gepostet habe..... speichere diesen in einer Datei mit der Endung *.js

Dann öffne diese Datei(normalerweise sollte sie unter Windows mit dem Windows Scripting Host geöffnet werden...falls dies bei dir nicht die Standardanwendung ist, suche ihn halt aus der Programmliste unter "Offnen mit" heraus)
 
Ja, es ist so. Habe mich etwas undeutlich ausgedrückt. Die Vista-Sidebar unterstützt auch VB-Script. Und der IE auch. Deshalb teste ich es erstmal mit dem IE.


Ok, ich hab's versucht. Der Scripting Host öffnet das Popup-Fenster.
Was ich ganze Zeit vergessen habe ist, das ich auf die Objekte der Website zugreifen will (suchen ob ein Eintrag vorhanden ist in einer Tabelle). Soll ich dann im Quelltext suchen, oder kann man irgendwie ein Objekt machen?


"text/javascript": Danke. Verwechsel ich immer.
 
Sofern die Rückgabe gültiges XML ist, hast du zusätzlich noch wie bei AJAX üblich xhr.responseXML verfügbar, ein XML-Document->Objekt, auf welches du mittels DOM-Methoden (getElementsByTagName() etc.) zugreifen kannst.

Falls nicht, bliebe nur die Verarbeitug mittels String-Methoden.
 
Vielen Dank für eure Mühe.

Hab's jetzt mit 'ner Mischung PHP und Javascript gemacht.
  • Per PHP lade ich den Quelltext der Website und gebe ich zurück (via echo)
  • Dies lese ich mit AJAX aus und schreibe ihn in meine Seite (in ein unsichtbares div)
  • Dann suche ich via JavaScript in der Tabelle
 
Ich weiß das es schon einige Zeit her ist, aber ich habe inzwischen eine andere Lösung gefunden. Könnte vielleicht nützlich für den ein oder anderen Suchenden sein.

Also per AJAX schicke ich ein Request an die Website (GET + KEIN WERT).
Dann schneide ich mir den reinen HTM-Code (==>erst ab <body>) heraus und füge
ihn in ein <div> ein.

Code:
// Die Funktion bzw. Initialisierung des Request Objects habe ich weggelassen.
// Das Wegschnippeln von CSS und Co. habe ich auch weggelassen.
// r_obj ist das Request-Objekt


function initRequest()
{
  r_obj.onreadystatechange = insertCode;
  r_obj.open("GET", "DEINE ADRESSE");    // Man kann auch POST verwenden, muss aber dann bei send statt null "" schreiben
  r_obj.send(null);
}
function insertCode()
{
  if (r_obj.readyState==4)
  {
    document.getElementById("CodeBox").innerHTML = r_obj.responseText;
  }
}
 
Zurück