2009年11月13日

Twitterのログをローカルに保存して見やすい形で読めるサービスを探す

やりたいこと

  • Twitterのpostは3200件までしか保存されず、それ以上は消えていくのでログを保存したい。
  • 別に「ブログに転載してブロードキャストしたい」というわけではないので、ローカルに保存できれば十分。
  • 読み返すことを考え、なるべく見やすい形で保存できるのが望ましい。プレーンテキストでもいいけど、どちらかといえばHTML + CSSの方が読みやすいし楽なのでよい。

この条件達成が目的。ということで早速Twitterのログバックアップサービスを探してみた。

Twitter Backup

Twitter Backup スクリーンショット

最初に試したのがこれ。複数のアカウントを纏めて管理できたりする *らしい。日本のサービスではないものの、それは大した問題だとは思わなかったのでさっそく試してみた。が、なぜか登録時点で上手くいかなかった。

TwitterのOAuthで認証→登録(メールアドレスなど)という作業を行うのだが、OAuth認証までは成功するがその先で入力項目を埋めて進もうとしてもエラーが出てどうにもならない。(そもそも画面に表示されてない入力項目に対しての空欄エラーが出るので、どうしようもなかった。)何度か試しても解決するそぶりがまったくなかったので、Twitter側のOAuth認証を取り消して別のサービスを探すことにした。結局何が問題だったのかは不明。

このサービスに対する感想はないというか、そもそも試すことすらできなかったので評価以前の問題。

twtr2src

twtr2src スクリーンショット

次に試したのがこれ。まず良かったのはTwitter Backupと違って登録しなくてもお試し使用できる点。操作はユーザ名を入れて「タイムラインを表示」をクリックするだけ。これのおかげで、どのようなサービスでどんなフォーマットで出力されるかすぐにわかるのが嬉しい。

まずは未登録で試し、その後登録して使用してみたが、両方とも何の問題もなく利用することができた。登録自体は先ほどのTwitter Backupと同じように、OAuthで認証するタイプ。登録したあとに気が付いたが、このサービス自体はサーバ内にTwitterのログをバックアップするというものではなかったので、「外部の他のサービスとの連携を橋渡しするツール」と呼んだ方が正しいように思えた。

未登録の場合は最大200件(恐らく1回に取得できるAPI制限の限界)までのログを一括、あるいは日付ごとに「HTML」「プレーンテキスト」「はてな記法」で取得できる。登録作業した場合は、任意のメールアドレスを設定して毎日のログをメールで送信する機能が使用可能。はてなダイアリーなどのメールで投稿できるブログサービスを使えば、Twitterのログを毎日バックアップしつつ、ブログなどでブロードキャストできるということになる。ただ手動で投稿するなら、特に登録作業は必要ないように感じた。

メールでのバックアップや自動ブログ投稿は試していないが、「全体的に動作も軽いしフォーマットも選べるので、サービス全体としてはかなり優れているのでは」という感想を持った。ただ自分がやりたかったことは「今までのすべてのログをバックアップする」なので、200件までしか取得できないtwtr2srcでは目的には合致せず、そういう意味では使えなかった。「これからのログ」を自動なり手動なりでバックアップするのには向いているので、そういう人には「非常に使える」サービスだと思う。

twilog

twilog スクリーンショット

最後に試したのがこのtwilog。結論からいえばこのサービスで目的が達成できた。これも登録しないでお試し利用をすることができる。また完全に日本(語)のサービスなので、UIなどで戸惑うことがないのも大きなメリットのひとつ。

登録しなくても試せるので使ってもらった方が早いが、ユーザ名を入れると200件のpostを取得し、日付ごとに特定のフォーマットで出力できるのは上記のtwtr2srcと同じ。ただ出力フォーマットは(現時点では)HTMLに限られ、その中から「divに囲われたp(1postがpで囲われる)」「ul・li(リスト形式)」「pタグで囲ってbrで改行」を選ぶことができる。ただタグを取得できるのはあくまで日付ごとで、twtr2srcのように200件すべてを一気に出力することはできないようだ。(この機能は欲しかった……が、後述の機能があるので致命的な問題にはならなかった。)

TwitterのOAuthで認証すると機能をフルに使うことができ、新しいpostも自動的にサービス側でバックアップされるようになる。また、過去ログを遡って保存限界の3200件を上限にサルベージすることができる。(それ以上はTwitter側で消えてしまうので無理。)取得したTwitterのログはそのままHTMLではダウンロードできないが、CSV(Shift_JIS or UTF-8)かXML形式でダウンロードすることができる。しかしサービス内でそのまま過去ログを閲覧することができるため、ローカルに保存したい人以外は使う機会がないかもしれない。

とりあえずtwilogを使うことによって、目的だった「消えていくTwitterの過去ログを保存する」「ファイルをローカルに保存する」というところまでは達成できた。ただファイル形式がCSVかXMLなので、このままではとても「見やすい」とは言い難い。ということで、このファイルを変換して見やすくすることにした。

余談

twilogのログは(twilogを利用していることとTwitterのidさえわかれば)誰でも自由にアクセスできるので、登録して使うと「Twitterからは流れて消えたログ」だと思いこんでいた(都合の悪い)postがサルベージされる可能性は当然ある。ローカルに保存したいだけならば、ログが消える3200 postごとに登録→ダウンロード→アカウント削除という手順を踏んだ方がいいかもしれない。(もちろん「最初からTwitterでブロードキャストしている時点で、流れるもクソもない」とも言えるが。)

XSLTスタイルシートでXMLをHTML + CSSに変換する

最初からHTMLに変換されたログが丸ごとダウンロードできるなら問題なかったが、今回利用したtwilogはCSVかXMLしか選択肢がなかったので、XMLをダウンロードしてXSLTでHTMLに変換することにした。(変換といってもファイル自体が変換されるわけではなく、ブラウザにXMLを読み込ませて表示された結果がHTMLになるだけ。)XSLTは前に少しだけいじった経験があるので変換自体はすぐに思いついたが、肝心の記述の仕方などはすっかり忘れていた。ということで、次のページをチェックしながらXSLTスタイルシートを記述した。

で、完成したのが下のXSLTファイル。これに任意の名前を付け、拡張子を「xsl」にしてUTF-8で保存すれば完成。これだけでも「postごとにliで区切ったulリスト形式」で「Twitterの個別postへのパーマリンク付き」のHTMLに変換できた。(ただしTwitter側の古いpost消えていくので、将来にわたってずっとパーマリンクへアクセスできるわけではない。)下から8行目の[user_id]に自分のTwitterアカウント名を入れれば、恐らく誰でも使えるはず。

<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
  <xsl:output method="html" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" />
  <xsl:template match="/">
    <xsl:apply-templates/>
  </xsl:template>
  <xsl:template match="tweets">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja"><head><title>Twitter Log</title><link rel="stylesheet" href="style.css" type="text/css" /></head><body><ul><xsl:apply-templates/></ul></body></html>
  </xsl:template>
  <xsl:template match="tweet" >
   <li>
     <p><xsl:value-of select="text"/></p>
     <span>posted time 
      <a>
       <xsl:attribute name="href">
        http://twitter.com/[user_id]/status/<xsl:value-of select="id"/>
       </xsl:attribute>
       20<xsl:value-of select="time"/>
      </a>
     </span>
     </li>
  </xsl:template>
</xsl:stylesheet>

ただこれだけでは動作しないので、twilogからダウンロードしたXMLファイルの2行目に

<?xml-stylesheet href="ファイル名.xsl" type="text/xsl" ?>

と挿入して上書き保存する必要がある。あとはさっきのXSLTスタイルシートと同じフォルダに、このXMLファイルを置く。これでXMLファイルからXSLTスタイルシートを呼び出して、HTMLに変換できるようになる。

実際に変換して表示させたのが以下の画像。まだCSSは適用させていないので素っ気ないHTMLでしかないが、XMLファイルをそのまま表示させたのとは違うのがわかる。

