Hirdetés

Új hozzászólás Aktív témák

  • Doink

    aktív tag

    válasz maestro87 #6690 üzenetére

    Ezt a fát nem akarod kiiratni mert azt látod a böngészőben F12->source. <html> a fa csúcsa, annak van 2 gyereke <head> <body> és így tovább. A belső adatszerkezet lesz egy fa ahogy a gép tárolni fogja a memóriában hogy gyorsan tudj benne keresni és módosítani.
    Ennek a libnek meg pont az a lényege hogy css selectorokkal tudj keresni/módosítani ebben a html-ben és ne kelljen stringkezelési műveletekkel bajlódni.
    Ha mégis be szeretnéd járni a fát akkor a a dokumentációban találsz olyan metódust hogy .children() ami visszadaja egy node közvetlen gyerekeit és így már adja magát hogy rekurzívan elég egyszerű bejárni.

    A részfát úgy értettem hogy ha van az oldalon egy ilyened és neked kell a price és a name

    <!-- többmillió html kód felette -->
    <div id="product">
    <p class="price">1</p>
    <p class="name">name</p>
    </div>
    <!-- többmillió html kód alatta -->

    és amúgy az oldalon még van ezer más html tag mindenfelé akkor azt így csinálod:

    var $ = cheerio.load(html);
    var product = $("#product");
    var result = {
    price: product.children(".price").text(),
    name: product.find(".name").text()
    }

    és nem ezt:

    var $ = cheerio.load(html);
    var result = {
    price: $("#product > .price").text(),
    name: $("#product > .name").text()
    }

    mert így kétszer végig fog menni az egész fán megkeresni a #product-ot.
    Ettől függetlenül a cheerio oldalán van elég sok példa amit érdemes lenne átfutnod.

    [ Szerkesztve ]

Új hozzászólás Aktív témák