N-PN White-Hat Project
[PHP] Twitter Analytics [JSON - SIMPLE] - Version imprimable

+- N-PN White-Hat Project (https://dev.n-pn.fr/forum)
+-- Forum : Programmation (https://dev.n-pn.fr/forum/forumdisplay.php?fid=72)
+--- Forum : Langages interprétés (https://dev.n-pn.fr/forum/forumdisplay.php?fid=27)
+--- Sujet : [PHP] Twitter Analytics [JSON - SIMPLE] (/showthread.php?tid=3016)



[PHP] Twitter Analytics [JSON - SIMPLE] - Mazaki - 20-05-2013

Hi tout le monde :]

Pour ce premier partage, j'ai décidé de vous partager un petit script PHP, que j'ai fait assez rapidement, étant donné que c'est un script extrêmement facile, qui permet de récupérer les abonnés, les abonnements et le nombre de tweets d'un compte Tweeter.

Code PHP :
<?php
// CONFIGURATION
$twitter_account "Mazaki_LS";

// TWITTER
$url "http://api.twitter.com/1/users/lookup.json?screen_name=".$twitter_account."";
$data json_decode(@file_get_contents($url), true);
$tweets $data[0]['statuses_count'];
$abonnes $data[0]['followers_count'];
$abonnements $data[0]['friends_count'];
?>


<title>Twitter Analytics</title>

Twitter: <b><?php echo $twitter_account?></b><br /><br />
<table style="overflow: hidden; border:solid 1px grey; border-radius:5px;" width="310" border="0">
<tr>
<td width="80"><div align="center"><b>Tweets</b></div></td>
<td width="80"><div align="center"><b>Abonnés</b></div></td>
<td width="80"><div align="center"><b>Abonnements</b></div></td>
</tr>
<tr>
<td><div align="center"><?php echo number_format($tweets0' '' '); ?></div></td>
<td><div align="center"><?php echo number_format($abonnes0' '' '); ?></div></td>
<td><div align="center"><?php echo number_format($abonnements0' '' '); ?></div></td>
</tr>
</table> 

Je reconnais que c'est un script très simple utilisant le lookup.json de Twitter, mais je pense que cela peut être très utile pour certaines choses Rolleyes

Au passage, j'ai fais le même pour Youtube & Facebook TongueTongue


RE: [PHP] Twitter Analytics [JSON - SIMPLE] - Trivial - 20-05-2013

Merci pour le partage Smile


RE: [PHP] Twitter Analytics [JSON - SIMPLE] - Polo - 20-05-2013

Merci pour le partage, c'est sympa ; bon le script ne fait rien d'extraordinaire, mais ça peut toujours être utile Wink


RE: [PHP] Twitter Analytics [JSON - SIMPLE] - Mazaki - 20-05-2013

Derien :]

@Polo, en effet, mais je trouvais ça sympa, et comme tu le dit, ça peut toujours être utile :p


RE: [PHP] Twitter Analytics [JSON - SIMPLE] - ThibauT - 21-05-2013

Merci du partage :]

J'avais 5minutes à perdre, donc j'lai refait en python (ouai bon ça va, j'avais rien d'autre à faire)

Code PYTHON :
#!/usr/bin/python
#-*- coding: utf-8 -*-

import json, urllib2

account = raw_input("Twitter account : ")

url_twitter = "http://api.twitter.com/1/users/lookup.json?screen_name=" + account

url = urllib2.build_opener()
url_open = url.open(url_twitter)
url_read = url_open.read()
data = json.loads(url_read)

tweets = data[0]["statuses_count"]
abonnes = data[0]['followers_count']
abonnements = data[0]['friends_count']

print "\r\n\r\nTwitter Analytics\r\n"
print "%s tweets"% (tweets)
print "%s abonnés"% (abonnes)
print "%s abonnements\r\n\r\n" % (abonnements)


EDIT : Bon, après les remarques de MacYavel, je vais me coucher mwa :>


RE: [PHP] Twitter Analytics [JSON - SIMPLE] - b0fh - 21-05-2013

  • Python 3 c'est le bien
  • /usr/bin/env dans la shebang, google pour l'explication détaillée
  • Requests c'est le bien, urllib2 ça suxe
  • Les arguments en ligne de commande c'est mieux qu'un truc codé en dur
  • Marche avec les hypothétiques screennames non-url-safe
  • Moins de variables intermédiaires inutiles
  • Moins d'appels redondants a print
  • Et gère plusieurs usernames d'un coup, parce que hop.

Code PYTHON :

#!/usr/bin/env python3
#-*- coding: utf-8 -*-

import requests, sys

url = "http://api.twitter.com/1/users/lookup.json"

if len(sys.argv) < 2:
    print("Usage: ./blah.py [<username>] ...")
    sys.exit(1)

for account in sys.argv[1:]:

    try:
        data = requests.get(url, params={'screen_name': account}).json[0]

        print("""

Twitter Analytics for {screen_name}

{statuses_count} tweets
{followers_count} abonnés
{friends_count} abonnements

"""
.format(**data))
    except KeyError:
        print("Utilisateur inconnu: {0}".format(account))