XMLをXSLTスタイルシートでHTML化

次はCSSを適用させた場合のサンプル。さっきのコードはデフォルトで「style.css」というCSSファイルを呼び出すようになっているので、同じフォルダにスタイルを記述した「style.css」を置けばOK。

変換したXMLにスタイルシートを適用した

自分の場合はTwitterのタイムラインを真似てみたが、あくまで例にすぎないので(同じようなことがしたい人がいたら)CSSは好きなように記述すればいいと思う。

というところで当初の目的は無事達成。他に最初からHTMLでログをダウンロードできるサービスもあるかもしれないが、自分の場合はこれで十分なのでしばらくはこのXSLTテンプレートを使い回していこうと考えてる。

posted by RPM at 21:46 | TrackBack(0) | BackLink | Internet・Webサービス | 更新情報をチェックする

2009年11月10日

インターネット現代話「裸の王様」

キング「オウフwwwレアな商品に定評があるショップで『馬鹿には見えない』という服をゲットww着た本人には賢くても見えないというのも最先端で凄い!!これを着た写真をアップして大公開すれば馬鹿あぶり出しに使えるwww」

キング「次世代ファッションの体現者なう。非常に特殊な生地でできてるとのこと→ http://upload.example.com/image/801.jpg」

インターネッターA「こいつなんで裸なんだよwww」
インターネッターB「おっさんの裸の写真なんて誰得ww」
インターネッターC「サーバ管理者に迷惑がかかるから規約違反の写真をアップするなよクソが」

キング「(ほら釣れたwww)私ほどの人気者になると変な反応やコメントが山のように来ますが、おかしい奴はIPアドレスで永久追放できる。今後はこういうIDには記事や写真を閲覧できないようにしてほしい」

キングに魂を惹かれた男「さすがキング!写真自体に気品が感じられます!最高です!!」
腰巾着「アホが騒いでいるようですが、美しいものの価値が分からない人間は放置しておくべきですね」
熱狂的なファン「微妙な反応が多いようですが、私は、この原因は良い意味でキングにあると思っています。というのも、キングの写真や記事は、キングを肯定する材料がこれでもかと網羅されていて、読者が読後に肯定的な自論を改めて述べる余地がないのです。要するに、『まったくその通りだと思います』以上のことが述べられないということですね。(私もそうですし、よくその類のコメントを見かけます。)だから、キングを批判する形式でなければそもそも発言することすら難しく、必然的に否定的なものばかりが書かれてしまうのですね」

インターネッターA「だから丸出しだって言ってるだろwwお前何考えてるの?」
インターネッターD「規約違反報告をしました」

キング「バカは相手にしないと吠えなくなるので、無視するのが一番だ。しかし虫以下の知能の人間にはこれも役に立たないので、そもそもノイズが酷いところは見にいかないようにしている。向こうはまだ吠え続けているのかもしれんがね(笑)」

インターネッターE「いい年こいて何やってるんだコイツ」

ブロガーA「だが、待って欲しい。もしかしたら彼はカツラを被っているかもしれない。それを全裸呼ばわりしていいのか。例えば帽子を被っている人がいたら、それは全裸とは言わないはずだ。帽子とカツラの明確な違いは何だ?」
ブロガーB「つーか、見てないけどどうせ有名人に嫉妬した奴が裸とか決めつけてるだけだろ?批判するのは嫉妬の裏返しだしなwww」
ブロガーC「そもそも裸だとしても、それに何の問題があるんだ?時代のネットワーク化・IT化は止まることを知らず、逆に法律は遅れっぱなしだ。裸だどうだとか言ってるのは時代遅れなだけだろう。常識的に考えて、規約とか法律を変えるべきだ」
ブロガーD「人が裸になることも、その写真をアップロードすることも止めることはできない。これは社会システムの問題だ。もっと根本的なところから考え、社会の仕組みそのものを変えることも視野に入れる必要がある」
ブロガーE「キングがあの写真をアップしても何の問題もない、たったひとつの理由」
ライフハックブロガーF「裸の写真をアップしても通報されないための10のTips」

アルファブロガーA「やがてくる大全裸時代に待遇改善を勝ちとって豊かに生活するために準備すべき意外と知られていない劇的な裸テクニック」
アルファブロガーB「『紙に載せた裸』はもうダメだ。雑誌を始め、商業出版はすでに限界に来ている。裸はネットで楽しむ時代になり、紙は同人誌になるしかない」
アルファブロガーC「なぜキングは真のアルファゼンラーなのか?その意味を知りたい方はメールで個人情報を送って欲しい。条件は経験不問・30歳ぐらいまで」
アルファブロガーD「これは批判自体が間違っている。間違った批判はさらに間違った反応しか生み出さない。問うべきは『空気を読んで裸であることを批判する世の中はおかしい』ではないのか。空気を読んで周りに迎合することは、人類を幸福にするどころか不幸にした例として、もっともわかりやすい。空気を読むな、服を脱げ。Dan the nudist」

TwitterアイドルK「全裸のメリットは、かなり多いと私は考えています。一方、服を着ていることのデメリットは、35歳までは顕在化しません。全裸は楽しいことばかりではありませんが、着衣でいるよりも、様々な経験をする機会があります。その経験の積み重ねの有無で、思考の幅に差が出てきてしまうのが、だいたい35歳ぐらいです。私はこれを勝手に『35歳着衣限界説』と名づけています」

キング「いろんなWebサービスにもブロック機能がついて、特定のIDのコメントをすべて非表示にできるようになった。これで非表示にすると、おもしろいようにすべての罵倒やゴミが消える。粘着する奴って、特定少数なんだなと実感するね」

こうしてキングは最初から最後まで人の話をまったく聞かず、裸で居続けてあっさり凍死し、ブロガーは好き勝手に持論を並べて満足し、アルファブロガーは裸を話のダシにして最初から語りたいことを語ってアクセスと注目を計画どおりに集め、インターネッターは3日で飽きて次のネタに食いついてキングのことなどすっかり忘れてしまったとさ。

めでたしめでたし。

※このエントリはフィクションであり、実際の成功者、アルファブロガー、経済学者、サスペンダー、王族とは一切関係ありません。

タグ:ネタ web blog
posted by RPM at 12:00 | TrackBack(0) | BackLink | ネタ | 更新情報をチェックする

2009年11月04日

アメブロにできた「首相官邸ブログ」の気になる3つの問題点

首相官邸公式のブログができて結構話題になっている。もちろん単体でもそれなりに話題にはなっただろうが、利用したサービスがアメブロというところがより話題のネタになっているのは間違いない。

どういう経緯でアメブロが選ばれたのかはわからないし、それが表に出てくることは恐らくないだろうけれども、まあ個人的にはそこにあまり興味がないのでどうでもいい。PV海王拳で有名なアメブロならば、これによるアクセス増加にも十分耐えられるだろうし。

それとコメント欄・トラックバック欄がないのはどうなのかと一部で言われているものの、

  • 絶対に来るであろうspam問題
  • コメント欄が荒れることは分かり切っている
  • かといって事前承認にした場合、「国家検閲!言論封殺!!」と噴き上がるのも間違いない

という点から「妥当なところだろうな」という印象がある。メールマガジンの転載じゃ意味ねえよ、というのもわからなくはないものの、メルマガはすでに時代遅れなイメージが否定できないし、単に配信チャンネルを増やすという点でもそれなりに意味はあるように思える。

政府公式サイトですよね?

ただ普通の「芸能人ブログ+アメブロ」なら別にいいんだけど、(メルマガの転載だけど)書き手が日本国の首相となると気になる点が多い。

ドメインがgo.jpじゃない不思議

