Data van een site halen, en gebruiken in een programma

Pagina: 1
Acties:
  • 3.723 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • MatthiasH
  • Registratie: Juni 2010
  • Laatst online: 25-08 23:41
Beste mede-Tweakers,

Ik zou een programmatje willen maken die data van een site haalt, en zo weergeeft op mijn formulier, en dan om de 2 minuten ververst. Eigenlijk wil ik de beursgegevens de verwerken van bijvoorbeeld deze http://uk.finance.yahoo.com/q?s=INTC site. Is dit mogelijk?

Mvg Matthias

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Ja.

Was dat je hele vraag? Want veel meer kunnen we niet bepaald zeggen zonder verdere informatie over de technieken waarmee je werkt.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • MsG
  • Registratie: November 2007
  • Laatst online: 10:22

MsG

Forumzwerver

Je kan het beste de Yahoo Finance Api gebruiken lijkt me, in plaats van domweg de hele website inladen.

Misschien kan je hier wat mee:

http://www.gummy-stuff.org/Yahoo-data.htm
http://www.yqlblog.net/bl...yql-and-open-data-tables/

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Mogelijk : Ja.
Legaal : Grote vraag (afhankelijk van of zij het toestaan).

In principe als je het echt wilt doen dan moet je hun gewoon benaderen en vragen of ze een API hebben om die gegevens te verkrijgen.
Gewoon maar blind gaan screenscrapen is de juiste manier om snel problemen te krijgen...

Acties:
  • 0 Henk 'm!

  • MatthiasH
  • Registratie: Juni 2010
  • Laatst online: 25-08 23:41
Bedankt voor de snelle reacties! Ik contacteer dus gewoon Yahoo, om te vragen of dit toegestaan is, en zo ja, wat dan?
Oja, sorry, domweg vergeten te vertellen!
Ik gebruik Visual Studio 2008
Alvast bedankt

Acties:
  • 0 Henk 'm!

Verwijderd

Loopt Yahoo niet altijd 15 min. achter?
http://www.google.com/finance is wel realtime.

Ik ben zelf ook naar zoiets op zoek (maar dan voor google finance), ik hoop dat je een oplossing vind :)

Acties:
  • 0 Henk 'm!

  • MatthiasH
  • Registratie: Juni 2010
  • Laatst online: 25-08 23:41
Maakt mij niet uit of het van Google of van Yahoo komt, ik wil een programmatje maken, en dan weergeven op mijn lcdschermpje van mijn Logitech G15.

Acties:
  • 0 Henk 'm!

Verwijderd

Misschien moet je gewoon eerst leren programmeren totdat je ervaring hebt zodat je dit soort dingen niet meer hoeft te vragen. Zoals altijd is het probleem dat je iets wilt dat je nog lang niet kunt. Even lekker 6 stappen overslaan. Zo werkt het niet.

Acties:
  • 0 Henk 'm!

  • _trickster_
  • Registratie: Mei 2005
  • Laatst online: 10-09 21:16
De eerste hit op google onder zoekterm "google finance api"
http://code.google.com/intl/nl/apis/finance/
Lijkt mij vrij te gebruiken.

Acties:
  • 0 Henk 'm!

  • MatthiasH
  • Registratie: Juni 2010
  • Laatst online: 25-08 23:41
Ik ga niet zeggen dat ik een professioneel programmeur ben, maar ik heb nu toch al een deftige basiskennis van VS08 + ik heb 3 uur les in de week, dus ik schaaf me altijd bij. Het gaat hier niet echt om het programmeren, ik dacht dat ik met VB kon oplossen.

Acties:
  • 0 Henk 'm!

  • Reptile209
  • Registratie: Juni 2001
  • Laatst online: 13:25

Reptile209

- gers -

