2011-02-11 1 views
3

Je cherche comment obtenir la présence d'un membre Xbox Live (c'est-à-dire pas en ligne, en ligne en train de jouer _). La seule façon est d'être connecté à Xbox.com, de visiter la page du joueur, et de récupérer du texte d'un div. On voit ici http://live.xbox.com:80/en-US/MyXbox/Profile?gamertag=examplescraping activité actuelle des membres Xbox Live

<div id="CurrentActivity"> 
    Call of Duty Black Ops - In Combat Training on Summit 
</div> 

Est-il possible de se connecter à http://xbox.com avec un script ou autre trouver l'état actuel d'un joueur?

EDIT: Voici mon projet Xbox Messenger/Status

+0

Vérifiez si XBOX a une API, vous pouvez généralement obtenir les données de cette façon! –

+0

XBOX possède une API, mais il est difficile d'y accéder et l'API ne lui donne pas les données qu'il recherche. il ne vous donne même pas vos réalisations: \ –

Répondre

3

Vous utilisez la cabine curl en PHP. Vous devrez stocker les cookies et réutiliser votre fichier cookie avec les demandes suivantes.

Une autre option de script consiste à utiliser mechanize. Il n'y a pas de bibliothèque PHP que j'ai vérifiée, mais il y en a une pour Python, Perl et Ruby.

+0

Cela ne fonctionne pas, vous devez utiliser une méthode qui peut utiliser JS que les formulaires de connexion de MS l'exige. Vous pouvez voler votre cookie RPSAuth à partir de votre navigateur et l'utiliser, mais ce n'est qu'une mauvaise méthode de piratage de session qui vous permettra de rester connecté jusqu'à 12 heures après quoi vous aurez besoin d'un nouveau cookie. –

0

Vous pouvez enregistrer un robot à l'aide d'un grattoir Web IRobotSoft si vous avez simplement besoin d'une solution simple.

0

C'est un code que je viens de faire cela fonctionnera

$opentag='<div class="presence">'; 
$closetag='</div>'; 
$url=file_get_contents('http://live.xbox.com/en-US/Profile?gamertag=major%20nelson') 


$presence=explode($opentag, $url); 
$presence=explode($closetag, $presence[1]); 

echo trim($presence[0]);