Perlで一日分のTwitterの発言を取る方法
読了まで:約2分
概要: Perl を
- [[僕が
Twitter で つぶやかなくなった 理由 /post/50891451761]] と いう 記事を 書いてからな ぜか モリモリ Twitter で つぶやくようになった nyarla です。 みんな つぶやいてますか?
まあ
と
#!/usr/bin/perl
# this code is under public domain.
use strict;
use warnings;
use XML::Feed;
use URI;
my $username = 'nyarla';
my $userid = '3402381';
my $timezone = 'Asia/Tokyo';
my $now = time;
my $yesterday = $now - ( 60 * 60 * 24 );
my $page = 1;
my $uri = URI->new("http://twitter.com/statuses/user_timeline/${userid}.atom");
$uri->query_form( count => 200, page => $page );
my @timelines = ();
LOOP: while ( 1 ) {
my $feed = XML::Feed->parse( $uri )
or die "Failed to fetch twitter timeline feed: " . XML::Feed->errstr;
for my $entry ( $feed->entries ) {
my $twit = $entry->content->body;
$twit =~ s{^$username: [[ ]] }{};
my $date = $entry->issued;
$date->set_time_zone( $timezone );
if ( $date->epoch <= $yesterday ) {
last LOOP;
}
push @timelines, +{
twit => $tiwt,
date => $date,
};
$page++;
$uri->query_form( count => 200, page => $page );
}
sleep 1;
}
for my $timeline ( @timelines ) {
my ( $twit, $date ) = @{qw( $timeline )}{qw( twit date )};
# your code here.
}
exit;
な
んで
最初の$username
、$userid
、$timezone
は$username
は$userid
$timezone
はDateTime
に
で、
まあコードの
で、git
を
- 記事書く
- ローカルの
管理ディレクトリに 記事を 追加 git add
して新しい 記事を git
の管理下に 置く git ci && git push
する- サーバの
post-update
フックスクリプトが サーバ上の plasxom
の記事ディレクトリを update
とgit add && git ci && git push
をgit pull origin master
しないと
Twitter の一日のまとめログのタイトルどーすんだべ!? という問題に遭遇し、
なんか
ま
以上、
#FIXME