Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Coding Releases
You last visited: Today at 20:42

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[API] Elitepvpers Profil API

Discussion on [API] Elitepvpers Profil API within the Coding Releases forum part of the Coders Den category.

Reply
 
Old   #1

 
~ JWonderpig ~'s Avatar
 
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
Arrow [API] Elitepvpers Profil API

Hallo,
kann sein, das es so eine API hier schon irgendwo gibt, aber dann ich habe sie nicht gefunden...

Mit der API erhaltet ihr eure Profildaten im JSON-Format und könnt diese dann einfach in euer Anwendung nutzen.

index.php
PHP Code:
   
    error_reporting
(0);

    include 
'classes/TBMAPI.php';
    
    if(isset(
$_GET['profile'])) {
        if(
$_GET['profile'] != "") {
                
$p $_GET['profile'];
            
                
$TBMAPI = new TBMAPI($p);
                
                
$DATA = array(
                    
'RegisterDate' => $TBMAPI->getRegDate(),
                    
'Posts'        => $TBMAPI->getPosts(),
                    
'BlogPosts'    => $TBMAPI->getBlogPosts(),
                    
'EliteGold'    => $TBMAPI->getGold(),
                    
'Positive'     => $TBMAPI->getPositiveTBM(),
                    
'Neutral'      => $TBMAPI->getNeutraleTBM(),
                    
'Negative'     => $TBMAPI->getNegativeTBM(),
                    
'Mediations'   => $TBMAPI->getMediations()
                );
                
                
$JSON json_encode($DATA);
                echo 
"<pre>";
                echo 
$JSON;
                echo 
"</pre>";
        }
    } 
TBMAPI.php
PHP Code:

/**
 * @author Caiv
 */
