PlaggerでRSSデータをGmailに集めよう
「Plaggerのインストール迷宮を攻略しよう」では、Plaggerのインストールが完了しました。
そこで、今回は、実際にPlaggerを利用してWebの情報を収集してみたいと思います。
ここでは、blogやニュースサイトで配信されているRSSデータを集めて、Gmailでまとめて閲覧してみます。
では、さっそく作業を進めていきましょう。
(1)Plaggerの設定ファイルを記述する
Plaggerの設定は、yaml形式で書かれたファイルで行います。
(注) yamlについては、
「http://www.yaml.org/」
「http://ja.wikipedia.org/wiki/YAML」
を参考にしてください。
設定ファイルでは、どんなpluginを利用して何を行うのかを記述します。
設定ファイルのサンプルはPlaggerサイトの「examples directory」
から入手することができます。
たくさんのファイルがありますが、ここでは、「rss2email.yaml」を利用します。
中身もシンプルで、動作を確認するにはちょうどいいですね。
「rss2email.yaml」ファイルの中身を以下のように修正して利用します。
修正箇所を赤字で示します。
# rss2email.yaml --------------------------------------------------- ここから
# Fetch RSS and send HTML emails for each feed
global:
plugin_path:
- PERL_HOME\site\lib\Plagger\Plugin # Plaggerプラグインの場所を指定する
assets_path: PERL_HOME\site\lib\Plagger\assets # assetフォルダの場所を指定する
# Set timezone to your local one
timezone: Asia/Tokyo
# this make logger logs important information
cache:
base: c:\
log:
level: info
plugins:
- module: Subscription::Config # RSSを集めるプラグインを指定する
config:
feed:
- http://kazuhiro.ty.land.to/blog/atom.xml # 集めるRSS feedの場所を指定する
# Send HTML email to your Gmail account using external SMTP server
- module: Publish::Gmail # Gmailへ送信するモジュールの指定する
config:
mailto: [email protected] # 送信先のGmailアカウントを指定する
mailfrom: plagger # 送信者を指定する
mailroute:
via: smtp_tls
host: smtp.gmail.com:587
username: [email protected] # 送信元のGmailアカウントを指定する
password: xxxxxx # Gmailアカウントのパスワードを指定する
# rss2email.yaml --------------------------------------------------- ここまで
<設定ファイルを記述するときの注意点&ポイント>
○インデントにTABを使わない。インデントを行う場合は、半角スペースを使う。
たとえば、2文字分のインデントする場合、半角スペース2文字で行う。
○全角スペースを使わない。
○設定ファイルの最後は、必ず改行する。
今回は、Gmailパスワードを設定した後に改行を入れてください。
○mailfromで、送信元と同じGmailのアドレスを入力すると、以下のようなエラーが発生しました。
Plagger::Plugin::Publish::Gmail [error] Error while sending emails: Could't set
FROM: 530 5.5.1 Authentication Required
適当なテキスト(Plaggerなど)を入力すると、うまくいきました。
(2)Plaggerを起動する
-c オプションで設定ファイルを指定してPlaggerを起動します。
plagger -c rss2email.yaml
Plagger [info] plugin Plagger::Plugin::Subscription::Config loaded.
Plagger [info] plugin Plagger::Plugin::Publish::Gmail loaded.
Plagger [info] Rewrote 1 password(s) and saved to rss2email.yaml
Plagger [info] plugin Plagger::Plugin::Aggregator::Simple loaded.
Plagger::Plugin::Aggregator::Simple [info] Fetch http://kazuhiro.ty.land.to/blog/atom.xml
Plagger::Plugin::Aggregator::Simple [info] Aggregate http://kazuhiro.ty.land.to/blog/atom.xml success: 15 entries.
Plagger::Plugin::Publish::Gmail [info] Sending Kazuhiro's Weblog to [email protected]
Gmailにログインして、設定ファイルのfeedで指定したRSSのデータが受信できたことを確認してください。
おつかれさまでした。
今後は、プラグイン方法について、深くみていきたいとおもいます。