

Misschien heeft u dit al voorgehad: u zegt iets op twitter en nog geen 5 minuten later heeft u er een follower bij wiens thema toevallig dat ene keyword was waarover u net sprak. Ik heb het al een redelijk aantal keren voorgehad met de 'failwhale' of ook nog de 'twhisky'.
Ik kreeg dan zo het idee om hetzelfde te doen, voor bxlblog dan wel. Eendert wie die over 'brussel', 'brussels' of 'bruxelles' zou twitteren zou er een follower bijkrijgen: bxlblog. Aan hen te zien of ze die account zelf ook willen followen.
Hoe doe je zoiets? Vrij simple eigenlijk: twitter search. Een kleine HTTP-request en dan de resultaten via reguliere expressies parsen, waardoor je de accounts krijgt van de verschillende personen. Daarna stuur je een request naar Twitter om die personen te followen en that's it. Best is dat je dit scriptje in een cron-taak laat draaien, bijvoorbeeld om de 5 minuten.
Om deze script te draaien heb je 2 dingen nodig: eerst en vooral een Linux-bak (ik gebruik Ubuntu) met shell-access en administrator rechten. Daarop moet je het pakket curl installeren, waarmee je POST-requests naar Twitter kan sturen:
sudo apt-get install curl
Doe dan een ‘nano /home/emich/twittersearch.sh’ en plak er het volgende scriptje in. Wijzig wel login en paswoord :
#!/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
Daarna wijzig je de permissies, opdat dit scriptje kan worden uitgevoerd:
chmod +x /home/emich/twittersearch.sh
Voeg hem vervolgens toe aan je crontab :
crontab -e
Om de 5 minuten, bijvoorbeeld :
*/5 * * * * /home/emich/twittersearch.sh
Dit kan ook gemakkelijk in andere talen geschreven worden.