Even een wat opbouwendere reactie. Je kunt verschillende dingen doen om data van een (web)server af te halen:
- als ze een API aanbieden, kan je meestal door hele gerichte opdrachten te versturen de data die je wil hebben in een makkelijk verwerkbaar formaat terugkrijgen. Sites als Facebook, diverse Google-onderdelen en nog veel meer hebben publieke API's voor hun functionaliteit. Er zijn ook vast beurs-pagina's die dat hebben.
- een alternatief is een RSS-stream. Die is misschien wat minder makkelijk in het gewenste format te krijgen, maar de XML die je vaak krijgt, is in de meeste programmeeromgevingen prima te verwerken.
- meest botte methode is om je programma te laten doen alsof het een browser is en de site binnen te halen. Vervolgens moet je dan zelf in de HTML gaan zoeken naar de data die je nodig hebt. Als ze de layout van de site veranderen, is het meestal terug naar af voor dit soort programma's.

Alledrie de opties - voor zover aangeboden door de site van je keuze - zijn prima in iedere programmeeromgeving te realiseren. Het vergt wel enige kennis van bijvoorbeeld netwerkverkeer, XML, enz., maar dat hebben we allemaal een keer moeten leren.

Succes :).

Zo scherp als een voetbal!


Acties:
  • 0 Henk 'm!

  • MatthiasH
  • Registratie: Juni 2010
  • Laatst online: 25-08 23:41
Bedankt! :)
Ik zal eens kijken hoe ik die API van Google Finance kan regelen, bedankt van de tips allemaal!

Acties:
  • 0 Henk 'm!

Verwijderd

Reptile209 schreef op zaterdag 29 januari 2011 @ 19:39:
Even een wat opbouwendere reactie. Je kunt verschillende dingen doen om data van een (web)server af te halen:
- als ze een API aanbieden, kan je meestal door hele gerichte opdrachten te versturen de data die je wil hebben in een makkelijk verwerkbaar formaat terugkrijgen. Sites als Facebook, diverse Google-onderdelen en nog veel meer hebben publieke API's voor hun functionaliteit. Er zijn ook vast beurs-pagina's die dat hebben.
- een alternatief is een RSS-stream. Die is misschien wat minder makkelijk in het gewenste format te krijgen, maar de XML die je vaak krijgt, is in de meeste programmeeromgevingen prima te verwerken.
- meest botte methode is om je programma te laten doen alsof het een browser is en de site binnen te halen. Vervolgens moet je dan zelf in de HTML gaan zoeken naar de data die je nodig hebt. Als ze de layout van de site veranderen, is het meestal terug naar af voor dit soort programma's.

Alledrie de opties - voor zover aangeboden door de site van je keuze - zijn prima in iedere programmeeromgeving te realiseren. Het vergt wel enige kennis van bijvoorbeeld netwerkverkeer, XML, enz., maar dat hebben we allemaal een keer moeten leren.

Succes :).
Omdat ik ook graag realtime koersen van een site wilde halen en 0 ervaring heb met programmeren of iets, ben ik de 3e methode gaan proberen. In een paar uurtjes een python programmatje in elkaar gezet wat een realtime aandeelkoers pakt, een valutakoers pakt en het dan omrekent naar procentueel winst of verlies tov de aankoopprijs *O*
De output is nu wel in de CMD, dat is misschien niet zo mooi maar het werkt perfect :)
Als de layout van zo'n site aangepast wordt is het ook snel opgelost, je moet hem dan gewoon instrueren te zoeken naar de nieuwe juiste regel in de broncode van de site.

Conclusie: Met alleen wat nieuwsgierigheid en goed gebruik van Google is zoiets in een paar uurtjes in elkaar te zetten met 0 ervaring :)

Ik weet niet of dit moeilijker is in VB (ik maak op dat je daarin moet programmeren voor de G15?), maar gezien jij ook lessen volgt lijkt het me wel te doen, hoewel het misschien lastig zal zijn om het realtime te laten draaien.

De uiteindelijke sites die ik gebruik zijn http://data.cnbc.com/quotes/ATVI en http://www.oanda.com/currency/real-time-rates .

[ Voor 4% gewijzigd door Verwijderd op 30-01-2011 00:30 ]


Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 23-08 10:45
MatthiasH schreef op zaterdag 29 januari 2011 @ 19:25:
Het gaat hier niet echt om het programmeren, ik dacht dat ik met VB kon oplossen.
Uit deze zin blijkt duidelijk dat je nog een redelijke beginner bent in het programmeren. VB is namelijk een volwaardige programmeertaal, en heeft dus alles met programmeren te maken. Wat ik je wil aanraden(en ik denk dat ik daarmee ook voor de anderen spreek) is om alle tijd te nemen om dit programma te maken. Neem de tijd om uit te zoeken uit welke onderdelen/technieken je programma nodig heeft, en krijg ze eerst een voor een met een boek of wat tutorials op internet goed onder de knie, voordat je je uiteindelijke programma maakt. Dat bewaart je voor een hoop geklooi/gescheld/etc., als je alles in een keer gemaakt hebt en geen flauw idee hebt waar de fout zit. Daarnaast heb ik de ervaring dat veel beginnende programmeurs niet weten hoe ze moeten debuggen. Doe jezelf een plezier en lees jezelf in op dat gebied.

Succes ermee in ieder geval!
Verwijderd schreef op zondag 30 januari 2011 @ 00:27:
[...]

Conclusie: Met alleen wat nieuwsgierigheid en goed gebruik van Google is zoiets in een paar uurtjes in elkaar te zetten met 0 ervaring :)
Kijk uit met dit soort uitspraken! Ten eerste is het voor iedereen anders, net zoals bij auto rijden. Sommigen kunnen na 10 lessen al op rijexamen, anderen hebben meer dan 60 lessen nodig. Ten tweede: er is een verschil tussen kunnen programmeren, en wat codes van google copy-pasten en daarmee een scriptje bakken.

Over de progammeertalen: Python en VB.Net zijn beiden "makkelijke" talen om mee te beginnen. Waarom ik het woord makkelijk tussen aanhalingstekens zet? Omdat het uiteindelijk niet veel uitmaakt in welke taal je begint. Het gaat erom dat je jezelf een manier van denken aanleert, en goede gebruiken aanleert. Waarom ik deze talen dan wel "makkelijk" noem? Omdat ze veel voor beginners onbelangrijke taken uit handen nemen. Als je verder wilt gaan met programmeren: regel een boek en/of neem een cursus. Dan weet je zeker dat je op de juiste manier leert programmeren en zal een overstap op een tweede/derde/viede taal later ook minder problemen opleveren.

Acties:
  • 0 Henk 'm!

Verwijderd

gerrymeistah schreef op zondag 30 januari 2011 @ 01:24:

[...]

Kijk uit met dit soort uitspraken! Ten eerste is het voor iedereen anders, net zoals bij auto rijden. Sommigen kunnen na 10 lessen al op rijexamen, anderen hebben meer dan 60 lessen nodig. Ten tweede: er is een verschil tussen kunnen programmeren, en wat codes van google copy-pasten en daarmee een scriptje bakken.

Over de progammeertalen: Python en VB.Net zijn beiden "makkelijke" talen om mee te beginnen. Waarom ik het woord makkelijk tussen aanhalingstekens zet? Omdat het uiteindelijk niet veel uitmaakt in welke taal je begint. Het gaat erom dat je jezelf een manier van denken aanleert, en goede gebruiken aanleert. Waarom ik deze talen dan wel "makkelijk" noem? Omdat ze veel voor beginners onbelangrijke taken uit handen nemen. Als je verder wilt gaan met programmeren: regel een boek en/of neem een cursus. Dan weet je zeker dat je op de juiste manier leert programmeren en zal een overstap op een tweede/derde/viede taal later ook minder problemen opleveren.
Natuurlijk, ik kan nu nog steeds nauwelijks iets programmeren, dat klopt helemaal. Ik bedoelde meer dat als je 1 specifiek programmatje zoals deze wilt maken, je door goed gebruik van google dat vrij snel kan regelen. Je leert daar denk ik niet echt programmeren van omdat je alleen een paar basisfuncties leert en het idee erachter nog niet echt snapt, maar dat bedoelde ik ook niet :)
Wat "m.group(1)" "return" en "re.sub" doen zou ik dan ook echt niet weten, maar het werkt wel ;)
Je hebt natuurlijk volkomen gelijk dat als je meer zou willen programmeren, je vooral een cursus moet nemen/boek moet lezen, maar als je een keer per jaar een simpel programmatje wil schrijven is dat naar mijn mening een beetje zonde van je tijd.

Hoe het bij mij ging: ik liep al snel tegen deze link aan http://www.goldb.org/pythonwebscraping.html maar omdat ik het gebruik van Python nog niet helemaal snapte ben ik maar even op youtube gaan kijken en daar kwam ik een lange reeks van "Python Programming Tutorials" van "thenewboston" tegen. Van die reeks de eerste 4 filmpjes gekeken, die hielpen al erg. Daarna had ik nog problemen met het veranderen van een string (opgelost via http://stackoverflow.com/...except-digits-from-string) en het werken met een apostrof in de parameter (de 1e reactie bij http://ubuntuforums.org/showthread.php?t=474580 bood meteen uitkomst).

[ Voor 26% gewijzigd door Verwijderd op 30-01-2011 01:59 ]


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op zondag 30 januari 2011 @ 00:27:
[...]
Omdat ik ook graag realtime koersen van een site wilde halen en 0 ervaring heb met programmeren of iets, ben ik de 3e methode gaan proberen.
Wees niet verbaast als het morgen oid niet meer werkt en je een ip-block op die site hebt.

Er is een reden dat hij als 3e genoemd werd (hoop ik tenminste), het is een last-resort en vanuit de beheerder van de website gezien ook de minst gewilde. De meeste website geven er dan ook gewoon ip-blocks op.

Acties:
  • 0 Henk 'm!

  • MatthiasH
  • Registratie: Juni 2010
  • Laatst online: 25-08 23:41
gerrymeistah schreef op zondag 30 januari 2011 @ 01:24:
[...]

Uit deze zin blijkt duidelijk dat je nog een redelijke beginner bent in het programmeren.
Hiermee bedoel ik dan gewoon dat het me niet draait rond 'hoe moet ik het programma maken', of "ik wil zo graag een programmaatje maken". Het draait me hier gewoon rond de uitkomst. Ik zou graag een programmaatje 'hebben' om zulke dingen op mijn LCDtje van mijn Logitec G15, en dus dacht ik dit dan te doen met mijn (beperkte) kennis van VB, en jullie hulp.

Acties:
  • 0 Henk 'm!

Verwijderd

Gomez12 schreef op zondag 30 januari 2011 @ 09:26:
[...]

Wees niet verbaast als het morgen oid niet meer werkt en je een ip-block op die site hebt.

Er is een reden dat hij als 3e genoemd werd (hoop ik tenminste), het is een last-resort en vanuit de beheerder van de website gezien ook de minst gewilde. De meeste website geven er dan ook gewoon ip-blocks op.
Ik gebruik het misschien een paar keer per dag. Hoe zouden een paar requests per dag een ipblock opleveren? Het is niet zo dat het constant runt en update ofzo; ik run het 1 keer, het haalt 1 keer de data op en toont het.

[ Voor 9% gewijzigd door Verwijderd op 30-01-2011 12:35 ]


Acties:
  • 0 Henk 'm!

  • Gomez12
  • Registratie: Maart 2001
  • Laatst online: 17-10-2023
Verwijderd schreef op zondag 30 januari 2011 @ 12:33:
[...]


Ik gebruik het misschien een paar keer per dag. Hoe zouden een paar requests per dag een ipblock opleveren? Het is niet zo dat het constant runt en update ofzo; ik run het 1 keer, het haalt 1 keer de data op en toont het.
Je had het over realtime, dus ik dacht dat het iets vaker ging dan een paar keer per dag.

Als het gewoon een paar keer per dag is en daardoor equivalent aan gewoon een paar keer F5 drukken gedurende de dag dan wordt het zeer waarschijnlijk niet opgemerkt.
Hangt nog een beetje af van de headers die je meestuurt etc. Een onbekende browser die geen ads (/plaatjes) bekijkt zou wel weer kunnen opvallen.

Acties:
  • 0 Henk 'm!

  • Gimmeabrake
  • Registratie: December 2008
  • Laatst online: 23-08 10:45
MatthiasH schreef op zondag 30 januari 2011 @ 10:07:
[...]


Hiermee bedoel ik dan gewoon dat het me niet draait rond 'hoe moet ik het programma maken', of "ik wil zo graag een programmaatje maken". Het draait me hier gewoon rond de uitkomst. Ik zou graag een programmaatje 'hebben' om zulke dingen op mijn LCDtje van mijn Logitec G15, en dus dacht ik dit dan te doen met mijn (beperkte) kennis van VB, en jullie hulp.
En wat wil je nou? Dat wij het wel even voor je maken? Als je het toch zelf wilt doen: wat jij wilt is mijns inziens helemaal niet zo makkelijk voor een beginnend programmeur. Als je tools wilt maken moet je accepteren dat daar tijd in gaat zitten. Iedereen die goed kan programmeren heeft daar jarenlang zo ongeveer dagelijks tijd in geinvesteerd.

Welke opties hebben de mensen hier op het forum nou om jou te helpen, als je niet echt geinteresseerd bent in het leren van programmeren? We zijn hier geen maak-dit-eens-even-voor-mij-helpdesk ;)

Acties:
  • 0 Henk 'm!

  • ralpje
  • Registratie: November 2003
  • Laatst online: 10:53

ralpje

Deugpopje

gerrymeistah schreef op zondag 30 januari 2011 @ 13:17:
[...]

En wat wil je nou? Dat wij het wel even voor je maken? Als je het toch zelf wilt doen: wat jij wilt is mijns inziens helemaal niet zo makkelijk voor een beginnend programmeur. Als je tools wilt maken moet je accepteren dat daar tijd in gaat zitten. Iedereen die goed kan programmeren heeft daar jarenlang zo ongeveer dagelijks tijd in geinvesteerd.

Welke opties hebben de mensen hier op het forum nou om jou te helpen, als je niet echt geinteresseerd bent in het leren van programmeren? We zijn hier geen maak-dit-eens-even-voor-mij-helpdesk ;)
Wat zit je nou te stoken? Zo onduidelijk is z'n vraag toch niet?
Hij vraagt niet om hulp bij het programmeren, hij wil het helemaal zelf gaan doen. Z'n enige vraag is: waar haal ik de data vandaan. Dat heeft _niets_ met het programmeren an-sich te maken.

Freelance (Microsoft) Cloud Consultant & Microsoft Certified Trainer


Acties:
  • 0 Henk 'm!

  • MueR
  • Registratie: Januari 2004
  • Laatst online: 11:55

MueR

Admin Tweakers Discord

is niet lief

ralpje schreef op zondag 30 januari 2011 @ 13:22:
Hij vraagt niet om hulp bij het programmeren, hij wil het helemaal zelf gaan doen. Z'n enige vraag is: waar haal ik de data vandaan. Dat heeft _niets_ met het programmeren an-sich te maken.
Juist. En daarom ga ik het topic sluiten voordat het nog verder door gaat als discussie over of het nu wel of geen scriptrequest is. De vraag van TS is beantwoord, verdere discussie lijkt me zinloos.

MatthiasH: Let volgende wel even op de punten uit de Quickstart, plus Waar hoort mijn topic?, dan voorkom je een hele discussie zoals deze.

Anyone who gets in between me and my morning coffee should be insecure.

Pagina: 1

Dit topic is gesloten.