SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 30.06.2009, 23:17:17
JakobD JakobD ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 29
Beiträge: 15
Webseiteninhalte auslesen (ggf. mit DOM)

Hallihallo :)

Ich bastel gerad an einem kleinem Projekt rum (läuft auch ganz gut), aber es gibt noch eine Sache wo ich bis jetzt gar nicht weiter gekommen bin und nicht so viel Ahnung habe wie ich das überhaupt machen könnte.

Ihr kennt ja sicher studiVZ, schülerVZ und meinVZ. Also wenn ihr mal auf der Hauptseite links unten guckt gibt es da ja so einen kleinen Kasten wo immer irgendwelches Zeugs drinsteht. Den Inhalt des Kastens würde ich gerne auslesen.

Ich bräuchte eine möglichst performante Lösung (aber das nur weil ich ein Perfektionist bin) und vielleicht muss man da irgendwas mit dem Document Object Model sich basteln, was wahrscheinlich auch ganz gut gehen müsste. (Die ID vom Kasten ist "LeftsideBox")
Mit Stringfunktionen kann ich diesmal nicht arbeiten weil die Länge der Meldungen im Kasten natürlich variieren (das hätte ich dann auch noch selber geschafft).

TIA,
Jakob
Mit Zitat antworten
  #2  
Alt 01.07.2009, 00:34:17
xlb xlb ist offline
Junior Member
 
Registriert seit: Jul 2006
Beiträge: 211
AW: Webseiteninhalte auslesen (ggf. mit DOM)

N'Abend ...

Du willst fremden Content auslesen und auf einer eigenen Seite verwenden ?

Die "Eigentümer" der "LeftSideBox" werden sich bestimmt über dein Engagement freuen.


Schön'Abend noch ...
Mit Zitat antworten
  #3  
Alt 01.07.2009, 09:21:16
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 36
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Hallo Jakob,

a) ohne Erlaubnis ist das Diebstahl.
b) Schlage dem Betreiber vor das er eine Schnittstelle für die gewünschten Inhalte anbietet

c) Falls du die Erlaubnis hast:
Seite einlesen (ob zuerst mit file_get_contents oder gleich mit DOMDocument::loadHTMLFile)
und dann wie schon von dir selbst vorgeschlagen mittels der dom knoten zu deiner gewünschten ID (getElementById) alternativ könntest du auch mit xpath arbeiten oder auch mit simplexml falls die seite valides xhtml ist.
Mit Zitat antworten
  #4  
Alt 01.07.2009, 17:35:43
JakobD JakobD ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 29
Beiträge: 15
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Ok danke für eure Erläuterungen bzgl. des geistlichen Eigentums etc.
Abgesehen davon dass die Texte im Kasten da nicht annähernd eine gewisse Schöpfungshöhe was weiß ich erreichen - mir geht es im Moment darum das mit dem DOM zu verstehen.

Und deshalb wäre ich ganz dankbar wenn der Punkt c) des letzten Beitrags noch mal etwas weiter erläutert werden könnte. file_get_contents kann ich nämlich auch noch.

Hochachtungsvoll,

Jakob
Mit Zitat antworten
  #5  
Alt 02.07.2009, 10:40:34
Benutzerbild von Indyk
Indyk Indyk ist offline
Member
 
Registriert seit: Aug 2006
Ort: Lübeck
Alter: 36
Beiträge: 900
Indyk eine Nachricht über ICQ schicken
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Ach jakob, hättest du die Suchfunktion benutzt und dein Schlagword "DomDocument" eingegeben hättest du folgende Beispiele finden können:
http://www.selfphp.de/forum/showthre...ht=DomDocument

(und noch andere die ich jetzt aber nicht so informativ fand wie meinen beitrag aus 2007 ; )
Mit Zitat antworten
  #6  
Alt 02.07.2009, 11:07:49
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 46
Beiträge: 1.938
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Indyk, du verstehst das nicht ganz... der auftrag lautete:

Zitat:
Zitat von JakobD Beitrag anzeigen
[...] wenn der Punkt c) des letzten Beitrags noch mal etwas weiter erläutert werden könnte.
und denk bitteschön daran:

Zitat:
Zitat von JakobD Beitrag anzeigen
file_get_contents kann ich nämlich auch noch.
cx
Mit Zitat antworten
  #7  
Alt 02.07.2009, 14:58:36
JakobD JakobD ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 29
Beiträge: 15
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Okey ich hab dann also selber mal etwas rumprobiert. Hier mein Code:

