Portál AbcLinuxu, 8. května 2025 20:25

Dotaz: HTML->RSS jako třída PHP nebo free online app ...

9.4.2013 10:02 hanoj
HTML->RSS jako třída PHP nebo free online app ...
Přečteno: 271×
Odpovědět | Admin
Zajimam se o problem urednich desek na webu, ktere nemaji RSS. V nasem meste je jich cca 40 a kazda je na jinem webu a ma jinou formu HTML, vyvesene rozhodnuti je ale nakonec vzdy PDF.

Chtel bych agregovat vsechna rozhodnuti na jednu stranku, umoznit filtrovani, hledat zmeny, archivovat. Neco jako HTML->RSS. Nema nekdo zkusenost free online aplikaci nebo s nejakou PHP tridou?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

9.4.2013 10:17 NN
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Odpovědět | | Sbalit | Link | Blokovat | Admin
RSS je jen dobre naformatovane XML, tak proc tak slozite. Cele to napises bez problemu v PHP. Jednou casti kodu budes tahat data, druhou je parsovat do RSS XML formatu.
9.4.2013 12:07 hanoj
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Abys mohl neco dobre naformatovat potrebujes dobre XML a pak staci XPATH. Ale 40 ruznych adhoc HTML formatu... to bych si rad ulehcil nejakym udelatkem... Takovej nastroj na HTML DOM jako adblock+ by byl dobrej ale GUI nepozaduji ;)
9.4.2013 11:01 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Odpovědět | | Sbalit | Link | Blokovat | Admin
Robil som podobny web v PHP len som agregoval ponuky realitnych kancelarii ktore nemali RSS. Robil som to tak ze som parsoval tie ich stranky. Ak som chcel mat kvalitny vystup, musel som dost pracne pisat parser pre kazdu stranku zvlast. Na jeden web to vychadzalo cca 10 riadkov husteho ad-hoc kodu (regexy, ify, fory). Nejake genericke riesenie mi moc nefungovalo lebo sa menili reklamy na ich webe co sposobovalo ze si system myslel ze sa nieco zmenilo, alebo oni menili poradie inzeratov, pripadne znova publikovali starsie inzeraty.

Ak je to ako pises ze skutocne je to len odkaz na PDF na webstranke, malo by stacit primitivny regex typu: /http[s]*:\/\/[a-zA-Z0-9-\.\/]+.pdf/ a tieto PDF stahovat a na zaklade nejakeho MD5 hashu rozhodnut ci je to PDF nove alebo nie. Ak je nove zverejnit na RSS (atom je primitivny xml, da sa bez problemov napisat aj rucne).
9.4.2013 12:04 hanoj
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Ano tvuj pripad je hodne podobny. Chapu to tak, ze jsi zadnou knihovnu nepouzil. S temi PDFkami je trochu problem. Jsou zpravidla vnorene nekolik stranek pod uvodnim seznamem. Nektere dokonce zadny prehledny seznam nemaji a lze v nich jen listovat (na jedne strance N je 1 PDF a odtud vede odkaz na stranku N-1 s PDF).
9.4.2013 12:39 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Myslim ze budes kazdu stranku musiet riesit osobitne, niektore na viac krokov (nacitat index, najst formular, daco vyhladat, najst vyseledkove stranky, stiahnut tie a v nich hladat pdf)
9.4.2013 13:18 hanoj
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Jeste by mne zajimalo, jak jsi resil update. Mam predstavu ze 1x za den by se to melo aktualizovat. Jak jsi rozpoznaval na strankach zmeny oproti predchozimu stavu, pripadne novinky od zmen, duplicity z ruznych serveru?
9.4.2013 13:26 pesspi | skóre: 7 | blog: hateblog
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Updaty som riesil raz za hodinu cronom. U mna bol unikatny identifikator md5(nadpis+obsah inzeratu+zoznam nazvov obrazkov), ukladal som to do db a co tam nebolo som oznacil ako nove a islo to do feedu. Duplicity to riesilo len ak skopirovali plne znenie inzeratu. Rucne som potom vyhodil niekolko notoricky sa opakujucich inzeratov (napr. tento). Byty som riesil inak, tam som mal regexy na vsetko mozne a veci ktore ma nezaujimali som rovno zahadzoval (prve poschodie, posledne pozschodie, vybrane ulice a mestske casti). Po tej filtracii uz tam nebol az tak velky trafik, radovo 10 inzeratov denne ktore som vyfiltroval rucne. Pouzival som to len dokym som nekupil byt, potom som to nechal tak.
9.4.2013 12:30 Kit
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Odpovědět | | Sbalit | Link | Blokovat | Admin
V PHP je na to třída DomDocument. Umí číst i nevalidní HTML, ale musí se před to hodit @.
9.4.2013 13:25 hanoj
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
diky zda se ze tohle by mi mohlo usnadnit adresovani DOM... getElementsByTagName
9.4.2013 13:35 Kit
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Na to už můžeš použít XPath.
9.4.2013 13:37 Kit
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
Také se to dá zpracovat XSLT. Dokonce se tá udělat jednotná šablona pro všech 40 webů.
9.4.2013 14:04 hanoj
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
XSLT a XPATH u mne budi hruzu. Jednou jsem to musel pouzit, ale nikdy jsem to nebyl schopen pochopit. Zaklady ano, ale pokrocile, ty co clovek opravdu potrebuje byly mimo me chapani.
9.4.2013 14:36 Kit
Rozbalit Rozbalit vše Re: HTML->RSS jako třída PHP nebo free online app ...
To bude asi proto, že jsi zvyklý na procedurální programování. Také mi dlouho trvalo, než jsem u toho začal přemýšlet v duchu jazyka.

Načtením do DOMu získáš strom. Virtuální procesor XSLT je druhým stromem. Jejich sloučením (transformací) vznikne třetí strom, výsledek.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.