Portál AbcLinuxu, 1. května 2025 03:25
Také vás štve, že některé servery poskytují pouze neúplné RSS kanály? Např. usekávají novinky v půlce textu (nebudu radši jmenovat ) či dokonce poskytují jen titulky bez žádného textu (např. KDE Dot News)? Mě to štvalo, tak jsem se vydal cestou "udělej si sám" a napsal v PHP jednoduchou webovou aplikaci RSSMan, která umí RSS kanály obohacovat daty získanými parsováním webových stránek. Jedná se tedy o jakousi RSS proxy. Stahovaná data navíc cachuje, což může být v řadě případů taktéž výhoda...
RSSMan využívá MagpieRSS k parsování RSS feedů a RSSWriter k tvorbě nových RSS feedů (oboje dvoje mírně upraveno). K parsování HTML stránek se používá obyčejný PCRE regulérní výraz. Ke generování (nutno říci primitivně jednoduché ) webové stránky se seznamem feedů jsou použity TemplatePower šablony. Feedů si můžete v konfiguračním souboru nastavit kolik chcete.
RSSMan zatím podporuje jen přepisování <description>
tagu (je to to jediné co jsem potřeboval), ale je velice jednoduché ho případně upravit aby přepisoval vícero věcí. V budoucnu (až bude trocha času) plánuji přidat i podporu kompletního generování RSS feedů z HTML stránek (které žádný RSS feed samy neposkytují).
Pokud byste měli nějaké náměty na vylepšení, sem s nimi Např. se mi nelíbí, že RSSWriter generuje výstupní RSS soubor "hrubou silou" a nepoužívá (narozdíl od MagpieRSS) žádnou standardní XML PHP knihovnu (pokud byste tedy znali lepší náhradu, budu jedině rád). Také v Internet Exploreru nefunguje centrování seznamu kanálů na webové stránce (zná někdo jiné CSS řešení centrování seznamu, které by fungovalo i v MSIE? Tabulkový layout ani žádné IE CSS-hacky neberu
). A pokud by chtěl někdo dopsat zmiňovanou podporu pro kompletní generování RSS z čistého HTML místo mě, budu ještě raději a patch s radostí přijmu
Jinak program je samozřejmě (jak je u mě zvykem) šířen pod licencí GNU GPL.
DISCLAIMER: Prosím pokud možno používejte RSSMan jen pro svou vlastní potřebu. Neposkytujte žádné RSSManem obohacené feedy veřejnosti, mohlo by to být porušení copyrightu původních autorů (tedy samozřejmě pokud nejste s původním autorem feedu domluveni).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.