muumoo.jp


ニュース記事検索


過去ログ 2007年10月01日 - ニュース過去ログ

ニュース過去ログ

2007/10/01 管理人日記 指定したURLのページのタイトルをdel.icio.usから取得するAPIをYahoo! Pipesで作った (管理人日記)

久しぶりのYahoo! Pipes。でもたいしたものじゃないです。

pagetitle API from del.icio.us

最近作ったpageinfoの中で、ページのタイトルを取得しているところがあります。このとき、ソーシャルブックマーク(SBM)のAPIを使ってそのSBMに登録されてるタイトルを取ってくるようにしていたのですが、del.icio.usにはそういうAPIが(たぶん)ないので、あきらめていました(それ以外のSBMサービスから取得していた)。

で、どうにかしようと思ってdel.icio.usのページを見てみたところ、どうやって記事タイトルを決定しているのかがよくわかりません。なんか多数決っぽい?とりあえず、最初にブックマークした人のタイトルを取得できるようなAPIをYahoo! Pipesで作ってみました。タイトルを取得する方法は今後変えるかも知れません。

使い方

いつものYahoo! Pipesアプリの使い方です。パラメータはurlだけです。RSS/JSON/JSONP/htmlで取得できます。

戻ってくるデータは、1件だけアイテムを持ちます。もしdel.icio.usにそのURLが登録されていなかったら、0件のアイテムを持つデータが返ります。

ソース

ソースは以下。

text - String Replace - String Builder - URL Builder - Fetch Feed - Tail - Regex - Sub-element - Rename - Regex - Pipe Output

  1. URLを入力する (text)。
  2. 入力されたURLを元に、del.icio.usのRSSのURLを作る (String Replace - String Builder - URL Builder)。
  3. そのRSSを読み込んで、最後の1件だけに絞り込む (Fetch Feed - Tail)。
  4. タイトルにブックマークした人のユーザ名が入るので、それを消す (Regex)。
  5. タイトル部分をアイテムとして取り出す (Sub-element)。
  6. 取り出すとcontent要素しか無いので、それをtitle要素とlink要素にする (Rename)。
  7. link要素に、最初に入力されたURLを入れる (Regex)。
  8. おわり (Pipe Output)

最近追加されたらしい Sub-element モジュールを初めて使ってみました。どうやら指定した要素をルートとするデータ一覧を取り出すモジュールのようです。例えば、あるブログで使われているタグの一覧とかを取り出したりできるのかな?よくわかりませんが、今回はtitle以外の情報を切り捨てるのに役に立った。

新規に要素をでっちあげる方法が良くわかりません。今回はlink要素を新規に作りたかったのですが、方法が無かったので、Renameモジュールでいったん適当なデータが入ったlink要素を作って、Regexで本当のデータを全置換して入れています。

pageinfoあとで直す

実際pageinfoでこのAPIを使ってタイトルを取り出すようにしたいと思いますが、もうちょっとやりたい事があるので、あとで。

この記事のURI:
http://muumoo.jp/news/2007/10/01/0pagetitleapi.html


Copyright© 2002-2007 muumoo.jp All Rights Reserved.