Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

URL inlezen...en opslaan in de database.

Annie
4 antwoorden
  • Dag allen…
    Met enkele vrienden willen we een eigen "pool" systeem opzetten, namelijk dat geregistreerde gebruikers (MySQL DB :)) vóór de wedstrijd een uitslag invullen voor een geselecteerde wedstrijd…en ná de wedstrijd wordt vervolgens gekeken of het klopt , ja of nee.
    Hierbij willen we gebruik maken van MySQL. De dynamische gegevens halen we in "in bestand" op bij nos.teletekst:
    [php]
    //URL openen
    $fd= fread(fopen("http://teletekst.nos.nl/cgi-bin/tt/nos/page/t/686-1",

    "r"), 100000);
    if ($fd)
    {
    $start= strpos($fd, "waar het moet beginnen….(in de broncode)"); //start
    $finish= strpos($fd, "tot aan….(in de broncode)"); //finish
    $length= $finish-$start; //gedeelte dat ik moet hebben…
    $code=Substr($fd, $start, $length);
    echo $code;
    }[/php]
    Maar de rest begint een beetje moeilijk te worden….Hoe kunnen we ervoor zorgen dat de (via teletext) binnengehaalde gegevens opgeslagen worden in de DB? Hiervoor heb ik gelezen dat ik de eventueel de functie "file()" kan gebruiken :?
    De integers vanuit NOS moeten ook daadwerkelijk als integers opgeslagen worden in de DB…zodat het vergelijkbaar is met de voorspellingen van de gebruikers…De gespeelde wedstrijden per gebruiker, aantal, bla bla…Deze functionaliteiten zijn makkelijk denk ik. Als ik eenmaal weet hoe ik, vanuit teletext, info in de database kan deponeren…
    Of moet ik niet zo moeilijk denken :roll:

    Alvast bedankt…
  • Je zal het resultaat van de teletekstpagina zelf moeten "opknippen" in de losse onderdelen (tekst en uitslag) waarbij je de eventuele HTML wegfiltert. En daarna kan je deze waarden via INSERT statements in de database zetten.
    Hiervoor is dus geen standaard functionaliteit. Let er op dat op het moment dat teletekst zijn layout wijzigt jouw parse-script niet meer het juiste resultaat kan geven (afhankelijk van je script en de wijziging natuurlijk).
  • Wat ik niet snap is hoe ik gegevens vanuit teletext in de DB stop..ik kan per regel (na elke "<br>") een substring vormen en daaruit weer substring…en daaruit weer substring om een uitslag in te voeren in de DB, maar kan het niet sneller en efficienter?
    Anders krijg ik heel veel substring :)

    Het filtreren van de gegevens vanuit de teletext is grotendeels het probleem..
  • Tja, wat is efficienter? Een script wat tientallen substrings uit moet voeren en daar een paar milliseconden over doet of zelf overtikken in phpMyAdmin?

    Of er "efficientere" of "elegantere" methoden zijn om de juiste gegevens te verkrijgen uit de teletekst data is afhankelijk van de vorm die de data heeft en het resultaat dat je er uiteindelijk mee wilt bereiken. Je zal dus eerst moeten kijken naar de teletekst data, kenmerkende eigenschappen daarvan noteren en daar evt. patronen in te ontdekken. Met deze gegevens kan je je script gaan samenstellen. En daarbij kan je inderdaad gebruikmaken van substrings, maar misschien is het ook mogelijk om de gegevens uit je analyse om te zetten naar (een aantal) regular expressions.

    Er is dus geen InsertTeletekstIntoDatabase() functie ;) je zal zelf de gewenste functionaliteit moeten definieren en omzetten naar code. En daarbij kan je gebruik maken van de string-functies van php en bovengenoemde regular expressions.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.