![]() |
Aus Teilen einer fremden Website RSS-Feed generieren!
Bestimmte Teile einer Website soll ein PHP-Script, das via Cronjobs alle 10 Minuten ausgeführt wird, zu einem RSS-Feed verwurschteln.
Um die Seite auszulesen würde ich die PHP-Klasse Snoopy nehmen, aber wie kann ich einfach die entsprechenden Elemente der Website selektieren? Der Feed wird am Ende mit dem PHP-eigenen SimpleXML erstellt. |
Re: Aus Teilen einer fremden Website RSS-Feed generieren!
Diese Elemente müsstest du aus dem Quellcode extrahieren. Wie sehen diese Elemente aus?
|
Re: Aus Teilen einer fremden Website RSS-Feed generieren!
Ja, dass sie aus dem Quellcode extrahiert werden müssen dachte ich mir bereits. Die Frage ist wie ich das am Einfachsten bewerkstellige. Vielleicht gibt es ja eine einfachere Methode als nach dem ersten Vorkommen einer bestimmten Zeichenkette zu suchen.
In einer Tabelle mit einer eindeutigen ID sind ab der 3. table-row in jeder Zeile mehrere td's mit den nötigen Daten. |
Re: Aus Teilen einer fremden Website RSS-Feed generieren!
Pos() sucht z.B nach dem 1. Vorkommen. Oder du verwendest reguläre Ausdrücke, wenn die Struktur komplexer sein sollte
|
Re: Aus Teilen einer fremden Website RSS-Feed generieren!
über einen HTML-Parser die Seite zerlegen, sich die passenden Stellen suchen und auslesen.
oder den "Besitzer" der anderen Seite fragen, ob es da nicht eine direkte Möglichkeit gibt, um diese Infos auszulesen (falls er es überhaupt erlaubt, daß seine Webseite fast 150 Mal am Tag einfach so von einem Programm ausgelesen wird) |
Re: Aus Teilen einer fremden Website RSS-Feed generieren!
Zitat:
Die Seite liegt als XHTML vor. D.h. dass ich die Seite einfach mit simplexml_load_file laden kann und danach mit SimpleXMLElement::xpath verarbeiten kann. Das müsste die einfachste Variante sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz