Diskuze: c# - stiahnutie web stránky a jej prepis do subru.txt
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 12 zpráv z 12.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Díky, vyskúšam.
Zajímavější bývá, když to do toho souboru txt ukládat nebudeš, ale rovnou si z těch stažených dat vyparsuješ jen ta data, která skutečně potřebuješ.
jj tak mu tu muzes poradit knihovnu co to parsuje za tebe nebo mu sem muzes vypisovat regexy, treba celkem pekna knihovna na parsovani je http://htmlagilitypack.codeplex.com/ ktera ti vyparsuje i atribbuty tagu, ale musis se s tim naucit ja daval spis prednost regexu...
C# neznám, nebudu mu radit konkrétní knihovnu. V seriálu o C# však jsou příklady na parsování. Regexy jsem na to kdysi používal, ale SAX či DOM jsou mnohem výhodnější.
DOM vyzerá veľmi dobre na to čo by som potreboval, ale citujem: "DOM
(Document Object Model) je objektové API pro práci s XML soubory.", teda nie
na HTML súbory, aj keď su s XML podobné. Nie je ani zložité previeť HTML
do XML, ale už to nie je celkom ono a pri testovaní mi to nefungovalo,
pretože v HTML sú nielen párové tagy. Možno som ale niečo robil
špatne.
Keď som hľadal na webe DOM a HTML, odkázalo ma to na knižnicu, na ktorú tu
poukázal ghol3. Až s jej pomocou (musel som ju pridať k projektu) sa dalo
pracovať s HTML formátom.
Alebo to ide predsa len aj s HTML prevedeným do XML a potom s použitím
DOM?
Aké máte skúsenosti?
DOM běžně používám i na zpracování HTML, jen se mu musí při parsování říct, že je to HTML.
Pro C# mi Google našel odkaz, kde je popsáno víc možností:
http://stackoverflow.com/…se-html-in-c
Také můžeš použít SAX, tomu je to jedno.
Teď koukám na definici
"DOM je objektové API pro práci s XML soubory."
a moc se mi nelíbí. DOM už neberu jen jako API, ale spíš jako derivační
strom, se kterým se skvěle pracuje. XML se tak dostává do role pouhého
serializačního formátu určeného pro výměnu dat mezi počítačem a
člověkem nebo mezi počítači.
Citujem:
"DOM běžně používám i na zpracování HTML, jen se mu musí při
parsování říct, že je to HTML."
Môžes sem pastnúť nejaký jednoduchý príklad ako to robíš?
V PHP se to dělá takto:
<?php
$doc = new DOMDocument();
$doc->loadHTML("<html><body>Test<br></body></html>");
nebo
<?php
$doc = new DOMDocument();
$doc->loadHTMLFile("filename.html");
Také si můžeš zkusit
<?php
$doc = new DOMDocument();
@$doc->loadHTMLFile("http://www.devbook.cz");
echo $doc->saveHTML();
Zobrazeno 12 zpráv z 12.