最初「偽物か?」と疑われたのを見ればわかるように、そのままアドレス(ドメイン)が「ameblo.jp/kanteijp/」というのはどうなんだろうか。アメブロというかサイバーエージェント自体が単なる一企業だし、そもそもアメブロのアカウントは誰でも自由に取れる無料サービスという点で、信頼性が皆無に近い。首相官邸ホームページが「http://www.kantei.go.jp/」なんだから、アドレスは「http://blog.kantei.go.jp/」とか「http://www.kantei.go.jp/blog/」辺りが適切のはず。別に「kantei.go.jp」に紐付けられていなくてもいいけど、最低限「go.jp」ドメインに置くべきだろう。

アメリカで似たような位置づけのブログとなると

辺りになると思うんだけど、両方とも当然gov(日本だとgo.jpに当たる)ドメイン。「Powered by Ameba」なのは別にいいかもしれないけど、リダイレクトするなりなんなりできちんとgo.jp下のディレクトリに置くべきなのでは。

首相官邸ホームページからリンクがない

例えアドレスが「ameblo.jp」でも首相官邸ホームページから直接リンクが張ってあれば、信頼性は飛躍的に上がったはず。「kantei.go.jp」が本物であるのは間違いないし、そもそもそこから読者を誘導するにはリンクが必要。(メールマガジンへのリンクはある。)

さっき出したアメリカの例のwhitehouse.govやchange.govは、トップページのナビゲーションにブログへのリンクが置いてある。これなら関係性が一目瞭然。

これがあくまで「(今現在首相をやってるだけの)鳩山由紀夫個人のブログ」という位置づけならまだしも、「首相官邸」を名乗っている以上は関連性をはっきりさせないとまずいだろう。「首相官邸の公式っぽいブログがあるけど、本物かどうかわからない(確かめるすべがない)」じゃ話にならない。(ちなみにアメリカのTwitterの例だとオバマ大統領ホワイトハウスのアカウントは別になっている。大統領を辞めてもオバマがオバマであることは変わらないので、当然といえば当然。)

(酷く安っぽいので)広告は消した方がいい

アメブロのテンプレートにそのまま載せただけなのか、ヘッダーのナビゲーションはそのまま表示されていて「芸能人がどうの」というニュースが表示されてるし、フッターにも(アメブロの広告の)芸能人の顔がずらずら表示されていて、お世辞にも「首相官邸公式ブログ」には見えないありさまは何とかした方がいいと思う。少なくともこれを書いてる時点では、フッターに以下のものが表示されている。

ameblo.jp/kanteijp/フッター

もちろんアメブロとしては面白くないだろうし、首相官邸経由のアクセス増加も狙ってるんだろうけど、曲がりなりにも「首相官邸ブログ」なんだから「芸能人の顔広告を消してください」ぐらいの要求は通るだろう。それに「首相官邸公式ブログを呼べた」というだけでも売りになるわけだし。(そもそも「首相官邸ブログ」を見に来る層と、「アメブロの芸能人ブログ」を見に来る層がそんなに被ってるとも思えない。)

追記

Twitterのこのpostで気が付いたんだけど、RSSフィードには普通に広告が入っていた。(最初にエントリを書いたときはサイトの方だけチェックしていたので、気が付かなかった。)

首相官邸ブログの広告

構図としては「政府公報に広告を出してアメーバが金を稼いでいる」みたいになってるので、何かの火種になる可能性はあるかもしれない。(まあ最初から「広告を出す代わりに無料だよ」みたいな契約なのかもしれないが。)

Yahoo!の方がしっかりしてる

こっちの方はあまり話題になってないんだけど、(Yahoo!ブログではない)Yahoo!の公式ページにも首相官邸のミラーサイト(?)ができている。内容は同一の模様。

こっちもドメインはYahoo!だし、同じようにリンクも張られていないんだけど、アメブロのように「芸能人ネタに首相官邸が上下から挟み込まれている」みたいな状態にはなっていない。(広告もない。)作りも「政府機関らしさ」を目指したような感じになってるので、チェックするならこっちの方がいいのでは。

posted by RPM at 22:02 | TrackBack(1) | BackLink | Internet・Webサービス | 更新情報をチェックする
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。