Wer benutzt eigentlich geotagging in seinen Tweets? Ist die Kritische Masse erreicht, das sich daraus etwas sinnvolles erstellen lässt? Ich habe keine geotags in meinen geistigen Auswürfen, da ich diese für uninteresannt halte: Büro – Zuhause – Büro – Zuhause – Büro – Zuhause… Aber wie sieht es bei den Menschen aus, die ich verfolge? Und sollte ich meine Tweets geotaggen damit sich etwas sinnvolles damit anstellen lässt?
Ich habe mir dazu das öffentliche xml-Profil aller Verfolgten runtergeladen.
#!/usr/bin/perl # ------------------------------------------------------------------------- # Friends Statistic # - - - - - - - - - # friendsStatistic # # Each Profile is stored in ./import # # ------------------------------------------------------------------------- # You can use this script for any kind of purpose. # ------------------------------------------------------------------------- use strict; use LWP::Simple; # ------------------------------------------------------------------------- # Variables for the twitter-api # ------------------------------------------------------------------------- my $username; my $since = 0; my $lang = 'de'; my $rpp = 100; my $type = 'recent'; # ------------------------------------------------------------------------- # memory file name # ------------------------------------------------------------------------- my $memfile; # ------------------------------------------------------------------------- # Argument handling # ------------------------------------------------------------------------- my $anzArgs = @ARGV; if($anzArgs print STDERR "usage: friendsStatistic \n"; exit; } $username = $ARGV[0]; chomp($username); $memfile = lc($username); $memfile =~ s/[^a-z0-9\_\-]//g; # ------------------------------------------------------------------------- # Get Follower # ------------------------------------------------------------------------- my $url = 'http://api.twitter.com/1/friends/ids.xml?screen_name='. $username; # ------------------------------------------------------------------------- # Get the content from twitter-search-api # ------------------------------------------------------------------------- my $content = get $url; # ------------------------------------------------------------------------- # Crop and process each entry # ------------------------------------------------------------------------- my %friends; while ($content =~ m/(.+?)/sg) { my $friendId = $1; print "Load userinfo for: ". $friendId ."\t"; my $url = 'http://api.twitter.com/1/users/show.xml?user_id='. $friendId; $friends{$friendId} = get $url; my $username = $friends{$friendId}; my $realname = $friends{$friendId}; $username =~ s/^.+(.+?).+/$1/sg; $realname =~ s/^.+(.+?).+/$1/sg; if(length($friends{$friendId}) > 0){ print $username ."\t\t". $realname ."\n"; open(XML, ">import/".$friendId.".xml") or print STDERR "Can't write xml file\n"; print XML $friends{$friendId}; close(XML); } else { print "\n"; } sleep 60; }
Um dann den den „geo_enabled“ tag auszulesen:
#!/usr/bin/perl $enabled=`cat ./import/*.xml | grep geo_enabled | grep "true" | wc -l`; $follower=`ls -l ./import/*.xml | wc -l`; chomp($follower); chomp($enabled); print "Follower: ". ($follower) ."\n"; print "Geo-Enabled: ". $enabled ."\n"; $p = (100 / $follower) * $enabled;
Das Ergebnis ist, das 29.4% meiner Verfolgten ihre Geodaten mitangeben.
- Follower: 415
- Geo-Enabled: 122
- 29.3975903614458% use geo_enabled
Das Skript wartet wegen der requestgrenze noch ewigkeiten, weshalb es mir nun nicht möglich ist mal eben andere personen auszuwerten. Wer hier eine Lösung hat um über die Streaming-API schnellere Ergebnisse zu finden, der möge sich in den Kommentaren melden.
Die Scripte gibt es für einige Zeit hier: friendsStatistics.zip