re: tenegri
Igen, leirom akkor konkretan mirol van szo.
Ray Allen honlapjat csinalom, egy kosaras csavo, es a honlapon vannak statisztikak az elmult meccsekrol, illetve a kovetkezokrol idopont.
Ehhez tobbek kozott vagy rendes api-val rendelkezo szolgaltatasra fizet elo az ember, vagy html-bol kaparja le az infot. A terv az hogy 2-3 oldalrol szedem le az adatokat, es igy elkerulheto az hogyha valtozik a html struktura akkor osszeomlik a rendszer.
Talaltam egy eleg korrekt helyet ehhez:
http://www.prosportsdaily.com/nba/celtics/
kibogarasztam egy js-re mutato hivatkozast is:
http://prosportsdaily.sportsdirectinc.com/brick/nba/team/schedule/preview?teamId=404169
A terv az hogy ezt hasznalom + ehhez hozzafuzok egy sajat js fuggvenyt, amivel kiiratom amit en akarok, majd ezt valahogy egy xml-be akarom rendezni hogy szepen meglegyen, es a flash-nek ne kelljen sokat bajlodnia az elemzessel.
A php, ami azt csinalja, hogy beolvassa a fenti linkrol a js-t, kikommentezi az utolso sorat (mert az kiirna valamit ami nekem nem kell), hozzafuzi az en js fv-emet, es meghivja:
<?php
$url = "http://prosportsdaily.sportsdirectinc.com/brick/nba/team/schedule/preview?teamId=404169";
$js = file_get_contents($url);
$myJS = 'function displayAllGames(domain, league, teamId)
{
var lastGame;
var currentGame;
var scheduledTeamGames = new Array(); //array to hold all games status other than "Complete"
var completeTeamGames = new Array(); //array to hold all games with "Complete" status
if (typeof sdi_schedule != "undefined" && sdi_schedule != null && sdi_schedule.games.length > 0) {
for (var i=0; i < sdi_schedule.games.length; i++) {
if ((sdi_schedule.games[i].awayTeamId == teamId) || (sdi_schedule.games[i].homeTeamId == teamId)) {
if (sdi_schedule.games[i].gameStatus == "Complete")
completeTeamGames[completeTeamGames.length] = sdi_schedule.games[i];
else
scheduledTeamGames[scheduledTeamGames.length] = sdi_schedule.games[i];
}
}
}
//sort the complete/scheduled game arrays by game date
completeTeamGames.sort(sortGamesByDateAscending);
scheduledTeamGames.sort(sortGamesByDateAscending);
for(i = 0; i < completeTeamGames.length; i++) {
__game = completeTeamGames[i];
document.writeln( __game.gameDate + " " + __game.awayTeamDisplayName + " vs " + __game.homeTeamDisplayName + " " + __game.awayTeamScore + " : " + __game.homeTeamScore + "");
}
document.writeln("SCHEDULE");
for(i = 0; i < scheduledTeamGames.length; i++) {
__game = scheduledTeamGames[i];
document.writeln( __game.gameDate + " " + __game.awayTeamDisplayName + " vs " + __game.homeTeamDisplayName + "");
}
}
displayAllGames("prosportsdaily.sportsdirectinc.com","nba","404169",null);';
$js = str_replace('displaySchedulePreview("prosportsdaily.sportsdirectinc.com","nba","404169",null);', '//displaySchedulePreview("prosportsdaily.sportsdirectinc.com","nba","404169",null);', $js);
echo '<script type="text/javascript">' . $js . "\n" . $myJS . '</script>'
?>
Ha ezt onmagaban megnyitom localhoston (vagy szerveren mindegy) akkor szepen kiirja, amit akarok.
A 2.php, ami ezt beolvassa:
<?php
$url = "http://localhost/RayAllenStats/display.php";
$file = file($url);
foreach ($file as $line_num => $line) {
echo $line;
}
?>
Es igy hogy localhost-al adtam meg az url-t mar jo is, szoval nagyon koszi!
Mas kerdes hogy nem orulok hogy abszolut url-t kell megadni, mert igy ha elmozdul az oldal akkor at kell irni...de legyen ez a legnagyobb gondom:)
A terv az, hogy a 2.php fogja szepen xml-be formazva beirni az adatokat, es lesz egy idokoz, mondjuk nehany ora, vagy akar minden alkalommal ( ? ), ami ha eltelt az utolso frissites ota, akkor megint frissiti az xml-t. Ugy gondolom hogy nem kellene minden latogataskor frissiteni, foleg ha nem 1 forrasbol, hanem tobbbol dolgozik a php akkor folosleges..es ezek olyan adatok amik 1-2 naponta valtoznak.
Ha barmi javaslatod van, szivesen veszem es koszonom!