/tutorial-webseiten_auslesen.html Andere Webseiten mit PHP auslesen
  PHP Kurs Logo  
 
Buttons PHP Kurs - Kapitel Trennlinie Downloads Trennlinie Was brauche ich ? Trennlinie Entwickler Jobs Trennlinie Kontakt Trennlinie Impressum Buttons
 
 
Menu
Allererste PHP Schritte
- Webserver Installation
- PHP Editor Installation

PHP Grundlagen
- PHP Grundwissen
- Mein erstes Programm
- Kommentare einfügen
- Variablen
- PHP+HTML mischen
- If Abfragen
- Rechenarten
- Arrays
- Schleifen
- Funktionen
- Klassen
- Includes
- Sessions und Cookies
- Login mit Sessions
- Login mit Datenbank
- Referer auslesen
- Wert aus Datenbank
- Variablen übergeben

MySQL Grundlagen
- Was ist das ?
- Erste Schritte
- Verbindung herstellen
- Einfache SQL Befehle
- SQL Injection

Häufig gefragt
- Was ist Adwords ?
- Interessante Links
- Wasserzeichen mod_rewrite
- Thumbnails erstellen
- PHP Gästebuch
- PHP Header
- Webseiten auslesen
- Socket Verbindungen
- E-Mail Adressen prüfen
- E-Mails versenden
- $_GET & $_POST
- Datenbank sichern
- Server DDOS Angriffe Abwehren
- Webhosting - Worauf ist zu achten ?
- Fachübersetzungen

Interessante Artikel
- Soft-Skill-Zertifizierung
- Sicherheits Workshops


Webseiten auslesen mit file();

Wie kann man andere Webseiten auslesen ? Dafür gibt es mehrere Möglichkeiten. Die einfachsten will ich hier mal präsentieren. Zum einen kann dies über den Befehl file(); realisiert werden:

<?php
    $_url 
"http://de.wikipedia.org/wiki/Hauptseite";

    
$_buffer implode(''file($_url));
    echo 
$_buffer;
?>

Mit Hilfe des File Befehls wird die Seite an der Zielurl eingelesen und mit implode in ein echo(); fähiges Format umgewandelt. Dann wird die Seite ausgegeben (der Inhalt). Dies kann unter umständen bei euch auf eurem Webspace nicht aktiviert sein. Persönlich würde ich eher zu der Curl Variante greifen, da Sie wesentlich mehr Funktionen bietet.

Webseiten auslesen mit curl

Dies ist die elegantere Art, vorallem auch weil man $_POST Daten mit übergeben kann und das ganze viel mehr wie einen regulären Seitenaufruf aussehen lassen kann.

Weitere Informationen über Curl erhaltet Ihr direkt auf php.net (Klick).

<?php
# -------------------------------------------------------------------
# (c) Charles Imilkowski
#
# Funktion: lädt mit Curl eine andere URL ein
# -------------------------------------------------------------------
# $url      = Internetadresse die eingelesen werden soll
# $postdata = Die Daten die per $_POST mitgesendet werden sollen,
#              das Format entspricht einem $_GET String, wie man ihn
#              an eine URL anfügen würde
# -------------------------------------------------------------------

    
function HomepageLaden($url$postdata)
        {
        
$agent "Meine Browserkennung v1.0 :)";
        
$header[] = "Accept: text/vnd.wap.wml,*.*";
        
$ch curl_init($url);

        if (
$ch)
            {
            
curl_setopt($ch,    CURLOPT_RETURNTRANSFER1);
            
curl_setopt($ch,    CURLOPT_USERAGENT$agent);
            
curl_setopt($ch,    CURLOPT_HTTPHEADER$header);
            
curl_setopt($ch,    CURLOPT_FOLLOWLOCATION1);

            
# mit den nächsten 2 Zeilen könnte man auch Cookies
            # verwenden und in einem DIR speichern
            #curl_setopt($ch,    CURLOPT_COOKIEJAR, "cookie.txt");
            #curl_setopt($ch,    CURLOPT_COOKIEFILE, "cookie.txt");

            
if (isset($postdata))
                {
                
curl_setopt($ch,    CURLOPT_POST1);
                
curl_setopt($ch,    CURLOPT_POSTFIELDS$postdata);
                }

            
$tmp curl_exec ($ch);
            
curl_close ($ch);
            }
        return 
$tmp;
        }

    
