最新ニュースなどをシグネチャに挿入する

opera, Perl, ubuntu No Comments »

会社用メールアカウントのシグネチャに最新ニュース的なものを書いたりしてたけど、いよいよ手で更新するのが面倒くさくなってきた。で、機械にやらせようと。会社のサイトのフィードから最新ニュースを取得してシグネチャを更新する。

シグネチャ用のファイルを探す

まずは書き換えるべきファイルを探す。
UbuntuのOperaでは
/home/username/.opera/mail/signature2.txt 。
(アカウントをいくつか作ってたので"2"がついてるのかな)

Windows Operaの場合は
C:\Documents and Settings\username\Application Data\Opera\mail 内かな。

Thunderbirdだと自由に設定できるみたい。
(Tools > AccountSettingsからAttach this signatureにチェック入れてChoose)

フィードを読んでファイルを更新するスクリプトを書く

次はスクリプト書く。Perlでやった。XML::TreePPとかいうモジュールを使用。
$fileにさっき探したシグネチャのファイルを指定、$strにはシグネチャのフォーマットを書く。
(この例ではlivedoorのニュースを最新のもの1件、タイトルとURLを挿入)

#!/perl/bin/perl
 
use strict;
use warnings;
use XML::TreePP;
 
my $tpp = XML::TreePP->new();
my $tree = $tpp->parsehttp( GET => "http://news.livedoor.com/topics/rss.xml" );
my $file = "/home/username/.opera/mail/signature2.txt";
 
my $str = < < "EOM";
山田太郎 <sample@yourdomain.com>
==注目のニュース==
$tree->{rss}->{channel}->{item}->[0]->{title}
$tree->{rss}->{channel}->{item}->[0]->{link}
EOM
 
open my $fh, '>', $file or die $!;
print $fh $str;
close $fh;
 
exit;

これをsignature.plなどとして、
$ perl /path/to/script/signature.pl
すると、シグネチャファイルが書き換えられる。
(↑このパス適当。ファイルまでのパスをちゃんと書く。)

スクリプトが毎日定時に実行されるよう設定する

毎度手動でスクリプトを実行したくないので、定期的に実行するよう設定。

$ sudo crontab -e

するとエディタが開くので下記のように書いて(毎日12時に実行)

# m h  dom mon dow   command
0 12  * * *   /bin/sh /usr/local/sbin/daily >/dev/null 2>&1
$ sudo gedit /usr/local/sbin/daily

して次のようなファイルを作ります。

#!/usr/bin/sh
$ perl /path/to/script/signature.pl

cronに関しては下記のサイトを参考にしました。
Ubuntu/cronでスクリプトを回そう - TOBY SOFT wiki

以上でおk。
個人的なメールアカウントならAmazonのWishlist(フィードあるのか)など入れると面白そう。

WWW::Mechanize::Plugin::Web::Scraper をインストール

Perl No Comments »

WWW::Mechanize::Plugin::Web::Scraper をインストールした時のメモ。
Web::ScraperとWWW::Mechanizeはインストール済み。

cpan> install WWW::Mechanize::Plugin::Web::Scraper
こける
cpan> install ExtUtils::Command::MM
OK
cpan> install WWW::Mechanize::Pluggable
こける
cpan> force install WWW::Mechanize::Pluggable
OK
cpan> install WWW::Mechanize::Plugin::Web::Scraper
OK

--
このブログのテンプレート、文字が小さい気がしてきた。
テンプレートそろそろ変えるかな。

Powered by WordPress | WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS ログイン