(Da) Metts Blog

Az oldal töményen az informatikáról szól, lesz itt minden ami csak kell, programozás, weblap szerkesztés, hardver/szoftver hack. Minden ami egy srác fejében megfordul, hogy kitörjön a világból.

Kövess Twitteren!

Címkék

.net (7) .net get request (1) 2012 emelt informatika (3) 2017 bitcoin (1) ask.fm (1) befektetés (1) bemutatkozás (1) betűk (1) bitcoin (1) bitcoin régi értéke (1) btc (1) c# (8) c# feladatok (4) chrome (2) chrome addon programozás (2) chrome bővítmény programozás (2) chrome extension programozás (2) curl (2) curl bekapcsolás windowson (1) design (1) dropbox (1) egyetem (2) ékezetes (1) elemzés (2) emelt (5) emelt informatika érettségi (2) emelt informatika érettségi 2012 május törtek (1) emelt informatika érettségi megoldások (2) emelt info feldatlap (2) emelt infó futar (1) emelt infó törtek (1) érettségi (6) érettségi feladatlap (2) eth (1) etherum (1) facebook (5) facebook látta (1) fail (2) fb látta (1) fb látta eltüntetése (1) fb látta elvétele (1) fb látta kilövée (1) fb seen (1) fb seen hideing (1) fb üzenet látta (1) feladat (4) feladatok (1) féreg (2) futár (1) gif (1) gomb (2) hacking (8) hasznos ncore (2) hasznos ncore cuccok (2) házi (2) hiba (1) hogyan csináljam hogy más ne lássa hogy láttam az üzenetét (1) HtmlAgilityPack (1) http get request (1) humor (1) idegennyelvű (1) informatika (12) java (1) java feladatok (1) js (2) kriptovaluta (1) kripto befektetés (1) laptop szerver (1) látta (1) letölés (2) litecoin (1) magyar (1) mb strtolower (1) megoldás (1) ncore (2) ncore szerver (1) otthoni seed szerver (1) php (6) programozás (6) raspberrypi (2) rpi (3) seed server (1) seed szerver (1) spam (1) spammer (1) strtolower (1) titkosítás (1) torrent szerver (1) torrent szerver otthonra (1) utorrent seed szerver (1) vernegyula (1) vírus (5) windows (5) Windows Shielding Utility (1) worm (3) xammp (1) Címkefelhő

[C#] HtmlAgilityPack

2012.04.08. 11:34 | M3tts | Szólj hozzá!

Eme cikkben beszeretném mutatni ezt a remek dll-t minden c# fejlesztőnek, hisz nagyon megkönnyíti az ember életét, ha van egy ilyene. Ezzel a cuclival könnyedén ki tudjuk szűrni a html elemekből a nekünk tetsző tartalmakat. Legjobb szituáció, ha szükségünk van egy console applicaton ra, ami felnéz egy weblapra, és kiszedi egy minta alapján a szükséges információt, egy <h1> közül például. Persze ezt manuálisan is meglehet írni, de most komolyan ki akar órákat regexezni? 

A "project" ezen a webcímen érhető el. A cikk további részében megmutatom, hogyan is nézki működésközben a dll.

A tervünk legyen az, hogy eme mintából <span class="forumtitle" title="akarmi">Alma</span> Kinyerjük az alma szót, hogyha van még egyezés a mintára, akkor azt is nyerjük ki. 

Első lépésként hozzá kell adnunk a projectünköz a dll-t. Részletessen erről most nem írnák, MS Visual C# baromi jól elintézi ezt, néhány kattingatás után.

Második lépésként megkell írnúnk a mintát, ami a mi esetünkben így nézki:

public string pattern_h1 = "//span[@class='forumtitle']";

A project honlapján lehet tájékozódni arról, hogy miért is így néz ki a minta. 

Harmadik lépésünk példányosítani az osztályokat.

HtmlAgilityPack.HtmlDocument htmldoc = new HtmlAgilityPack.HtmlDocument();
HtmlAgilityPack.HtmlWeb htmlweb = new HtmlAgilityPack.HtmlWeb();

Mivel, nekünk a webre is ki kell menni, ezért szükséges a htmlweb osztály. Úgyis lehet csinálni, hogy lehúzzuk a távoli szerverröl a html filet a gépünkre és a htmldoccal azt nyitjuk meg, de így szerintem egy picit egyszerűbb :D

A negyedik lépésként megnyitjuk a weblapot adott kódólással, és egy tömbbe pakoljuk a <span> tartalmait. Ez kódba is nagyon egyszerű.

htmldoc = htmlweb.Load("http://www.url.com/",Encoding.GetEncoding("iso-8859-9"));
htmldoc.OptionReadEncoding = false;
htmldoc.OptionFixNestedTags = true;
if (htmldoc.DocumentNode.SelectNodes("//span") != null)
{
int i = 0;
foreach (HtmlAgilityPack.HtmlNode span in htmldoc.DocumentNode.SelectNodes(pattern_h1))
{
array[i] = span.InnerText;
i++;
}
}

A project weblapján még több examplet, segítséget találtsz. Mindenképp látogass el oda, ha ezt akarod használni fejlesztésre.

Címkék: informatika .net c# HtmlAgilityPack

A bejegyzés trackback címe:

https://metts.blog.hu/api/trackback/id/tr254371098

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása