Zum Inhalt springen

CT News in die eigene HP einbinden


Empfohlene Beiträge

Geschrieben

Zitat:

Heise-Newsticker auf Ihrer Homepage

Wir gestatten anderen Websites (widerruflich) die kostenfreie Übernahme unserer News-Headlines mit aktiven Links auf unsere News-Artikel. Diese dürfen jedoch nicht in Frames dargestellt werden, sondern müssen ein neues Browser-Fenster öffnen. Sie können bei der Übernahme der Überschriften auf die Datei http://www.heise.de/newsticker/heise.rdf zurückgreifen. Sie enthält die Überschriften und Links im XML-Format. Sie können diese Datei mit einem Script auswerten und eine eigene Zusammenstellung produzieren.

Bitte übernehmen Sie nicht die kompletten Newsticker-Meldungen, sondern nur die Überschriften.

Zitat ende!

Wie die CT news in die hp kommen siehe : http://www.it-themenportal.de/

Nur habe ich keine ahnung vom xml.

Und gut erklärt hat das ct nun wirklich nicht unter:http://www.heise.de/fanseiten/

Also: wer wiess wie´s geht?

Ciao

Sven

------------------

http://www.IT-System-Kaufleute.de -

Die Infoquelle für IT-System-Kaufleute und solche, die es werden wollen.

Natürlich auch interessant für andere IT-Berufler, sowie Firmen und Schulen die diesen Beruf ausbilden! Besonderen Wert legt IT-System-Kaufleute.de auf Interaktivität, wie Sie sich selbst überzeugen können!

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Uli Luethen:

Tagchen Sven! smile.gif

Original erstellt von LuvLee:

Nur habe ich keine ahnung vom xml.

Muss man wohl auch nicht. Aber ich schaetze, PHP oder Perl waer nicht schlecht. wink.gif

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>

Also: wer wiess wie´s geht?

Geschrieben

@Uli:

Naja, so arg herausfordernd ist das nicht ;-)

Wer einmal bei mir auf Azubidatenbank.de war, wird wohl gesehen haben das unsere Seite mit PHP läuft und auch die Heise-Newsmeldungen auf der Startseite platziert sind - dafür ist weder XML noch irgendwas anderes nötig. Deshalb hier mal ne Kurze Anleitung:

Ihr baucht ein temporäres Verzeichnis auf eurem Webserver, das ihr "tmp" oder ähnlich nennt. Setzt die Zugriffe darauf so, das jeder drinne schreiben kann, also am besten ein CHMOD 777, dann klappts auf jeden Fall. Dieses Verzeichnis ist für das Cache-File gedacht.

Danach bindet ihr folgenden PHP-Code in Eure Seiten ein:

--------------------------------------------

<?

$cache_file = "tmp/heise.cache";

$cache_time = 3600;

$link_prefix = "<tr><td class='bglight'>".date("d.m.Y")." - ";

$link_postfix = "</td></tr>\n";

$items = 0;

$time = split( " ", microtime());

srand((double)microtime()*1000000);

$cache_time_rnd = 300 - rand(0, 600);

if ((!(file_exists($cache_file))) | | ((filectime($cache_file) + $cache_time - $time[1]) + $cache_time_rnd < 0) | | (!(filesize($cache_file))) ) {

$fp1=fopen("http://www.heise.de/default.shtml", "r");

$string=fread($fp1,30000);

ereg("<!-- MITTE \(NEWS\) -->(.*)<!-- MITTE \(NEWS-UEBERBLICK\) -->",$string, $matches);

$match = str_replace("HREF=\"/newsticker/","href=\"http://www.heise.de/newsticker/",$matches[1]);

$exp="#newsticker/data/(.*)/\">(.*</FONT></B> )#i";

preg_match_all($exp, $matches[1], $matchin);

for($i=0;$i<10;$i++) {

$body.= "$link_prefix <a href=\"http://www.heise.de/newsticker/data/".$matchin[1][$i]."/\" target=\"_blank\">" . $matchin[2][$i]. "</a><br>\n";

}

$body = eregi_replace( "</A></FONT></B>", "", $body);

fclose($fp1);

$fpwrite = fopen($cache_file,'w');

fputs($fpwrite, "$body");

fclose($fpwrite);

}

include($cache_file);

?>

--------------------------------------------

Was tut das ganze Teil jetzt ?

Also... in die Variable $cache_file muss der relative Pfad + Dateiname des Cache-Files rein. Dort werden die Headlines zwischengespeichert. In $cache_time steht das Zeitlimit, wann das Cache-File aktualisiert wird, in diesem Falle jede Stunde. Die Sache ist deshalb so gelöst, weil es schon ne Weile braucht, den ganzen Kram direkt bei Heise.de auszulesen, zwar nicht so arg lange, aber wenn man die News auf der Startseite anzeigt ist der Geschwindigkeitsverlust schon bemerkbar.

