Idee voor een nieuwe site: Billboard/charts achtig script nodig
Als idee voor een nieuwe site ben ik op zoek naar een script dat een "chart" genereert, top 40 achtige lijsten maar dan in een oneindig lange reeks.
Eigenlijk is het vrij simpel: Elke entry krijgt een bepaalde waarde toegekend, op basis waarvan deze gerangschikt moeten worden (Een bepaald bestand is x keer gedownload, dat is de "waarde" waarop er moet worden gerangschikt), en eventueel worden deze charts (de entries ervan) getagd met Categorien zodat er ook binnen die Categorien kan worden ge-"chart".
Is er al een dergelijk script dat ik kan gebruiken? Ik ben een beginneling qua PHP maar weet genoeg om een bestaand script volledig aan te passen aan mijn benodigdheden.
Alvast bedankt,
Peter
Met een beetje kennis van PHP en een goede tutorial over Mysql kun je dit zelf fabriceren. Wanneer je vastloopt kun je hier op het forum zeker je probleem weerleggen
In de database wordt dat een tabel met liedjes; een apparte tabel met categorieën (-> 1 veld van het liedje refereert naar 1 categorie; of nog een koppeltabel als er meerdere categorieën mogen getagd worden)
Van waar komt je data? Heb je die liedjes zelf, of wil je die informatie "lenen" van elders?
Je zult wat moeten nadenken over de volgorde;
het is een combinatie van 'downloads per lied', 'categorie' en 'tijd' (ik veronderstel dat oude top-nummers niet eeuwig bovenaan moeten blijven ...)
Peter van der Wiel op 28/02/2013 19:28:00:
Is er al een dergelijk script dat ik kan gebruiken? Ik ben een beginneling qua PHP maar weet genoeg om een bestaand script volledig aan te passen aan mijn benodigdheden.
Ik zal iedereen altijd aanraden om omgekeerd te werk te gaan.
Je zal nooit de valstrikken leren kennen als je je php-kennis niet bottom up leert.
Gewijzigd op 01/03/2013 10:33:53 door Kris Peeters
Op dit moment ben ik aan het kijken of en hoe ik YouTube kan scrapen. Ik probeer vooralsnog alleen de views en de titel te scrapen, als volgt:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$content = file_get_contents('http://www.youtube.com/watch?v=nKIu9yen5nc');
preg_match('#<span id="eow-title" class="watch-title yt-uix-expander-head" dir="ltr" title="(.*?)">#', $content, $match);
$title = $match[1];
preg_match('#<span class="watch-view-count">(.*?)</span><div class="video-extras-sparkbars">#', $content, $match);
$views = $match[1];
echo "Views: $views - Title: $title\n";
?>
$content = file_get_contents('http://www.youtube.com/watch?v=nKIu9yen5nc');
preg_match('#<span id="eow-title" class="watch-title yt-uix-expander-head" dir="ltr" title="(.*?)">#', $content, $match);
$title = $match[1];
preg_match('#<span class="watch-view-count">(.*?)</span><div class="video-extras-sparkbars">#', $content, $match);
$views = $match[1];
echo "Views: $views - Title: $title\n";
?>
Ik heb dit stukje code getest. Alleen de Titel verschijnt, de Views krijg ik nog niet ge-echoed. Heeft iemand een tip? Ik heb de Simple HTML DOM Parser gedownload, maar kwam met die alternatieve manier van scrapen nog niet verder, aangezien het stukje data dat ik nodig heb niet onderdeel uitmaakt van een <tag>.
Gewijzigd op 03/03/2013 01:06:59 door Peter van der Wiel