Datan nouto internetistä

Anonyymi

Haluaisin rakentaa ohjelman, joka noutaa lähtötiedot internetin sivustolta. Olisiko se edes teoriassa mahdollista? Olisiko mahdollista esim php:llä? Kyseisellä sivulla tiedot on ladattavissa linkistä tiedostona. Kun saisin ohjelman hakemaan tiedot palvelimelle, osaisin käsittelyn siitä eteenpäin. Olisiko tästä esimerkkejä?

19

590

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Mitä tarkoitat "lähtötiedoilla"?

    • Anonyymi

      Linuxiin saa asennettu 'wget' -sovelluksen joka noutaa tiedot automaattisesti. Tämä pitäisi olla saatavilla myös windowsiin Tästä syystä en näe tarvetta lähteä keksimään pyörää uudelleen tehdäkseen PHP:llä softan joka on jo olemassa.

    • Anonyymi
    • Anonyymi

      Minä ymmärsin kysymyksen niin että

      on olemassa sivu osoitteessa x
      mikä sisältää linkin y
      jota klikkaamalla saa näkymään datan z.

      Asiaa olisi helpompi pohtia kun näkisi miten osoite x on toteutettu, mutta asian arkaluontoisuuden takia tuota tietoa ei nyt ole saatavissa.

    • Anonyymi

      1.) Olisiko se edes teoriassa mahdollista?
      Olisi mahdollista teoriassa.

      2.) Olisiko mahdollista esim. php:llä?
      Olisi mahdollista PHP:llä.

      3.) Olisiko tästä esimerkkejä?
      Kyllä olisi esimerkkejä.

      Oliko muuta?

      • Anonyymi

        Kyllä on. Anna esimerkki miten luet esim. nettisivulla foosamplesite.net olevan linkin tuottaman aineiston silloin kun se vaatii linkin klikkaamisen ja siinä linkissä on javascriptillä toteutettu hakumääritys.


      • Anonyymi
        Anonyymi kirjoitti:

        Kyllä on. Anna esimerkki miten luet esim. nettisivulla foosamplesite.net olevan linkin tuottaman aineiston silloin kun se vaatii linkin klikkaamisen ja siinä linkissä on javascriptillä toteutettu hakumääritys.

        foosamplesite.net on toimimaton verkko-osoite.

        Normaalisti käytän Lynx -komentopohjaista selainta noutamaan verkkosivun sisällön, mutta se ei tue JavaScriptillä tuotettua sisältöä.

        Vastaavan ELinks selaimen taas sanotaan tukevan, en ole käyttänyt, joten en osaa tällä hetkellä opastaa, ehkä myöhemmin.

        Myös Chromium selainta voi käyttää komentokehotteesta, ja mikään ei ole tavoittamattomissa, kun yhdistät siihen xdotool makrot.

        Anna toimiva osoite, saatan antaa täsmäohjeen, jos pystyn siihen, mikään ei ole jäänyt tekemättä tähän mennessä.


    • Anonyymi
      • Anonyymi

        Ei onnistu, joutuisin jommallakummalla tavalla suorittamaan latauksen.

        1.) Selain Selainlaajennos
        2.) Selain xdotool


      • Anonyymi

        chromessa:
        klikkaa sitä download-sanaa hiiren kakkosella. sitten valitse välilehti "network" aukeavasta näkymästä.
        klikkaa download-sanaa hiiren ykkösellä.
        Siihen oikealle ilmestyy nyt kohta "DataFeedProxy.asp". klikkaa sitä hiiren kakkosella -> Copy -> Copy as cURL
        Nyt leikepöydällä on komento, joka curlia hyväksi käyttäen osaa ladata sen datan
        sen voi linuxissa pastettaa suoraan päätteeseen ja näkee sen CSV-datan

        tolla tavalla noita erilaisia selaimen tekemiä pyyntöjä on helppo tutkiskella selaimen omilla työkaluilla.
        https://ibb.co/BgK6Fvd

        ja kun googletat "DataFeedProxy nasdaq github" niin noitahan on valmiina jos haluaa säästää tekemisen vaivan.


      • Anonyymi
        Anonyymi kirjoitti:

        chromessa:
        klikkaa sitä download-sanaa hiiren kakkosella. sitten valitse välilehti "network" aukeavasta näkymästä.
        klikkaa download-sanaa hiiren ykkösellä.
        Siihen oikealle ilmestyy nyt kohta "DataFeedProxy.asp". klikkaa sitä hiiren kakkosella -> Copy -> Copy as cURL
        Nyt leikepöydällä on komento, joka curlia hyväksi käyttäen osaa ladata sen datan
        sen voi linuxissa pastettaa suoraan päätteeseen ja näkee sen CSV-datan

        tolla tavalla noita erilaisia selaimen tekemiä pyyntöjä on helppo tutkiskella selaimen omilla työkaluilla.
        https://ibb.co/BgK6Fvd

        ja kun googletat "DataFeedProxy nasdaq github" niin noitahan on valmiina jos haluaa säästää tekemisen vaivan.

        korjaus kun jotain unohtui:

        klikkaa sitä download-sanaa hiiren kakkosella -> Tarkista. sitten valitse välilehti "network" aukeavasta näkymästä.


      • Anonyymi
        Anonyymi kirjoitti:

        korjaus kun jotain unohtui:

        klikkaa sitä download-sanaa hiiren kakkosella -> Tarkista. sitten valitse välilehti "network" aukeavasta näkymästä.

        No olippaan temppu, kiitän ja kumarran. Tämä avasi uusia mahdollisuuksia, olen ylen tyytyväinen.


      • Anonyymi
        Anonyymi kirjoitti:

        korjaus kun jotain unohtui:

        klikkaa sitä download-sanaa hiiren kakkosella -> Tarkista. sitten valitse välilehti "network" aukeavasta näkymästä.

        VUODEN PARAS


      • Anonyymi

        Saa, mutta riippuu nykyään aika monesta asiasta:
        1. Jos saat suoran linkin helposti tiedostoon niin lataa se
        2. Jos linkki on www-sivulla, pitää sivulta pystyä löytämään em. linkki staattiselta sivulta se on siis ensin ladata sivu jolla linkki. Sitten sieltä jollakin keinolla napata oikea linkki ja tämän jälkeen tehdä ensimmäisen kohdan mukaan.
        3. Jos sivu on dynaamisesti generoitu ja linkki esim. javascriptillä kirjain kirjaimelta tuotettu - niin kakkos-kohta ei toimi, pitää tehdä oma "selain", esim. Qt:lla:
        https://www.bogotobogo.com/Qt/Qt5_WebKit_WebView_WebBrowser_QtCreator.php
        -Tämän jälkeen pystyt tekemään mm. klikkauksia linkkeihin yms. hauskaa - vaikka täyttämään web-lomakkeen ja lähettämään sen tiedonhakupyyntönä jollekin kirjastopalvelulle yms. mukavaa. Tällainen komponentti löytyy eri tasoisena varmaan suurimmalle osalle ohjelmointikielistä.
        -Mutta jos joudut tekemään näin, on mahdollista että olet tekemässä jotakin täysin väärin ja väärästä päästä aloittaen. Kannattaa miettiä ehkä uudestaan koska sovelluksesta tulee tällä keinolla älyttömän hidas! Esim. Saisiko suoraan tietokantaan yhteyden ja käyttäisi sql:ää? Onko jossain tieto jo saatavilla valmiiksi prosessoituna linkiksi, yms.? Koodaukseen käytetyn ajan säästö voi tulla jossain vaiheessa lumipalloefektinä takaisin, kun kaikki pitää tehdä uusiksi.


    • Anonyymi

      Aloittajalle riittää työkaluksi joko wget tai curl. Molemmat löytyvät moniin käyttöjärjestelmiin ja ovat linuxeissa yleensä mukana automaattisesti.

      Löytyy myös ohjelmistoja, jotka ovat tarkoitettuja datan keräämiseen nettisivuilta. Toiminnan nimi on web scraping. Tässä työkaluja:

      https://www.google.com/search?q=web scraping tools

      • Anonyymi

        Testasin tätä ilmaista ParseHub ( https://www.parsehub.com/ ) web-kaavintatyökalua. Ainakin se on helppo asentaa, vaatii rekisteröitymisen, ja jättää jälkeensä 1476 tiedostoa roskaksi.

        En rekisteröitynyt käyttäjäksi, joten en osaa hänestä sen enempää kertoa.


      • Anonyymi

        Otin testiin Scrapy Web Scraping -pythonkirjaston ( https://scrapy.org/ ). Ainakin on helppo asentaa, eikä ole rekisteröintejä. Puutteena JavaScript-tuen puuttuminen. On senverran mielenkiintoinen että joutuu testaamaan ihan käytäntöön soveltamalla. Väittävät olevan hyvin dokumentoitu, saa sitten nähdä mitä se tarkoittaa.


    • Anonyymi

      Jos tiedosto linkin takana on CSV-muodossa, voit hakea sen ja käsitellä tietoja helposti Pythonin pandas-kirjastolla. Tyyliin näin:

      import pandas as pd
      data = pd.readcsv('linkki_tähän')

      Jos tiedosto on esim. txt-muodossa eli perustekstitiedosto, niin lisäät erotusmerkin jota datassa käytetään

      data = pd.readcsv('linkki_tähän', sep=';')

      Ammattikoodari

    • Anonyymi

      Voit tehdä sen scriptinä.

      Ensin.
      set xmlhttp = createobject("msxml2.xmlhttp")
      Ja Sitten.
      xmlhttp.open (osoite)
      xmlhttp.onreadystatechange (aliohjelma)
      xmlhttp.send
      Ja odotella että data saapuu aliohjelmaan.

      Tätä xmlhttp:tä nykyajan modernit internetsivut käyttävät intensiivisesti siirtäen sivujen prosessointi vastuun vastaanottajalle ja ladaten sivut täyteen mainoksia.

      https://devblogs.microsoft.com/scripting/how-can-i-tell-whether-a-web-page-is-accessible/

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

    Luetuimmat keskustelut

    1. IL - PerSut tykittää - Vaaralliset tappajat vankilaan jopa loppuelämäksi!!

      Entistä rajumpi elinkautinen tulee – Vaaralliset tappajat vankilaan jopa loppuelämäksi Henkirikosten uusijat voidaan ja
      Maailman menoa
      30
      13871
    2. Päivi Räsänen vs. Abbas Bahmanpour

      (Bahmanpour on imaami Helsingissä) Syyttäjä siis jahtaa edelleen Räsästä tämän H-puheista, joissa hän on ilmeisesti vaa
      Maailman menoa
      154
      5461
    3. Demokratian uhka: Perussuomalaiset ja polarisoiva "me ja muut" -ajattelu

      Laurence Rees varoittaa, kuinka demokratian heikkeneminen ja autoritaaristen liikkeiden nousu voidaan liittää "me ja muu
      Maailman menoa
      200
      5089
    4. SIELTÄ SE TULI: Kepu-Kurvinen: "Emme enää lähde punavihreään hallitukseen"

      Nyt muuten nauretaan loppuviikko, että tähänkö kaatui Lindtmanin pääministerihaaveet. "Antti Kurvisen mukaan puolue ei
      Maailman menoa
      86
      4255
    5. "Rauhanomainen" miekkari hesassa: "Eläköön aseellinen vastarinta" - lakana

      Kyseessä on Suomen Palestiinalaisten yhdistyksen viime perjantaina järjestämä ”Hiljainen kynttiläkulkue Palestiinalaiste
      Maailman menoa
      87
      3551
    6. Palkansaajan oikeus nauttia työuransa hedelmistä

      Työeläkejärjestelmä on verrattavissa pyramidihuijaukseen, jossa alemmat tasot, eli nykyiset palkansaajat, toimivat maksa
      Maailman menoa
      109
      3058
    7. HS - Sanna Marinin kirja on priimaluokan vedätys!

      Kirja-arvio|Toivo on tekoja tulisi ensisijaisesti nähdä maineen rahallisen hyödyntämisen voimaannuttavana merkkipaaluna.
      Maailman menoa
      14
      2919
    8. Vanhat miehet eivät muista

      Niinistö muistaa vain Marinin hölmistyneen ilmeen, mutta ei miksi möllötti sen näköisenä. Vanhanen taas ei muuten vaan
      Maailman menoa
      12
      2591
    9. Monella äärivasemmistolaisella C-paperit armeijasta

      Kuinka kävisi sodan tullen noille? Puolustusvoimat huomauttaa, että C-luokituksen saaneiden sijoittumisesta sodan aikan
      Maailman menoa
      39
      2507
    10. Äärioikeistopurran nukke Petteri Lapanen paniikissa

      Kun Suomen historian paras pääministeri antoi vankan lausunnon, kuinka "keskustelu politiikassa on käpertynyt lähinnä va
      Maailman menoa
      6
      2189
    Aihe