Skip to content

Grab information about profils such as : Profil's information, list of deviation from your wall, list of galleries, deviantions collection

Notifications You must be signed in to change notification settings

inwebo/My.DeviantArt-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voilà une class PHP5 utilisant l'extension DOM pour parser votre compte deviant
art et renvoyer toutes les infos nécessaires (avatar, id, gallerie, deviation).
Rien de bien compliqué mais cela rends bien des services.

Fonctionnement trés simple, je considère qu'une page retournée par deviantart
 est un arbre DOM, qu'il suffira de parser avec des requêtes Xpath pour en
extraire les informations que l'on souhaite. Plus précisément pour l'application
 chaque page ouaib est un objet DOMNode (c'est ce que font toutes les classes
dont le nom commence par dom). Nous pouvons donc requêter ces objets avec des
requêtes XPATH (toutes les classes commancant par deviant).

Chaque résultat de requête est stocké dans deux attributs de classes.

L'attribut NodeList est un objet ... NodeList. C'est cet objet que nous allons
itérer pour trouver toutes les déviations contenues dans le code HTML.

Un second attribut splObjectStorage est un objet splObjectStorage. Qui contient
l'ensemble des objets Deviation trouvés dans une gallerie. Le pourquoi du comment
d'un splObjectStorage plutôt qu'un array :

http://technosophos.com/content/set-objects-php-arrays-vs-splobjectstorage

Averaging this over multiple runs, SplObjectStorage executed both fill and check
 functions twice as fast as the array method presented above. We tried various
permutations of the tests above.

Finalement il suffira d'itérer notre splObjectStorage est d'appliquer un callback
sur chaque objet déviation pour l'afficher.

Il est bien sûr possible de configurer l'affichage en étandant la classe display.
Il y a un exemple un peu plus bas.

! Mise en garde !
J'ai lu la charte d'utilisation et cette classe n'as pas l'air de rentrer en
conflit avec, donc si des anglophones (avertis) pouvaient me confirmer.

Par contre vous DEVEZ utiliser cette class uniquement avec VOTRE COMPTE
deviantart, je n'ai pas écrit cette API dans l'idée de piller le travail des
autres. VOUS êtes responsable de ce que vous faites !

Protips, mettez en CACHE tout ce que vous allez récupèrer, les images et les
 pages HTML. Deviantart se réserve le droit de BANNIR des IP si ils considèrent
(à tort ou à raison) qu'il y a une utilisation frauduleuse du service.

Pour les curieux l'API est disponible sous forme d'archive phar (voir make.php).

N'oubliez pas la dernière version se trouve sur github :
https://github.com/inwebo/My.DeviantArtParser

About

Grab information about profils such as : Profil's information, list of deviation from your wall, list of galleries, deviantions collection

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages