取込んだRSSをエントリとして書き出すMovableTypeプラグイン:rssEntry

ぴろり上西 2009年03月06日

パワフルなCMSを98,000円で。

Movable Typeで承認フロー、会員サイト構築ができます。

気になる競合他社の動向をイントラブログでつぶさにチェックしたい!というニーズに応えるべくプラグインを作ってみました。「競合他社情報」のような名前でブログを作って、気になる競合他社のサイトの RSS を登録しておくと、RSS のエントリ一つにつき一つの記事が作られるようになります。

ライセンス

Movable Type個人無償版ライセンスをご利用いただいている方のみ無償でご利用いただけます。Movable Type 有償ライセンス(ライセンスパック、ホスティングライセンス、アカデミックライセンス、Enterprise、Advanced)をご利用の方は有償となりますので、「MTCMS Smart」をご購入ください。

MTCMS Smart 〜パワフルなCMSを98,000円で〜

※Movable Type 有償ライセンスの方でも評価・動作検証は無償でご利用いただけます。本格運用時にライセンス購入をお願いいたします。

※Movable Type Open Sourceでは利用できません。

プラグインのダウンロード

rssEntry のダウンロード (バージョン 0.05)

動作条件

動作確認したMTは以下のバージョンです。

  • Movable Type 4.26
  • Movable Type 4.32
  • Movable Type 5.0b2

Perlモジュールとして以下のものが必要です。

  • XML::Parser

インストールと設定

  1. サーバーにXML::Parserがインストールされているか確認します。
  2. ダウンロードしたアーカイブを解凍して得られたディレクトリを plugins ディレクトリにコピーしてください。
  3. ブログ毎のプラグイン設定から取込みたい RSS の URL を設定してください。改行区切りで幾つでも設定できます。記事投稿者を指定すると、指定した投稿者でブログ記事が追加されます。
    rssEntry_01.PNG
  4. 最後に cron の設定でrun-periodic-tasks が定期的に実行されるようにしておいてください。詳しくはシックス・アパート社のマニュアルをご覧ください。指定日投稿や公開キュー等のスケジュール処理の設定
  5. タスクが実行されるとブログ記事が投稿されます。RSSの概要が本文に、URLが追記に保存されます。

注意事項

  • 一度登録されたブログ記事は上書きされません。
  • ブログ記事を削除するとRSSに対象記事が存在した場合、再度ブログ記事として登録します。
  • スパムブログなどには悪用しないでください。切にお願いします。
  • 本プラグインをご利用される方は必ずプラグインご利用の際の注意事項をお読みください。
投稿者 ぴろり上西 : 03/06

Movable Typeを利用したウェブサイト開発はお任せください!

100の企業が認めた成功へ導くCMS構築

スカイアークは創業以来6年間、Movable Typeを一貫して活用し、お客様の様々なウェブサイトをCMS化しました。MTを利用したウェブサイトはスカイアークにお任せください。

MT・CMS構築について詳しく見る

コメント(24)

「rssEntry のダウンロード 」(バージョン 0.05)リンクを押してもトップページに行ってしまいます。

ご指摘ありがとうございます。差し替えた際にファイル名を間違っていました。現在は正しくダウンロードできるようになっております。ご迷惑をおかけして申し訳ありません。

導入できるかどうか検討しております段階ですが、Cronの設定方法がいまいちわかりません。

サーバーはCPIという会社で、run periodic tasksに関しては、コントロールパネルから指定してすぐに設定できるようにはなっているのですがどうも動作していないようです。

何かrun periodic tasksのファイル自体を書き換える必要などはあるのでしょうか?

お忙しい中恐縮ですが宜しくお願い致します。

run-periodic-tasksファイルは書き換えるなのどの作業は必要ありません。もし、SSHなどでシェルにログインできるようであれば、以下のコマンドを試してみてください。

cd (MTのインストールパス)
perl tools/run-periodic-tasks

これで定期実行タスクが実行され、rssEntryが動作するはずです。ここで記事が正しく投稿されているようでしたら、あとはcronの設定に問題があると思われます。
cronの設定方法はご利用のサーバ会社によって異なりますのでサーバ会社提供の操作マニュアル等を参照ください。

プラグインをMT5で使ってみたのですが
一部のRSSで次のようなシステムエラーが出ています(すべてではないです)


'rssEntry'の実行中にエラーが発生しました: not well-formed (invalid token) at line 229, column 110, byte 11240 at /usr/lib/perl5/vendor_perl/5.8.5/i386-linux-thread-multi/XML/Parser.pm line 187

参考になるか分かりませんが
ググってみたらこのような記事がありました
http://riku.justblog.jp/weblog/2008/01/rss-parse-aafe.html

機種依存文字の関係でしょうか?
サーバ会社に聞いたところプラグイン開発の方に修正してもらうよう
お願いしてくださいとのことでした
お手数おかけしますが、よろしくお願いします

現象を確認させて頂きますので、該当URLを教えて頂けますでしょうか。

取り込んだ元サイトの名前やURLをエントリに書き出すことはできないでしょうか?複数のRSSを取り込んだときに、それがどのサイトのRSSか表示させたいです。

私のほうでも同様のエラーが発生しました。
環境は自宅鯖で運用しているDebian Lennyです。
Perl 5.10なのが原因なのでしょうか?よく分かりません。。
'rssEntry'の実行中にエラーが発生しました: Couldn't open encmap shift_jis.enc: No such file or directory at /usr/lib/perl5/XML/Parser.pm line 187

お世話になっております。
rssEntryを、数日前からテスト的に
導入させていただいております。

そこでこのプラグインで投稿された後のブログ記事を、その記事のカテゴリをあらかじめ指定する、およびコメントやトラックバックをデフォルトで付けられるようにするなどはできますでしょうか?

よろしくお願いいたします。

カテゴリについては指定できませんので、AutoTaggingと組み合わせて自動的にタグ付けを行う形で対処をお願いいたします。

コメント・トラックバックについてはウェブサイト・ブログの設定でデフォルトにすることで対処可能かと思われます。

rssEntryの評価版とライセンス購入した場合とではrssEntryそのものに機能に差があるのでしょうか?

次に、rssのURLが表示されまが、表示のみではなく実際に相手側にリンクさせるような仕様にはならないのでしょうか?

機能に差はありませんが、商用利用する場合は評価版は利用できません。商用で利用する場合はご購入願います。

また、リンクについてはMTEntryMoreにURLが格納されますので、aタグなどにEntryMoreを出力することで解決されると思います。

担当者様 おはようございます。
評価版とライセンス購入については理解できました。

次に、rssEntryを用いてRSSを所得します。
">



(">続きを読む)



と入力し(続きを読む)をクリック、続き内に相手側のURLが下記のように記載されます。
(例http://sankei.jp.msn.com/entertainments/entertainers/100401/tnr1004010619001-n1.htm )このURLをそのまリンクさせる仕様にはできないのかお教えいただきたいのですが。

リンクさせるためには、aタグのhrefにMTEntryMoreタグを書くことで対処が可能です。

担当者様

RSS の URL を1つ入力し、rssを13:00:03に
10個取得しました。

10個とも全てが同一の出力ファイル名に納めらてしまいました。

MTEntryMoreに同一のURLが入っているのではないでしょうか?その場合はRSSの問題ですのでプラグインでは対処できません。RSSのitemのURLをご確認ください。

RSSのitemのURLがEntryMoreに格納される仕様になっています。

自分用に複数のRSSを集めたyahoo pipesの記事を取り込むとタイトル部分が文字化けするのですが、文字コードの違いでしょうか?
再構築すると直るのですが…

Yahoo pipesの仕様を把握しておりませんので明確に回答できませんが、文字コードがUTF-8以外だと文字化けを起こす可能性があります。
弊社製品サポートサイトでは文字コードの不具合を解消したバージョンが公開されておりますので、製品版をご検討いただけますと幸いです。

ブログ記事を削除するとRSSに対象記事が存在した場合、再度ブログ記事として登録します。
とありますが、記事を削除すると削除した記事は再度の登録が行われません。

当方の環境は、MT5.02です。

初めまして、朝之丞と申します。
早速ですが、

>サーバーにXML::Parserがインストールされているか確認します。

インストールされているか否か?の確認方法も判らない初心者ですが、取り敢えずcronを設定して、run-periodic-tasks を動かしてみました。

Can't locate MT/TheSchwartz.pm in @INC (@INC contains: lib ../lib extlib ../extlib

上記のようなエラーが出てしまいました。多分、MT/TheSchwartz.pmものが見つからないと言うことなのでしょうがサーバーにインストールしたMT5.0.2配下のフォルダにはMT/TheSchwartz.pmがあるようです。
どのようにすればrun-periodic-tasksを動かすことが出来るのでしょうか?

お世話になっております。朝之丞と申します。
先ほどのコメントに書き込みました内容は、

>cd (MTのインストールパス)
perl tools/run-periodic-tasks

上記を行って、

>ここで記事が正しく投稿されているようでしたら

記事は投稿されました。

それと、もう一つ質問なのですが、

http://bloggers-network283.com/archive/

上記をご覧頂きたいのです。
記事タイトルをクリックする、続きを読むをクリックしても、上手く該当記事エントリが表示されないのですが、どうしてでしょうか?

お世話になります。試用rssEntryをインストールしてテストを行っていますが、エントリが生成されません。
XML::Parserはver2.4
MTは4.2です
RSS2.0を取り込もうとテストしているのですが、サーバコマンドプロンプトから
perl tools/run-periodic-tasks
入力してもエラーは返ってこないので、手懸かりが無く困っています。どこら辺を調べるとよろしいでしょうか?実行しているディレクトリもmtのルートで正しい事を確認済みです
よろしくご教授願います


私も同じ状況です。
MT 5.02
XML::parserl インストール済みです。

run-periodic-tasksを実行しても何も変化しません。
試しに予約投稿をしたのですが、そちらは反映されました。

開発者様の回答をお待ちしております。

お世話になっております。

登録RSS数の制限は御座いますか?

お問い合わせはこちらから お電話でのお問い合わせ03-5475-5101

MTエンジニアブログ

MTCMS Smartキャンペーン!
承認フロー付きCMS「MTCMS Smart(98,000円)」をお買い上げの方、MTライセンス1本がタダに!

配布プラグイン一覧

MultiFileUploader
複数ファイルを一括でアップロードできるMovable Typeプラグイン
ParentalInclude
MT5でウェブサイトとブログのテンプレート連携を便利にするプラグイン
DuplicateEntry
ブログ記事を複製または移動するMovableTypeプラグイン
NotifyAnythingChanged
何かが起きたらメールで通知するMovableTypeプラグイン
rssEntry
取込んだRSSをエントリとして書き出すMovableTypeプラグイン
AutoTagging
面倒な記事のタグ付けを自動化する
FutureRebuild
日時を指定してページを再構築する
EntryImExporter
エントリをCSVに書出したり、CSVから一括登録するMovableTypeプラグイン
MailPack
Movable Typeで簡単携帯投稿!メール投稿プラグイン
DirectoryUtility
カテゴリ・フォルダの階層を表示したり、親フォルダを表示したり、何かと便利なプラグイン
CSVList
CSVデータを整形して表示する
PageBute
静的ページ用ページ分割プラグイン

注目記事

RSS

ページの先頭へ戻る