$_url "http://de.wikipedia.org/wiki/Hauptseite";
    
$_buffer HomepageLaden($_url"");
    echo 
$_buffer;
?>


RSS/XML Feeds auslesen und verwenden

RSS Feeds werden zumeist für Reader Programme bereit gestellt, damit man direkt unter Windows lesen kann, was für neue Nachrichten es auf einer bestimmten Webseite gibt. Hier streiten sich die Geister, ob man diese Nachrichten auch von einer anderen Webseite lesen darf. Der Geist von RSS ist es Nachrichten soweit wie möglich zu verteilen. Ich würde hier raten im Einzelfall gerade bei kleineren Webseiten betreibern mal nachzufragen, ob man diese Feeds auslesen darf in PHP.

Hier lesen wir zum Beispiel den XML Feed von Wetter.com aus.

<?php
# -------------------------------------------------------------------
# (c) Charles Imilkowski
#
# Funktion: lädt einen XML/RSS Feed und speichert das Objekt als Array
# -------------------------------------------------------------------

    
function object2array($object)
        {
        
$return NULL;

        if(
is_array($object))
            {
            foreach(
$object as $key => $value)
            
$return[$key] = object2array($value);
            }
        else
            {
            
$var get_object_vars($object);

            if(
$var)
                {
                foreach(
$var as $key => $value)
                
$return[$key] = object2array($value);
                }
            else
                {
                
# strval and everything is fine
                
return strval($object);
                }
            }
        return 
$return;
        }

    
$_feed "http://wetter.com/wetter_rss/wetter.xml";
    
$xml_obj simplexml_load_file ($_feed);
    
$xml_arr object2array($xml_obj);

?>

In diesem Beispiel habe ich noch eine Funktion eingefügt, die aus einem Objekt ein Array macht. Ihr habt dann die Daten vom XML/RSS Feed sowohl als Objekt, als auch als Array vorliegen. Entscheidet selbst womit Ihr selbst weiterarbeiten wollt und womit nicht ;-)

Achtung: das Auslesen von fremden Webseiten sollte immer abgesprochen werden. Einfach fremde Inhalte einzubinden kann unter umständen eine Copyrightverletztung sein und viele teure Probleme nach sich ziehen. Schreibt dem Homepage Besitzer eine E-Mail und bittet um Erlaubnis !






<<<< zurück Kapitelauswahl vorwärts >>>>




Kommentare: (absteigend sortiert)

Hier stehen noch alte Kommentare, die direkt über die Webseite gemacht wurden. Es kann dort nicht weiter kommentiert werden. Bitte nutzt dafür die Facebook Kommentare.

.:: 03.01.12 - 14:51 Uhr :: Name: Holger ::.
Hallo, da das Forum gerade geschlossen ist, hätte ich eine Frage. Ich hoffe der Platz reicht :-)

Ich betreibe für einen Verein eine Homepage auf Basis von Joomla 1.7. Dort haben wir z.B. den Benutzer

User1
User2
User3

mit einem Passwort.

Wenn diese bei Joomla angemeldet sind, sehen Sie als weiteres Menü z.B. Webmail. Das ist ein https Link, der als Wrapper (iframe) eingebunden ist.

Die Anmeldung beim Webmail ist aber

user1@mydomain.net
user2@mydomain.net

usw.

Wie kann ich es verwirklichen, das der Benutzer sich hier nicht extra anmelden muss, sondern eine automatische Anmeldung statt findet ?

Gruss Holger

.:: 15.09.11 - 10:21 Uhr :: Name: Jailene ::.
A few years ago I'd have to pay someone for this infromation.
Anmerkung Charly: It´s all for free here :-)









Content
 
  Bottom Design  


PepperTools.de Software Download | Software Shop
www.imilkowski.eu - Software Programmierung und Webdesign


 


Persönliche Empfehlung
Mit Wix.com eine kostenlose Homepage erstellen ? Einfach, schnell und ohne Vorkenntnisse.