Tiedon parsiminen toiselta sivulta

simusimu

Moi,

Miten olisi helpoin tapa parsia pätkä tietoa toiselta sivulta?

Minun täytyisi saada sivun datasta osa näytettyä tuo "25 item number" omalla sivulla. Data on tämän näköinen:


25 item number

noita sub3 kohtia on useampiakin mutta tuo mitä tarvitsen on sivun ensimmäinen.
Eli miten "löydän" tuon kohdan sorsasta, kiitoksia :)

8

1011

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • simusimu

      Tähän lisäyksenä että onko joku muu kuin PHP parempi tähän tehtävään?

    • teuro

      Jos tiedät, että kyseinen div-elementti on varmasti ensimmäinen "sub3"-elementti. Voit aika vapaasti käyttää $divit = getElementsByTagName("div"); funktiota, jolla saat jokaisen div-elemntin käyttöön. Ensimmäinen elementti on $divit -> item(0); ja sen tekstitieto on $divit -> item(0) -> textContent;

      Mutta sinähän et halunnut ekaa diviä, vaan ensimmäisen sub3 elementin. muokataan hieman tuota koodia.

      Haetaan siis kaikki divit listaan.

      $divit = getElementsByTagName("div");

      Käydään lista läpi

      for($i = 0; $i < $divit -> length; $i ){
      if($divit -> item($i) -> hasAttribute("sub3")){
      echo $divit -> item($i) -> textContent;
      }
      }

      Selkenikö?

      • simusimu

        Hieman selkeytti, mutta vielä jäi se että miten saan ne div elementit kaivettua esim. osoitteesta joka on muotoa osoite.com/en/sivu ?


      • teuro
        simusimu kirjoitti:

        Hieman selkeytti, mutta vielä jäi se että miten saan ne div elementit kaivettua esim. osoitteesta joka on muotoa osoite.com/en/sivu ?

        Sinun täytyy hakea se sivu itsellesi ensin vaikkapa loadHTMLfile("osoite"); Tämän jälkeen voit hakea edellä mainitulla tavalla tiedot.

        Eli siis


        Jotenkin noin sitä voisi alkaa rakentelemaan, mutta pidä huolto, että jos tiedon paikka muuttuu tämä ei anna oikeaa tietoa ulos. Tosin tämä tulostaa siis kaikkien elementtien sisällön.


      • syystä tämmöinen
        teuro kirjoitti:

        Sinun täytyy hakea se sivu itsellesi ensin vaikkapa loadHTMLfile("osoite"); Tämän jälkeen voit hakea edellä mainitulla tavalla tiedot.

        Eli siis


        Jotenkin noin sitä voisi alkaa rakentelemaan, mutta pidä huolto, että jos tiedon paikka muuttuu tämä ei anna oikeaa tietoa ulos. Tosin tämä tulostaa siis kaikkien elementtien sisällön.

        Mistä syystä tulee tämmöinen virheilmoitus Fatal error: Call to undefined method: domdocument->loadhtmlfile()

        Kun yrittää parsia sivua kasaan?


      • 5 phptä
        syystä tämmöinen kirjoitti:

        Mistä syystä tulee tämmöinen virheilmoitus Fatal error: Call to undefined method: domdocument->loadhtmlfile()

        Kun yrittää parsia sivua kasaan?

        Taisi löytyäkin ratkaisu... Ei ole php5 käytössä vaikka sivuilla niin luvataankin.

        komennolla: phpinfo();

        PHP4u Version 3.0
        Based on PHP-4.4.6

        Onnistuuko tuo jotenkin vanhemmissa versioissa?


    • asddfasfdasdf

      • asddfasfdasdf

        Tuo puolipisteen heti osoitteen päättävän heittomerkin jälkeen on suomi24 systeemin lisäämä, joten se ei kuulu tuohon koodiin.


    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Orpo räyhää: kansan on muututtava

      Orpon mukaan kansa ei elä kokoomuksen kanssa samassa todellisuudessa, ja sen vuoksi kansan on muututtava. Kas kun ei san
      Maailman menoa
      248
      3151
    2. Muovikassikartelli

      Kauppaketjut ovat yhdessä sopineet muovikassin yksikköhinnaksi 59 senttiä. Milloin viranomaiset puuttuvat tähän kartell
      Talousrikokset
      18
      1750
    3. Aidon persun tunnistaa Marinin palvonnasta

      Oli kyse sitten Halla-ahosta tai Putinista. Ensimmäisenä aidolle persulle tulee mieleen Marin.
      Maailman menoa
      23
      1443
    4. Nainen, nyt esitän muutaman skenaarion

      Asumme yhdessä ja seurustelemme. 1. On ilta ja olet sohvalla makoilemassa ja räpläät kännykkääsi. Makuuhuoneesta kuulu
      Ikävä
      132
      1275
    5. Et taida paljoa

      treffeillä käydä? 😆 mieheltä Naiselle
      Ikävä
      104
      1258
    6. Mikä tekee sen

      Vetovoiman kaivatussasi?
      Ikävä
      78
      1212
    7. Kristillinen kaste toimitetaan upottamalla veteen - pään valelukaste ei kelpaa

      Kristillinen upotuskaste perustuu juutalaiseen puhdistautumiseen, jossa upottaudutaan veden alle kokonaan. Paavali verta
      Kaste
      153
      1072
    8. Oikea kaste on syntisten kaste

      Oikea kaste on syntisten kaste. Vain syntisiä tulee kastaa. Itsensä uskoviksi ja vanhurskaiksi julistaneita ei tule ka
      Kaste
      58
      1045
    9. Harmittaako joku

      Harmittaako joku asia tai asiat, mitä on tapahtunut tai jäänyt tapahtumatta?
      Ikävä
      135
      972
    10. Upotuskaste on raamatullisin kaste

      Jokainen raamattua lukenut tietää sen. Päivänselvä asia. Vauvalle annettu kaste ei löydy raamatusta.
      Kaste
      717
      967
    Aihe