[Frage] Stats automatisch aktualisieren?

07/07/2013 02:17 lnqlorlouz#1
Hallo ElitePvP'ler.

Bin ziemlich neu hier & weiß nicht ob das richtig ist hier...

Also, ich möchte von der Seite: [Only registered and activated users can see links. Click Here To Register...]

Meine Stats ablesen und automatisch auf meine Seite übertragen. Sowie diese Seite hier: [Only registered and activated users can see links. Click Here To Register...]

Wie mache ich das? Hat vielleicht einer schon solch einen Code, den ich dann nur noch ändern müsste? Oder Tipps etc.

Ich möchte eine Memberliste auf meiner Homepage machen, dort soll es dann das Level und die Kills/Deaths & die KD automatisch updaten.

Hier ein Bild, da man sich auf der WarRock-Homepage anmelden muss, um das zu sehen:
[Only registered and activated users can see links. Click Here To Register...]

Diesen Code habe ich in nem anderen Forum mal bekommen, kann damit aber recht wenig anfangen:
PHP Code:
function doCurl($strUrl$arrPost = array()) {
            
$ch curl_init();
            
curl_setopt ($chCURLOPT_URL$strUrl);
            
curl_setopt ($chCURLOPT_COOKIEJAR"cookies.txt");
            
curl_setopt ($chCURLOPT_COOKIEFILE"cookies.txt");
            
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
            
curl_setopt ($chCURLOPT_FOLLOWLOCATION1);
            
            
curl_setopt ($chCURLOPT_USERAGENT"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:24.0) Gecko/20100101 Firefox/24.0");
            
            
// Post Fields
            
if (false === empty($arrPost)) {
            
                foreach (
$arrPost as $strField => $strValue) {
                    
$arrPost[$strField] = urlencode($strValue);
                }
            
                
curl_setopt($ch,CURLOPT_POSTcount($arrPost));
                
curl_setopt($ch,CURLOPT_POSTFIELDShttp_build_query($arrPost));
                
            }
            

            
$result curl_exec ($ch);
            
curl_close($ch);
            return 
$result;
        }

// Mit diesem Aufruf bekommst du das komplette HTML
$html doCurl("http://warrock-stats.com/");

// Daraus wollen wir die Statistik herausoperieren
// Dazu lesen wir das ganze html in ein DOMDocument von PHP (weils schneller und einfacher ist, als preg_match)

$doc = new DOMDocument();
@
$doc->loadHTML(utf8_decode($html));

$statistics = array(); // Hier kommen die Statistiken rein

$index 0;
foreach (
$doc->getElementsByTagName("div") as $div) {
    
    if (
true === $div->hasAttribute("class") && "wrs_statistic" === $div->getAttribute("class")) {
        
$stat $div->lastChild->textContent;
        
        switch (
$index) {
            
// Players
            
case 0
                
$statistics['players'] = $stat;
                break;
            case 
1:
                
$statistics['clans'] = $stat;
                break;
            case 
2:
                
$statistics['kills'] = $stat;
                break;
            case 
3:
                
$statistics['deaths'] = $stat;
                break;
            case 
4:
                
$statistics['kd'] = $stat;
                break;
        }
        ++
$index;
    }
}

// Daten in eine Textdatei schreiben
file_put_contents("stats.txt"serialize($statistics));

// Daten wieder auslesen
$gespeicherteStatistik unserialize(file_get_contents("stats.txt")); 
Grüße!
07/07/2013 13:46 InstantBlood#2
Google ist dein Freund: [Only registered and activated users can see links. Click Here To Register...]
07/08/2013 12:43 lnqlorlouz#3
Und wie mache ich des, wenn ich mich in eine Seite zuerst einloggen muss, um die Stats einzusehen? Und wo und wie trage ich dann die Zeile ein, die das Level anzeigen lesen soll?
07/08/2013 15:48 KoKsPfLaNzE#4
das kommt ganz auf die page drauf an, zum einen kannst deine eigene session immer mit senden, oder du musst dich auf der page einloggen via curl, wenns unterstuetzsein sollte. aber vielleicht bietet die page och eine api und das ganze wär schnell gelöst