Falls also das Zeitlimit überschritten ist oder das Cache-File noch garnicht existiert, wird Heise.de geöffnet und die aktuellen Headlines eingelesen. Die For-Schleife bestimmt die Anzahl der Headlines (in diesem Fall 11 Stück). In den Variablen $link_prefix und $link_postfix habt ihr die Möglichkeit, zusätzlichen HTML-Code vor und nach dem Link hinzuzufügen. Ich benutze es Beispielsweise hier für Tabellen-Zeilen zu Erzeugen, denkbar wäre auch ne "<li>"-Auflistung oder ähnliches... wenn das ganze schreiben und holen beendet ist, wird einfach das Cache-File in die Seite includiert, fertig ! ;-)

Resultat:

Man hat die Headlines immer Aktuell auf seiner Seite, und bei einem Klick darauf öffnet sich ein neues Fenster mit der ausführlichen Newsmeldung von Heise.de .

Sowas lernen Informatikkaufleute und müssens den Fachinformatikern erklären *gggg*

------------------

Michael Kagerbauer

Webmaster Azubidatenbank.de / Azubidatenbank.com

Onlineprüfungen, Downloads, Links und mehr ...

Geschrieben

Aufbau der CT rdf:

<?xml version="1.0"?>

<rdf:RDF

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

xmlns="http://my.netscape.com/rdf/simple/0.9/">

<channel>

<title>heise online news</title>

<link>http://www.heise.de/newsticker/</link>

<description>Brandneue Nachrichten aus der Welt des Computers</description>

</channel>

<item>

<title>Musikindustrie: Rückgang bei CD-Singles wegen Internet</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-007/</link>

</item>

<item>

<title>Telecom-Firmen vor neuen Übernahmen</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-006/</link>

</item>

<item>

<title>Bundesregierung will Telekommunikation lückenlos überwachen</title>

<link>http://www.heise.de/newsticker/data/fr-18.02.01-000/</link>

</item>

<item>

<title>Grüne fordern mehr Chancen für Frauen in der IT-Branche</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-005/</link>

</item>

<item>

<title>BKA wegen neuem Computersystem mit Defizit</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-004/</link>

</item>

<item>

<title>Arznei-Handelsverbot im Internet nicht haltbar</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-003/</link>

</item>

<item>

<title>Britische Regulierer verordnen neue Großhandels-Flatrate</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-002/</link>

</item>

<item>

<title>UMTS-Erlöse für Computer an Berufsschulen</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-001/</link>

</item>

<item>

<title>Was war. Was wird.</title>

<link>http://www.heise.de/newsticker/data/jk-18.02.01-000/</link>

</item>

<item>

<title>Nachgelegt: neue Treiber und BIOS-Versionen</title>

<link>http://www.heise.de/newsticker/data/jk-17.02.01-007/</link>

</item>

<item>

<title>Kapitalspritze soll BinTec auf die Beine helfen</title>

<link>http://www.heise.de/newsticker/data/jk-17.02.01-006/</link>

</item>

<item>

<title>Schlechte PC-Ausstattung von Schulen beklagt</title>

<link>http://www.heise.de/newsticker/data/jk-17.02.01-005/</link>

</item>

<item>

<title>Schweizer Provider sperren Zugang zu amerikanischer Website</title>

<link>http://www.heise.de/newsticker/data/fr-17.02.01-002/</link>

</item>

<item>

<title>Telekom-Chef Sommer unter Druck</title>

<link>http://www.heise.de/newsticker/data/jk-17.02.01-003/</link>

</item>

</rdf:RDF>

ma kuckn ob´s da n script im web dazu gibt.

Grüße

Sven

------------------

http://www.IT-System-Kaufleute.de -

Die Infoquelle für IT-System-Kaufleute und solche, die es werden wollen.

Natürlich auch interessant für andere IT-Berufler, sowie Firmen und Schulen die diesen Beruf ausbilden! Besonderen Wert legt IT-System-Kaufleute.de auf Interaktivität, wie Sie sich selbst überzeugen können!

Geschrieben

Mein Quick'n'Dirty Vorschlag:


<html>

<body>

<?php

 $hnews=fopen("http://www.heise.de/newsticker/heise.rdf","r");

 $heiselinks=array();

 while ($line=fgets($hnews,4096)) {

   if (ereg("<title>.*</title>",$line)) {

     ## Titel gefunden; merken!

     $curTitle = ereg_replace("<title>(.*)</title>","\\1",$line);

   }

   if (ereg("<link>.*</link>",$line)) {

     ## Link zum Titel gefunden

     $curLink = ereg_replace("<link>(.*)</link>","\\1",$line);

     $heiselinks[$curLink]=$curTitle;

   }

 }

 reset($heiselinks);

 while (current($heiselinks)) {

   $URL = key($heiselinks);

   $Titel = $heiselinks[$URL];

   print "<a href=\"$URL\">$Titel</a><br>\n";

   next($heiselinks);

}

?>

</body>

</html>

Simpeles auslesen der RDF, absuchen der Zeilen mittels RegEx nach <title>.*</title> und <link>.*</link>, diese Paare werden in ein Hash gedrückt und können dann wie in der zweiten While-Schleife gezeigt ausgedruckt werden....

Geschrieben

Ach ja, sowie Michaels als auch mein Script/Ansatz sind natürlich grundsätzlich ungeschickt, da hierbei zumindest eine starke Verzögerung im Seitenaufbau erfolgen wird sollte heise.de mal offline sein.

Daher ist der regelmäßige Cronjob im Background immer die bessere Lösung. Ist heise.de weg, sind die letzten aktuellen News-Headlines lokal noch verfügbar.

Geschrieben

Habe der Quellcode ausprobiert (die sogen. Quick and dirty lösung ;-) )

habe sie dann dirty.phtml genannt und auf meinen Strato server geladen.

Ergebnis, bei Aufruf der Datei:

Parse error: parse error in /home/strato/www/it/www.it-system-kaufleute.de/htdocs/dirty.phtml on line 1

What´s wrong? Zugriffsreche setzen oder so?!

Bin halt kein Coder und stehe deshalb stets auf quick and dirty Lösungen ;-)

Grüße

Sven

Hier nochmals der Code:

<html><body><?php $hnews=fopen("http://www.heise.de/newsticker/heise.rdf","r"); $heiselinks=array(); while ($line=fgets($hnews,4096)) { if (ereg("<title>.*</title>",$line)) { ## Titel gefunden; merken! $curTitle = ereg_replace("<title>(.*)</title>","\\1",$line); } if (ereg("<link>.*</link>",$line)) { ## Link zum Titel gefunden $curLink = ereg_replace("<link>(.*)</link>","\\1",$line); $heiselinks[$curLink]=$curTitle; } } reset($heiselinks); while (current($heiselinks)) { $URL = key($heiselinks); $Titel = $heiselinks[$URL]; print "<a href=\"$URL\">$Titel</a><br>\n"; next($heiselinks);}?></body></html>

------------------

http://www.IT-System-Kaufleute.de -

Die Infoquelle für IT-System-Kaufleute und solche, die es werden wollen.

Natürlich auch interessant für andere IT-Berufler, sowie Firmen und Schulen die diesen Beruf ausbilden! Besonderen Wert legt IT-System-Kaufleute.de auf Interaktivität, wie Sie sich selbst überzeugen können!

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von LuvLee:

Habe der Quellcode ausprobiert (die sogen. Quick and dirty lösung ;-) )

What´s wrong? Zugriffsreche setzen oder so?!

Bin halt kein Coder und stehe deshalb stets auf quick and dirty Lösungen ;-)

Hier nochmals der Code:

Geschrieben

Hi Sven,

parse-error heisst fuer mich, die Datei konnte geoeffnet, aber an einer Stelle nicht gedeutet werden. In Zeile 1 stand eigentlich nur "<html>", was wohl unzweideutig ist.

Kann es sein, dass auf den Server das gesamte Listing eine Zeile ist??? Dann naemlich wuerden die Gartenzaunkommentare verheerenden Schaden anrichten!

Uli

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Uli Luethen:

Hi Sven,

parse-error heisst fuer mich, die Datei konnte geoeffnet, aber an einer Stelle nicht gedeutet werden. In Zeile 1 stand eigentlich nur "<html>", was wohl unzweideutig ist.

Kann es sein, dass auf den Server das gesamte Listing eine Zeile ist??? Dann naemlich wuerden die Gartenzaunkommentare verheerenden Schaden anrichten!

Uli

Geschrieben

@DevilDawn:

Naja, so ungeschickt ist meine Lösung da nicht, da ich ja das Cache-File drinne habe - sprich, mein Server liest Heise.de höchstens einmal pro Stunde aus, und ich glaube nie und nimmer, das es Heise.de gefallen würde wenn ihr Server länger als eine Stunde down sein sollte ;-)

Das ganze kann man ja noch auf 2-3 Stunden ausdehnen, je nachdem wie aktuell man sein will. Außerdem ließe sich dein Script ja auch problemlos mit einem Caching nachrüsten.

Woher kommt dieses .RDF-File eigentlich ? Das müsste dann doch auch vom Heise.de-Server vorher ausgelesen werden, oder ?

------------------

Michael Kagerbauer

Webmaster Azubidatenbank.de / Azubidatenbank.com

Onlineprüfungen, Downloads, Links und mehr ...

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Michael Kagerbauer:

@DevilDawn:

Naja, so ungeschickt ist meine Lösung da nicht, da ich ja das Cache-File drinne habe - ...

Geschrieben

<BLOCKQUOTE><font size="1" face="Verdana, Arial, Helvetica">Zitat:</font><HR>Original erstellt von Michael Kagerbauer:

@DevilDawn:

Naja, so ungeschickt ist meine Lösung da nicht, da ich ja das Cache-File drinne habe - sprich, mein Server liest Heise.de höchstens einmal pro Stunde aus, und ich glaube nie und nimmer, das es Heise.de gefallen würde wenn ihr Server länger als eine Stunde down sein sollte ;-)

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...