Mikro-Blogging mit Net::Twitter

| | Kommentare (0)

Net::Twitter von Chris Thompson bietet eine einfache Schnittstelle zum Mikro-Blogging-Dienst Twitter.

In diesem Beitrag wird kurz aufgezeigt, wie Status Updates, Anzeige der Tweets eines Feeds und eine einfache Schlagwortsuche mit Net::Twitter funktionieren.

Beispiel: Status update

#!/usr/local/bin/perl 
use strict;
use warnings;

use Net::Twitter;
use Dumpvalue;

my $username = 'test';
my $password = 'secret';

my $twit = Net::Twitter->new( username => $username,
                              password => $password,
                             ) or die $!;


	# Pruefen, ob Login klappt
$twit->verify_credentials() or die  $twit->get_error();


		# Status aktualisieren
		# Wenn der Text laenger als 140 Zeichen ist,
		# wird ohne Fehlermeldung abgeschnitten
my $tweet = $twit->update( "Net::Twitter Test!" ) or die $twit->get_error();

	# ID fuer Tweet ausgeben
print "Tweet-ID: ", $tweet->{id} , "\n"; 


	# Alle Werte der Datenstruktur $tweet ausgeben
my $dumper = new Dumpvalue;;
$dumper->dumpValue(\\$tweet);


	# Logout
$twit->end_session();

Beispiel: Tweets von anderen Usern anzeigen

In diesem Beispiel werden die aktuellen Tweets des Twitterfeed von PerlNews ausgegeben.

#!/usr/local/bin/perl 
use strict;
use warnings;

use Net::Twitter;

my $username = 'test';
my $password = 'secret';

my $twit = Net::Twitter->new( username=> $username,
                              password=> $password,
                            ) or die $!;


	# Pruefen, ob Login klappt
$twit->verify_credentials() or die  $twit->get_error();

	 # Tweets von perlfeed holen
my $results = $twit->user_timeline( { id => 'perlfeed', } )
		or die $twit->get_error();


foreach my $result ( reverse @$results ) {
	print $result->{text}, "\n"; 
	print $result->{created_at}, "\n"; 
}

$twit->end_session();

Das Programm erzeugt folgende Ausgabe:

[The Perl Foundation] Neuer Grant Manager (http://tinyurl.com/a39kz4)
Sun Dec 28 09:27:02 +0000 2008
[Lesestoff] Perl-Review 5.1 erschienen (http://tinyurl.com/a42vyx)
Fri Jan 02 07:32:31 +0000 2009
[The Perl Foundation] Updates zu laufenden Grants (http://tinyurl.com/8j5ums)
Fri Jan 02 16:28:40 +0000 2009
[Allgemeines] iCalender für-Veranstaltungen (http://tinyurl.com/6wsu79)
Fri Jan 02 18:09:01 +0000 2009
[Allgemeines] Ajax PPI Tester (http://tinyurl.com/8y2arx)
Sun Jan 04 13:35:42 +0000 2009
[Veranstaltungen] Anmeldephase für 11. Deutschen Perl-Workshop beginnt (http://tinyurl.com/7oowxp)
Tue Jan 06 07:42:56 +0000 2009
[The Perl Foundation] Grant Proposals erwünscht (http://tinyurl.com/7csa8f)
Wed Jan 07 21:56:43 +0000 2009
[Projekte] Foswiki 1.0 erschienen (http://tinyurl.com/85avl5
Sat Jan 10 14:26:27 +0000 2009
[Lesestoff] Interessanter Heise-Artikel über "Gesundheitszustand von Perl" (http://tinyurl.com/8a4w6c
Mon Jan 12 17:03:28 +0000 2009
[Veranstaltungen] Nordic Perl-Workshop 2009: Verlängerter "Call for Papers" (http://tinyurl.com/9bjnph
Tue Jan 13 07:16:43 +0000 2009
[The Perl Foundation] Perl 6 Microgrants: Buch in Wikibooks (http://tinyurl.com/8srbvv
Tue Jan 13 16:12:36 +0000 2009
[Kurse] Training: Test-Automatisierung mit Perl (http://tinyurl.com/76563d
Wed Jan 14 07:23:40 +0000 2009
[Projekte] Interview mit den Entwicklern von mod_perlite (http://tinyurl.com/7px3mf
Fri Jan 16 10:09:58 +0000 2009
[The Perl Foundation] Updates zu laufenden Grants (16.01.2009) (http://tinyurl.com/7jtv6c
Fri Jan 16 21:40:54 +0000 2009

Beispiel: Nach Schlagworten suchen

In diesem Beispiel wird nach dem Schlagwort "perl" gesucht:

#!/usr/local/bin/perl 
use strict;
use warnings;

use Net::Twitter;

my $username = 'test';
my $password = 'secret';

my $twit = Net::Twitter->new( username => $username,
                              password => $password,
                            ) or die $!;

my $result = $twit->search('perl');

foreach my $tweet ( @{ $result->{results} } ) {
     my $speaker = $tweet->{from_user};
     my $text    = $tweet->{text};
     my $time    = $tweet->{created_at};
     print "$speaker at $time: $text\n";
}

$twit->end_session();

Das Programm erzeugt folgende Ausgabe:

nothingmuch at Mon, 19 Jan 2009 20:25:23 +0000: @greenrd oh, where... sorry. http://iinteractive.com/ but it's a pretty meaningless website. we mostly do oss perl
breyten at Mon, 19 Jan 2009 20:18:43 +0000: @remco72 wij hadden tot vorige week op werk een systeem draaien wat op zijn hoogtepunt zo'n 480 entries had :-) (bijna allemaal perl tro ...
JacoKoster at Mon, 19 Jan 2009 20:15:00 +0000: @remco72 Hoeveel perl scriptjes heb je nou in je cron zitten? ;)
florajl at Mon, 19 Jan 2009 20:13:40 +0000: ThinkGeek in Fairfax is hiring a Senior Perl Programmer, if anyone is interested. http://www.thinkgeek.com/jobs/#sp
joshbydefault at Mon, 19 Jan 2009 20:02:02 +0000: note: if you want to fake a hard drive failure on a mac just symlink all the kernel extensions to perl and reboot. bonus: epic kernel panic
nothingmuch at Mon, 19 Jan 2009 20:00:10 +0000: @greenrd lots of lightweight threads interactively aggregating data to be processed by a perl frontend
dailyperlonlinr at Mon, 19 Jan 2009 19:45:05 +0000: -- select field1, count(*) from csvfile group by field1 $ perl -F, -lane '$h{$F[0]}++; END{ print "$_ $h{$_}" for sort keys %h}' file.csv
merlyn at Mon, 19 Jan 2009 19:40:49 +0000: @kepford Only relatively cool. :)  I follow everyone who mentions FLOSS Weekly or my name or Learning/Intermediate Perl
thebarkingdog at Mon, 19 Jan 2009 19:36:02 +0000: Hey, there's a Perl Net::Twitter module: http://is.gd/gtQr the barking dog is playing s/^blah$/foo/gi
Twirrim at Mon, 19 Jan 2009 19:30:10 +0000: Monday=wash day. 1st load on the go whilst a perl & mysql script does some more netflix data mining.  SELECT DISTINCT(custid) from movies.
andreaszecher at Mon, 19 Jan 2009 19:19:40 +0000: @thomas_prommer Try TextMate together with the Perl bundle - http://macromates.com/
hoberion at Mon, 19 Jan 2009 19:13:18 +0000: I hate perl cpan with a passion
freetrek at Mon, 19 Jan 2009 19:13:09 +0000: perl? ruby? python?... i'm lost...
JustinKohnen at Mon, 19 Jan 2009 19:02:26 +0000: Mmmm... strawberry perl.... sounds delicious
PerlHowto at Mon, 19 Jan 2009 19:01:49 +0000: Video: Perl Myths - Feb 2008. http://tinyurl.com/9vxbto

Siehe auch

Jetzt kommentieren

Über diese Seite

Diese Seite enthält einen einen einzelnen Eintrag von Thomas Fahle vom 19.01.09 21:35.

Welche Perl-Module sind eigentlich auf dem System installiert? ist der vorherige Eintrag in diesem Blog.

Kurze URLs mit WWW::Shorten ist der nächste Eintrag in diesem Blog.

Aktuelle Einträge finden Sie auf der Startseite, alle Einträge in den Archiven.

Perl Suchmaschine

Blog Roll

Powered by Movable Type 4.1