Net::Twitter | Tag | ohneKontur - der Blog https://www.ohnekontur.de ohne Linien und Kanten und trotzdem gefangen Fri, 28 Nov 2014 09:55:40 +0000 en-US hourly 1 https://wordpress.org/?v=6.4.5 automatisch eigene Tweets speichern https://www.ohnekontur.de/2010/02/06/automatisch-eigene-tweets-speichern/ https://www.ohnekontur.de/2010/02/06/automatisch-eigene-tweets-speichern/#respond Sat, 06 Feb 2010 15:23:36 +0000 http://www.ohnekontur.de/?p=703 Nachdem ich in Alte Tweets speichern/sichern beschrieben habe, wie man seine bisherigen Tweets speichern kann, kam bei mir danach die Anforderung automatisiert meine Täglich neuen Tweets hinzu zu fügen. Ich wolle also ein Script haben, das einmal am Tag die eigenen … Continue reading

The post automatisch eigene Tweets speichern first appeared on ohneKontur - der Blog.]]>
Nachdem ich in Alte Tweets speichern/sichern beschrieben habe,
wie man seine bisherigen Tweets speichern kann,
kam bei mir danach die Anforderung automatisiert meine Täglich neuen Tweets hinzu zu fügen.

Ich wolle also ein Script haben,
das einmal am Tag die eigenen Tweets aus twitter zieht und abspeichert.
Also habe ich das alte Script angepasst.
Ergebnis ist folgendes:

#!/usr/bin/perl

require Encode;
use Net::Twitter;
use strict;

my $nt = Net::Twitter->new(
username => "TWITTERNAME",   #Durch Twitternick ersetzten
password => "TWITTERPASSWORT" #Durch Twitterpasswort ersetzen
);
my $pfad = "/pfad/zum/script/verzeichnis"; #Bitte durch eigenens Verzeichnis ersetze

#Ab hier nichts mehr ändern

open(LASTTWEET, "< $pfad/last_own_tweet.id") || die "Datei nicht gefunden\n";
my @IN = ;
my $lastid = $IN[0];
close(LASTTWEET);

eval {
my $statuses = $nt->user_timeline({ count => 150, since_id => $lastid});
#for my $status ( @$statuses ) {
for (my $i=(@$statuses-1);$i >= 0;$i--){
my $status = @$statuses[$i];
print Encode::encode_utf8("$status->{created_at} $status->{time} < $status->{user}{screen_name}> $status->{text}\n");
if( $status->{id} > $lastid)
{
$lastid = $status->{id};
}
}

open(LASTTWEET, ">$pfad/last_own_tweet.id");   # Datei zum Schreiben öffnen
print LASTTWEET "$lastid";  # Datei schreiben
close(LASTTWEET);

};
if ( my $err = $@ ) {
die $@ unless blessed $err && $err->isa('Net::Twitter::Error');

warn "HTTP Response Code: ", $err->code, "\n",
"HTTP Message......: ", $err->message, "\n",
"Twitter error.....: ", $err->error, "\n";
exit;
}
else { exit; }

In dem Script müssen am Anfang die Variablen einmal richtig gesetzten werden (wie Twitternick etc.).
Desweiteren muss die datei “last_own_tweet.id” im Scriptverzeichnis angelegt werden,
und mit der ID des Tweets befüllt, bei dem das ganze Beginnen soll.

Ich habe mir an nach dem Herrunterladen der alten Tweets durch das andere Script die ID des letzten Tweets eingefügt.

Danach das Script am besten per Cronjob einmal täglich ausführen, so z.b.

/pfad/zum/script/twitter.pl >> meinetweets.txt
The post automatisch eigene Tweets speichern first appeared on ohneKontur - der Blog.]]>
https://www.ohnekontur.de/2010/02/06/automatisch-eigene-tweets-speichern/feed/ 0
Alte Tweets sichern https://www.ohnekontur.de/2010/01/31/alte-tweets-sichern/ https://www.ohnekontur.de/2010/01/31/alte-tweets-sichern/#comments Sun, 31 Jan 2010 02:17:47 +0000 http://www.ohnekontur.de/?p=694 Wenn ich groß bin will ich sein wie Google, und alles speichern :P Naja nicht ganz, aber manchmal ist es schon schön Dateien auf seinen eigenen Platten und nicht nur in der Cloud zu wissen. Aus diesem Grund kam mir … Continue reading

The post Alte Tweets sichern first appeared on ohneKontur - der Blog.]]>

Wenn ich groß bin will ich sein wie Google,
und alles speichern :P

Naja nicht ganz, aber manchmal ist es schon schön Dateien auf seinen eigenen Platten und nicht nur in der Cloud zu wissen.
Aus diesem Grund kam mir der Wunsch, meine Tweets nicht nur bei Twitter sondern auch selbst gespeichert zu wissen.

Ich zwitschere nun schon über ein Jahr vor mich hin,
und es ist spannend wie sehr man sich nur durch die einzelnden Tweets an bestimmte Situationen zurück erinnern kann.

Also Tweets auf der Platte abspeichern.
Bei der Suche nach einer Möglichkeit dies zu tun, bin ich auf eine schöne Perl-Bibliothek gestoßen: Net::Twitter
Installieren kann man dieses Libary in der cpan :

cpan #zum öffnen der cpan

install Net::Twitter #Installiert das Paket

#alternativ auch alles in einem mit:  cpan install net:twitter

damit währen die Vorraussetzungen geschaffen einigermaßen schön auf die Twitter API zu zugreifen.

Also nichts wie ran hier ist der Code der alle Eigenen Tweets ausgiebt um diese, alle eigenen Twitter Tweets abzuspeichern.
Die Variablen die gesetzt werden damit das ganze klappt erkläre ich gleich:

#!/usr/bin/perl

require Encode;
use Net::Twitter;
use strict;

my $nt = Net::Twitter->new(
username => "Twittername",
password => "Twitterpass"
);
my $mypage = "69"; #SEITENZAHL

#AB HIER NICHTS ÄNDERN !!
while($mypage >= 0)
{
eval {
my $statuses = $nt->user_timeline({ page => $mypage });
for (my $i=(@$statuses-1);$i >= 0;$i--){
my $status = @$statuses[$i];
print Encode::encode_utf8("$status->{created_at} $status->{time} < $status->{user}{screen_name}> $status->{text}\n");
}
};
sleep 2;
$mypage = $mypage-1;
}

In diesem Code müssen “Twittername” durch den Nick eures Twitteraccounts und “Twitterpass” durch euer Passwort ersetzt werden.
Außerdem müsst ihr den Wert der Variable mypage anpassen.
Er definiert die Anzahl an Seiten die Abgerufen werden, eine Seite enthält 20 Tweets.

Habt ihr also insgesammt 201 Tweets und wollt sie alle sichern so müsst ihr mypage auf 11 setzen.

Wünsche viel Spaß damit :)

The post Alte Tweets sichern first appeared on ohneKontur - der Blog.]]>
https://www.ohnekontur.de/2010/01/31/alte-tweets-sichern/feed/ 2