PHP-Code:
<?php
$doc 
= new DomDocument;
$doc->validateOnParse true;
$doc->loadHTMLFile('http://www.studivz.net/');
echo 
$doc->getElementById('LeftsideBox')->nodeValue;
?>
Im Prinzip funktioniert der denke ich auch ganz gut. Ich bekomme allerdings diese Warnungen:

Code:
Warning: DOMDocument::loadHTMLFile() [function.DOMDocument-loadHTMLFile]: Unexpected end tag : div in http://www.studivz.net/, line: 185 in /xxx/kasten/auslesen.php on line 4

Warning: DOMDocument::loadHTMLFile() [function.DOMDocument-loadHTMLFile]: Unexpected end tag : div in http://www.studivz.net/, line: 185 in /xxx/kasten/auslesen.php on line 4
Das ist aber nicht mein Verschulden, sondern liegt am Code von studiVZ, oder?
Die Warnungen kann ich somit also getrost ignorieren, oder?

Ein Problem gibt es aber noch: Die Typen von studiVZ schreiben leider so Zeichen wie ä, ö und ü direkt in den Quelltext anstatt &auml; oder so zu benutzen. Das führt dann im Umkehrschluss dazu, dass PHP diese Zeichen tötet und ein ö wurde dann gerade hierzu: ö

Also wie kann ich die Kodierung da irgendwie ändern beim einlesen?

Danke, Jakob
Mit Zitat antworten
  #8  
Alt 02.07.2009, 15:21:05
Benutzerbild von rarios
rarios rarios ist offline
Member
 
Registriert seit: Jun 2006
Beiträge: 655
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Zitat:
Zitat von JakobD Beitrag anzeigen
Abgesehen davon dass die Texte im Kasten da nicht annähernd eine gewisse Schöpfungshöhe was weiß ich erreichen - mir geht es im Moment darum das mit dem DOM zu verstehen.
Das ist egal. Du ließt Daten aus einem geschlossenen Bereich aus.
Ließ Dir mal lieber die AGB's von StudiVZ Ltd. durch.

Wenn Du wirklich 15 bist haben Deine Eltern dann ordentlich zu knabbern an den Kosten für RA, Gerichtskosten sowie zivile Forderungen.

Immerhin publizierst Du hier eindeutig den Regelverstoß...
__________________
Liebe Grüße
Mit Zitat antworten
  #9  
Alt 02.07.2009, 15:45:39
JakobD JakobD ist offline
Anfänger
 
Registriert seit: Apr 2009
Alter: 29
Beiträge: 15
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Dass man Daten aus dem geschlossen Bereich da nicht rausholen darf ist klar. Den Kasteninhalt kann man aber auch gut lesen wenn man ausgeloggt ist bzw. kein Mitglied oder so ist. Teste es selbst ;)

Und außerdem -> Ohne die explizite Erlaubnis der studiVZ Ltd. werde ich sowieso nix machen.

So. Aber vielleicht hilft mir ja jemand bei meinem Umlaut-Problem oder auch irgendwie anders. Schließlich will ich irgendwann mal etwas PHP können. Danke.
Mit Zitat antworten
  #10  
Alt 02.07.2009, 15:58:19
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 46
Beiträge: 1.938
AW: Webseiteninhalte auslesen (ggf. mit DOM)

Zitat:
Zitat von JakobD Beitrag anzeigen
Ein Problem gibt es aber noch: Die Typen von studiVZ schreiben leider so Zeichen wie ä, ö und ü direkt in den Quelltext anstatt &auml; oder so zu benutzen.
wenn der zeichensatz der seite korrekt gesetzt ist

per header: header( 'Content-Type: text/html; charset=charset' )

und optional

per meta: <meta http-equiv='content-type' content='text/html; charset=charset=charset'>

spricht auch nichts dagegen - ganz im gegenteil: die kodierung der umlaute als entites wäre unangebracht.

cx
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Aus 2 Tabellen gleichzeitig auslesen, nur wie? Zippo1979 PHP Grundlagen 3 04.04.2007 12:45:12
Auslesen von PHP-Dateien wes2503 PHP Grundlagen 5 23.11.2006 05:14:56
bestimmte unterschiedliche Werte aus MySQL-DB auslesen lassen QWERTCHEN PHP für Fortgeschrittene und Experten 4 24.01.2006 22:51:40
session_encode in DB gespeichert - Daten richtig, auslesen aber falsch CThuy PHP für Fortgeschrittene und Experten 0 25.07.2004 01:38:34
letzten (Daten-)satz aus Array auslesen pfuchs PHP für Fortgeschrittene und Experten 2 12.08.2003 11:05:02


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:51:45 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.


© 2001-2023 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt