Webbasierter News Aggregator

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Webbasierter News Aggregator

Beitragvon rayo » Freitag 15. Oktober 2004, 12:21

Hi

Ich stelle mal mein Projektchen vor.
Das Programm sammelt aus RSSfeeds News und zeigt sie auf einer Webseite an.

Ihr könnts euch ja mal anschauen http://80.238.129.209:8888. Ich hoffe es funktioniert mit der Firewall.

Natürlich funktionierts nicht immer, ist ja auch noch lange nicht Fertig. Ich hoffe mal das Programm läuft einigermassen Stabil.


Dazu habe ich aber auch schon die erste Frage. Bei einem Newsfeed werden die Sonderzeichen HTML-Codiert angegeben &#zahl; aber irgendwo gibts einen Fehler und am Schluss steht in der MySQL-Datenbank das Sonderzeichen plus ein Leerzeichen. Vielleicht passierts auch weil bevor ich die Daten in die DB schreibe noch von Unicode nach Iso-8859-15 wandle.
Bei diesem Newsfeed ist dies der Fall:
http://80.238.129.209:8888/showfeed?id=3

Weiss grad einer warum sowas passiert?

gruss

*edit* projekt ist schon auf eis gelegt
Zuletzt geändert von rayo am Sonntag 24. Oktober 2004, 19:31, insgesamt 1-mal geändert.
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 15. Oktober 2004, 13:19

Hi rayo,

bei deinem 2. Link kommt bei mir leider nichts. Beim den Newsfeeds sind mir einige "& uuml;" aufgefallen. Wie die zustande kommen weiss ich leider auch nicht. Eventuell hat der XMLParser probleme mit den html-entities?


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Freitag 15. Oktober 2004, 13:28

Hi also der 2. Link wäre der direkt Link auf den Newsfeed von Dr. Web.

Bei welchen Feeds ist es dir aufgefallen?
Dann schau ich mir diese genauer an was der XML-Parser macht.

Hab noch nen Testuser erstellt, denke mal es möchten sich nicht alle Anmelden.
Username: test
Passwort: test

Gruss
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 15. Oktober 2004, 13:40

Bei der Seite mit den Top10, ist bei manchen Einträgen mit Umlauten ein & uuml; z.B. zu sehen, bei den anderen mit Umlauten kommt das von dir beschriebene space nach dem Umlaut. Ich denke das ist ein problem vom Parser, der die Texte an den Entities aufsplittet. Was verwendest Du zum parsen der rss-feeds?


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 15. Oktober 2004, 13:44

Hab mir jetzt die Einträge der Top10 nochmal angeschaut, bei manchen z.B. blogibo.de funktionieren die Umlaute, bei drweb.de kommen zusätzliche Leerzeichen vor und hinter den entities und bei woz.ch kommt das mit den & uuml;


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Beitragvon rayo » Freitag 15. Oktober 2004, 13:45

Hi

Den Sax-Parser von Python:

Code: Alles auswählen

import xml.sax

class rssHandler(ContentHandler):
.....

parser =xml.sax.make_parser()
handler = rssHandler()
parser.setContentHandler(handler)
parser.parse(file)


gruss

*edit*:
hab jetzt mal die xml-source angeschaut
dr.web: @#252;
wissenswertes: ä und @quot;
woz: @amp;uuml;

@ mit & ersetzen :D

das sind so die varianten die ich gefunden habe
Benutzeravatar
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Beitragvon Dookie » Freitag 15. Oktober 2004, 15:16

woz scheint die html-entities nochmal zu entitifizieren. drweb machts eigentlich richtig und das andere verwendet wohl direkt die Zeichen.
Bei expat kann ich buffertext aktivieren um die Texte als ganzes zu bekommen, mal schaun ob das bei sax auch möglich ist. Würde jedenfalls das auseinanderreissen (die zusätzlichen spaces) der entities verhindern.


Gruß

Dookie

Code: Alles auswählen

#!/usr/bin/env python
import this

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder