testtestHome

Comment faire un auto-follow sur twitter sur base de mot clé…

23.01.2009 par Mich - lees dit in het Nederlands (2) - read this in English

Peut-être que ca vous est déjà arrivé: vous mentionnez dans un tweet un certain mot, quelques minutes après, vous recevez un mail, quelqu'un que vous ne connaissez pas directement vous suit sur twitter. Ce compte en question parle beaucoup de ou a comme sujet ce mot clé que vous venez de mentionner. Personnellement, j'ai déjà eu le coup avec 'failwhale' ou encore 'twhisky'.

M'était donc venu l'idée de faire pareil avec les mots-clés 'bruxelles', 'brussel' et 'brussels' pour le compte bxlblog. N'importe qui qui mentionnerais ces mots et qui a ses tweet ouverts publiquement serait ainsi donc retrouvé et suivi par le compte twitter de bxlblog. Libre à eux d'aussi suivre ce compte en retour, s’ils sont intéressés.

Comment faire? Simple: via la recherche de twitter. Une requête HTTP et ensuite parser aux expressions régulières le contenu renvoyé pour en extraire les pseudos. Ensuite, envoyer une commande à Twitter pour suivre cette personne et le tour est joué. Le script est de préférence à exécuter dans un cron, par exemple toutes les 5 minutes.

Pour mettre en place ce script, il vous faut 2 choses: une machine Linux avec accès shell en mode admin (j'utilise Ubuntu). Il faut aussi installer le package curl, qui permettra d'envoyer les requetes vers twitter:

sudo apt-get install curl

Faites ensuite un petit coup de ‘nano /home/emich/twittersearch.sh’ et collez y le script suivant, en modifiant bien entendu le login et mot de passe par vos propres donnez twitter :

#!/bin/bash
/usr/bin/wget -O /home/emich/twittersearchresult http://search.twitter.com/search?q=bruxelles+OR+brussels+OR+brussel
NAMES=`/bin/cat /home/emich/twittersearchresult`
for value in $NAMES
do
    if [[ $value =~ home\?status\=@([^\"]*)\" ]];then
        i=1
        n=${#BASH_REMATCH[*]}
        while [[ $i -lt $n ]]
        do
            /usr/bin/curl --basic --user twitteruser:twitterpassword --data status="follow ${BASH_REMATCH[$i]}" http://twitter.com/statuses/update.xml
            let i++
        done
        shift
    fi
done

Ensuite, modifiez les permissions, afin que ce script puisse être executé :

chmod +x /home/emich/twittersearch.sh

Ajoutez-le ensuite à crontab :

crontab -e

Disons, toutes les 5 minutes :

*/5 * * * * /home/emich/twittersearch.sh

En fait c'est une base, on peut également le faire en PHP et autres langues.

tags: . . |
Ubuntu comme serveur, m'enfin?
Ubuntu Server, hein
En faisant mes petites recherches, j'ai aussi dégoté www.mailtw.it qui fait ça aussi de façon automatique.
Laisser un commentaire
  • Nom *

  • Email *

  • Homepage

  • Commentaire *

  • * = champs requis


  • Je suis amnésique