Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

hi und hallo,

es gibt eine website mit bestimmtem newscontent den ich mir gerne täglich asu deren quelltext "ziehen" würde.

die technik dazu hätte ich, ich weiss aber leider nicht wie ich da wirklich sicher rankomme.

also zuerst öffne ich natürlich die seite und lese sie zeilenweise aus und speichere sie in einer variablen. aber dann muss ich an den content.

die stelle an der er steht (die zeilenumbrüche sind immer gleich) ist immer die selbe und sieht so aus:


<table width="100%" border="0" cellspacing="0" cellpadding="0" bgColor=#DAE3F2 height="100%">

<tr><td width="100%">


<table border=0 cellpadding=0 cellspacing=0 width=100% height=100% style="padding: 16 16 0 16">

<tr><td>


<table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width=100%>



<table border=0 cellpadding=0 cellspacing=0>


<tr><td>

<p >

<b>30 September 2004</b><br>

<a href="http://meineseite.de/index.php?day=38260" class="text">HIER STEHT DAS WAS ICH HABEN WILL. DIESER TEXT IST VARIABEL LANG</a></p></td></tr>

<tr><td>

<p >

<b>29 September 2004</b><br>

<a href="http://meineseite.de/index.php?day=38259" class="text">HIER STEHT NOCHWAS, ABER VOM VORTAG, WILL ICH NICHT</a></p></td></tr>

so, nun hab ich mir billich überlegt einfach nach "<table border=0 cellpadding=0 cellspacing=0>

" zu suchen und dann 5 zeilen weiter zu springen, dann bin ich in der richtigen zeile und gehe von <a bis </a>

aber das erscheint mir zu unsicher. und ausserdem nicht besonders hübsch.

als zweites hab ich mir noch überlegt diese ?day=xxx variable im quelltext zu hinterlegen und auch mitzuzählen und danach zu suchen.

könnte klappen oder? aber dann brauche ich wahrscheinlich regex?

wäre froh über jeden ansatz

Geschrieben
hi und hallo,

es gibt eine website mit bestimmtem newscontent den ich mir gerne täglich asu deren quelltext "ziehen" würde.

die technik dazu hätte ich, ich weiss aber leider nicht wie ich da wirklich sicher rankomme.

also zuerst öffne ich natürlich die seite und lese sie zeilenweise aus und speichere sie in einer variablen. aber dann muss ich an den content.

die stelle an der er steht (die zeilenumbrüche sind immer gleich) ist immer die selbe und sieht so aus:


<table width="100%" border="0" cellspacing="0" cellpadding="0" bgColor=#DAE3F2 height="100%">

<tr><td width="100%">


<table border=0 cellpadding=0 cellspacing=0 width=100% height=100% style="padding: 16 16 0 16">

<tr><td>


<table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width=100%>



<table border=0 cellpadding=0 cellspacing=0>


<tr><td>

<p >

<b>30 September 2004</b><br>

<a href="http://meineseite.de/index.php?day=38260" class="text">HIER STEHT DAS WAS ICH HABEN WILL. DIESER TEXT IST VARIABEL LANG</a></p></td></tr>

<tr><td>

<p >

<b>29 September 2004</b><br>

<a href="http://meineseite.de/index.php?day=38259" class="text">HIER STEHT NOCHWAS, ABER VOM VORTAG, WILL ICH NICHT</a></p></td></tr>

so, nun hab ich mir billich überlegt einfach nach "<table border=0 cellpadding=0 cellspacing=0>

" zu suchen und dann 5 zeilen weiter zu springen, dann bin ich in der richtigen zeile und gehe von <a bis </a>

aber das erscheint mir zu unsicher. und ausserdem nicht besonders hübsch.

als zweites hab ich mir noch überlegt diese ?day=xxx variable im quelltext zu hinterlegen und auch mitzuzählen und danach zu suchen.

könnte klappen oder? aber dann brauche ich wahrscheinlich regex?

wäre froh über jeden ansatz

Hi forTeeSake!

entweder:

a) Schau ma nach, ob auf dieser Seite vielleicht RSS feeds der News vorhanden sind, diese kannst du total easy auslesen!

B) Geht mit RegEx drann. Damit bekommst dus auch! Aber ist vielleicht besser die Ergebnisse des RegEx zu Cachen und nicht bei jedem aufruf auszuführen, da der recht zeitintensiv ist

Geschrieben
Wie wäre es denn mit XSL? Damit kannst dann die Quelle umformen.

tatsächlich? ich meine, ich kenne die grundlagen und erweiterten funktionen von XSl transformation(en), aber wie klappt das in diesem fall dann genau(er)?

Geschrieben

<xsl:template match="/body/table/tr/td/table/tr/td/table" >

<xsl:call-template inhaltBearbeiten />

</xsl>

<xsl:template name="inhaltBearbeiten">

Datum: <xsl:value-of select="tr/td/p/b" />

Link: <xsl:value-of select="tr/td/p/a/@href" />

Inhalt: <xsl:value-of select="tr/td/p/a" />

</xsl>

Das sollte es in etwa sein.

======> Anmerkung: Funktioniert nur wohlgeformten HTML-Dateien

Geschrieben

hmmm ok, das verstehe ich auch, aber wie verwende ich das auf nen code den ich mir sozusagen "live" von nem anderen server hole ???

p.s. da is glaube ich schon wieder mein schlauch im anmarsch ;)

Geschrieben

// "datei" holen und temporär speichern
// dateiname der datei in $xml speichern
$xslt = xslt_create();
xslt_set_encoding($xslt, "iso-8859-1");

$result = xslt_process($xslt,$xml,$xsl,$result,$args,$params) or die(
"<b>Es ist folgender Fehler aufgetreten:</b><br/>".
xslt_errno($xslt).": ".xslt_error($xslt)
);
xslt_free($xslt);
[/PHP]

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...