class TBMAPI {
    
    
/**
     * Profillink
     * @var String
     */
    
private $profile;
    
    
    
/**
     * Benötigte Durchläufe für Schleife
     * @var int
     */
    
private $profilelength;
    
    
/**
     * Anzahl der Mediations als String!!!
     * @var String
     */
    
private $mediations;
    
    
/**
     * Positive TBM
     * @var int
     */
    
private $positiveTBM;
    
    
/**
     * Neutrale TBM
     * @var int
     */
    
private $neutraleTBM;
    
    
/**
     * Negative TBM
     * @var int
     */
    
private $negativeTBM;
    
    
/**
     * Anzahl der Blogeintraege
     * @var int
     */
    
private $blog;
    
    
/**
     * Aktueller E*Gold Stand
     * @var int
     */
    
private $elitegold;
    
    
/**
     * Aktueller Beitraege Stand
     * @var String
     */
    
private $beitraege;
    
    
/**
     * Register Datum
     * @var int
     */
    
private $regdate;
    
    
/**
     * Konstruktor benötigt einen Profillink
     * @param String $p
     */
    
public function __construct($p) {
        
$this->profile $p;
        
$this->ParseHTML();
    }
    
    
/**
     * Gibt den Profillink zurück
     * @return String
     */
    
public function getProfile() {
        return 
$this->profile;
    }
    
    
/**
     * Gibt "Länge" des Profils zurück
     * @return int
     */
    
public function getProfilelength() {
        return 
$this->profilelength;
    }
    
    
/**
     * Gibt Positive TBm zurück
     * @return int
     */
    
public function getPositiveTBM() {
        return 
$this->positiveTBM;
    }
    
    
/**
     * Gibt Neutrale TBM zurück
     * @return int
     */
    
public function getNeutraleTBM() {
        return 
$this->neutraleTBM;
    }
    
    
/**
     * Gibt negative TBM zurück
     * @return int
     */
    
public function getNegativeTBM() {
        return 
$this->negativeTBM;
    }
    
    
/**
     * Gibt Mediations zurück
     * @return String
     */
    
public function getMediations() {
        return 
$this->mediations;
    }
    
    
/**
     * Gibt Posts zurück
     * @return String
     */
    
public function getPosts() {
        return 
$this->beitraege;
    }
    
    
/**
     * Gibt Blogeintraege zurück
     * @return int
     */
    
public function getBlogPosts() {
        return 
$this->blog;
    }
    
    
/**
     * Gibt Elitegold zurück
     * @return int
     */
    
public function getGold() {
        return 
$this->elitegold;
    }
    
    
/**
     * Gibt Register Datum zurück
     * @return String
     */
    
public function getRegDate() {
        return 
$this->regdate;
    }
    
    
/**
     * Parsing starten
     */
    
private function ParseHTML() {
        
$items $this->CreatNewXPath($this->CreatNewDOM());
        
$this->CountProfileRows($items);
        
$this->AssignValues($items);
        
$this->ConvertTBM($items);
    }
    
    
/**
     * Gibt HTML zurück
     * @return \DOMDocument
     */
    
private function CreatNewDOM() {
        
libxml_use_internal_errors(TRUE);
        
$dom = new DOMDocument;
        
$dom->loadHTMLFile($this->profile);
        
libxml_clear_errors();
        
        return 
$dom;
    }
    
    
/**
     * Bestimmten Bereich parsen
     * @param DOMDocument $d
     */
    
private function CreatNewXPath(DOMDocument $d) {
        
$xp = new DOMXPath($d);
        
$matches $xp->query('//dl[@class="smallfont list_no_decoration profilefield_list"]//dd');
        
        return 
$matches;
    }
    
    
/**
     * Benötigt die Ergebnisse des Parsings als Parameter
     * @param $items
     */
    
private function CountProfileRows($items) {
        for(
$i=0$i $items->length$i++) {
            
$this->profilelength++;
        }    
    }
    
    
/**
     * Anhand der Profillänge die Werte zuweisen
     */
    
private function AssignValues($items) {
        
$this->mediations $this->RemoveSpaces($items->item($this->profilelength-1)->nodeValue);
        
$this->elitegold  $this->RemoveSpaces($items->item($this->profilelength-3)->nodeValue);
        
$this->blog       $this->RemoveSpaces($items->item($this->profilelength-4)->nodeValue);
        
$this->beitraege  $this->RemoveSpaces($items->item($this->profilelength-5)->nodeValue);
        
$this->regdate    $this->RemoveSpaces($items->item($this->profilelength-6)->nodeValue);
    }
    
    
/**
     * String mit TBM's bearbeiten
     */
    
private function ConvertTBM($items) {
        
$string $items->item($this->profilelength-2)->nodeValue;
        
$TBM explode("/"$string);
        
$this->positiveTBM $TBM[0];
        
$this->neutraleTBM $TBM[1];
        
$this->negativeTBM $TBM[2];
    }
    
    
/**
     * Leerzeichen aus einem String entfernen
     * @return String
     */
    
private function RemoveSpaces($string) {
        return 
str_replace(" """$string);
    }
    

Beispiel:




Attached Files
File Type: zip TBMAPI.zip (1.9 KB, 5 views)
~ JWonderpig ~ is offline  
Old 04/09/2015, 00:44   #2
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
Wenn dein Server zu of auf Epvp connected wird er gesperrt.(nicht permanent)
Gut, nur habe ich dafür keinen verwendungszweck^^
YatoDev is offline  
Old 04/09/2015, 01:02   #3

 
~ JWonderpig ~'s Avatar
 
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
Quote:
Originally Posted by »FlutterShy™ View Post
Wenn dein Server zu of auf Epvp connected wird er gesperrt.(nicht permanent)
Gut, nur habe ich dafür keinen verwendungszweck^^
ok, werde mal gucken, ob ich dann einfach die Source veröffentliche.
Ist auch für Leute gedacht, die für ihre Website oder so ihr Stats haben wollen
~ JWonderpig ~ is offline  
Old 04/09/2015, 01:16   #4
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
das wäre nice. trotzdem sollte das nicht in echtzeit geupdatet werden falls man eine viel besuchte seite hat
YatoDev is offline  
Old 04/09/2015, 19:37   #5
 
Hurt Locker's Avatar
 
elite*gold: 171
Join Date: Nov 2012
Posts: 10,419
Received Thanks: 2,845
Quote:
Originally Posted by <(-,..,-)> View Post


F5 gedrückt gehalten und dein Server ist Blockiert.
Passiert das zu oft hast du ne dauerhafte Blockade, hatte ich mit meinem damaligen e*Gold Rechner auch.


Jemand will etwas teilen und andere machen es einfach sofort kaputt weil sie mit ihrem Leben nicht klar kommen oder wieso auch immer.
Hurt Locker is offline  
Old 04/09/2015, 19:39   #6
dotCom
 
Devsome's Avatar
 
elite*gold: 9842
The Black Market: 107/0/0
Join Date: Mar 2009
Posts: 16,845
Received Thanks: 4,675
Quote:
Originally Posted by Todbringer View Post
Bitte dich wenn du hier schon auf 1337 machst dann benutz wenigstens ein Script oder so dafür.
:c F5 reicht in diesem Fall, wieso ein mehraufwand machen ?
Devsome is offline  
Thanks
2 Users
Old 04/09/2015, 21:26   #7

 
~ JWonderpig ~'s Avatar
 
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
So, hab die Source mal veöffentlicht. Könnt euch ja selber ne Lösung dafür überlegen.
Evtl. Proxies oder so
~ JWonderpig ~ is offline  
Old 04/10/2015, 10:33   #8



 
Shawak's Avatar
 
elite*gold: 0
The Black Market: 259/0/0
Join Date: Apr 2010
Posts: 10,289
Received Thanks: 3,613
Proxies ist doch keine Lösung, das einzige sinnvolle ist es, die Profile im Cache zu speichern.
Shawak is offline  
Thanks
2 Users
Old 04/10/2015, 11:57   #9
 
MrDami123's Avatar
 
elite*gold: 56
Join Date: Oct 2010
Posts: 3,409
Received Thanks: 1,219
Oder in einer Datenbank.
MrDami123 is offline  
Old 04/10/2015, 11:59   #10

 
~ JWonderpig ~'s Avatar
 
elite*gold: 60
Join Date: Sep 2013
Posts: 1,427
Received Thanks: 248
Wie gesagt, könnt ihr euch überlegen

Quote:
Originally Posted by Shawak View Post
Proxies ist doch keine Lösung, das einzige sinnvolle ist es, die Profile im Cache zu speichern.
Danke für den Tipp, komme nicht oft in den Gebrauch von Proxies.
~ JWonderpig ~ is offline  
Old 06/14/2015, 23:40   #11

 
NoTeefy's Avatar
 
elite*gold: 173
Join Date: Jun 2014
Posts: 286
Received Thanks: 57
Wie sind denn da eigentlich die Raten? Habe dazu nirgendwo was gefunden. Sprich: Wie oft darf der Server eine Anfrage senden?


Freundliche Grüsse
NoTeefy is offline  
Old 06/15/2015, 13:06   #12
 
YatoDev's Avatar
 
elite*gold: 50
Join Date: Sep 2012
Posts: 3,841
Received Thanks: 1,462
teste es aus
YatoDev is offline  
Old 06/15/2015, 16:22   #13


 
Else's Avatar
 
elite*gold: 4
The Black Market: 166/0/0
Join Date: Feb 2008
Posts: 3,854
Received Thanks: 1,268
Quote:
Originally Posted by ˹№ɫᴇᴇբץ˼ View Post
Wie sind denn da eigentlich die Raten? Habe dazu nirgendwo was gefunden. Sprich: Wie oft darf der Server eine Anfrage senden?


Freundliche Grüsse
Mit einer Endlosschleife - ein mitzählen wäre angebracht, bis zum ungültigen Ergebnis.
Else is offline  
Old 06/15/2015, 16:38   #14



 
Serraniel's Avatar
 
elite*gold: 0
The Black Market: 205/1/0
Join Date: May 2010
Posts: 6,853
Received Thanks: 5,106
Austesten über Server würde ich nicht empfehlen. Da kann es passieren das die IP dauerhaft blockiert ist!
Serraniel is offline  
Old 06/15/2015, 16:52   #15
 
elite*gold: 25
Join Date: Sep 2011
Posts: 5,536
Received Thanks: 1,266
Quote:
Originally Posted by Else View Post
Mit einer Endlosschleife - ein mitzählen wäre angebracht, bis zum ungültigen Ergebnis.
Und wie berechnest du das ganze mit dem Burst etc?
Bspw. kann man bei Nginx die r/s Limitieren, und zusätzlich einen Burst angeben.
IchVerabschiedeMich is offline  
Reply

Tags
elitepvpers, php


Similar Threads Similar Threads
[Buying] Elitepvpers [Profil-Design]
01/02/2015 - elite*gold Trading - 3 Replies
Hallo, wie mein Titel schon sagt, suche ich jemanden, der mir ein Profil-Design] Erstellen kann, einfach bei Skype adden, oder hier eine Antwort schreiben. mfg
[S]Elitepvpers Profil Disign[B]...
02/28/2013 - elite*gold Trading - 4 Replies
Wie im Topic einfach bei skype adden oder per Pn schicken...
[B] Profil Design's für ElitePvpers [S] eGold
10/21/2011 - elite*gold Trading - 45 Replies
Guten Tag. Ich habe vor kurzen ein Profil Design erstellt und gemerkt das so was für mich nicht Schwer ist deshalb biete ich euch auch die Möglichkeit ein Profil Design zu erstellen. Preis pro Design: 80http://www.elitepvpers.com/images/tbm/gold.gif. TBM sollte stehts Dabei sein damit ich auch zurück geben kann. Ich Designe die Profil Designs Perfekt ausgerichtet für euren Profil sprich bei Namen Änderung müsst ihr ein neuen Profil Design besorgen weil ich noch ein Glanz / Glow Effekt...
[B]Elitepvpers Profil Design [**TOP**]
05/22/2011 - elite*gold Trading - 20 Replies
Hallo, ich biete hier ein Elitepvpers Profil Design an ! Vorschau:Klick mich :) Bietet mir einfach was :>



All times are GMT +1. The time now is 20:43.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.