jpとcomそれぞれ、全文配信されてなくて記事読むのがクソ面倒臭かったのでpipes作った
Pipes: Make: fullfeed
Pipes: Make: Japan fullfeed
Pipes: 秋月電子 新製品FullFeed
秋月のRSSが無くなったので、新製品ページから取り出した。
Pipes: ストロベリー・リナックス FullFeed
strawberry-linux.comのnews feedがタイトルのみ配信だったので
どちらも商品イメージとデータシートへのリンクと価格を入れてある。
千石は元気の良いblogで新製品を教えてくれる。spark funと液晶工房もblogがある。スイッチサイエンスもフィード作ろうかと思ったけど新製品ページが半年ぐらい更新されてなかったからやめた。マルツもblogあるけど勉強会情報しかなくて、新製品情報はwebで一覧できない。電子工作系はいまだに新製品情報をネットで効率的に収集する手段が乏しいな。
Pipes: twitter list timeline
twitterのlist機能にrssが無いので。list出た時に作ったんだけど、twitterのHTMLが変わっていつのまにか動かなくなってたのを修理した。
ユーザ名とlist名を入れるとRSSを出す。他人の作ったlistをいろいろ購読してみてる。
pipesってソースのHTMLが変わっていつのまにかエラーになってるんだけど、RSSリーダに登録してるだけだと配信されなくなるだけで、「動かなくなった」事に気づけないんだよなあ
なんとかならないものか。1件も出力できなかったら一番上にエラー文を入れるようにすればいいのか?
buzztter.comでtwitter上の最近の頻出単語の統計を出してくれている。
頻出語の上位5単語で検索してタイムラインを作るYahoo Pipesを作った。
→ Pipes: buzztter timeline
1週間ぐらい見ているが、だいたいみんなテレビとかゲームとか選挙とか芸能人の話題、眠気や月曜日出勤したくないなどの体調の問題を喋っている。ワイドショー的。
上位3語や10語も試したけど、5語ぐらいが話題がバラけすぎもせず偏りすぎもせずちょうどよかった。
前作「twitter上で親しい人のタイムラインを動的に生成するYahoo Pipes」は自分に近い人がでてくるけど、今度のはtwitterの中心近くで騒いでいる人たちが見える。
修論を出した後のテンションでまたYahooPipesを作った。
→ Pipes: twitter dynamic timeline
親しい人で動的にタイムラインを作るpipes。
しくみは単純で、最近favを付けたり付けられたり、replyしたりされたりした相手でタイムラインを作る。
自分の発言内容やそれに対する相手の反応によってメンバーが動的に入れ替わる。
これの面白いのは、キーワードでの振り分けと異なりごく普通にtwitterを使っているだけでタイムラインが親しいメンツに変わっていく。
一見流動性が無いように見えるが、自分をふぁぼったりreplyしてきた人は入ってくるし、その人にreplyしたりfavし返せばしばらくはdynamic timelineに入り続ける。相手をfollowする必要すらない。
忙しくてtwitter見れない時は、これだけ見ておけば親しい人のpostはだいたいチェックできるかもしれない。
RSSにはusericons.relucks.orgを使ってアイコンを表示した。ユーザ名やURLもリンクになるようにしてある。
pipes全体図
一番上ですぐ分岐させて、左から順に
- favをもらった相手:favotterのユーザページからHTMLスクレイピングしてる
- 最近replyを受けた相手:オフィシャルtwitter検索でユーザ名検索してatom feedから取得
- favをつけた相手:ユーザのfavページからatom feedで取得
- 最近自分がreplyした人:自分のpostからatom feedで取得
YahooPipesは処理時間が長くなりすぎるか、pipesから相手へのアクセスが多くなりすぎるとエラーが出てしまう。
処理時間が長くならないようにするには並列化。pipeを縦につなげないようにする。
重要なのはpipesから外部サイトへのHTTPリクエストからレスポンスまでの時間だと思う。米yahooの強力なサーバーなので正規表現でページ解析する処理時間はたぶん無視していい。
今回上の方で4つに分けているように、早めにsplitモジュールで分けてそれぞれでHTTPリクエストを発行させてレスポンス待ちにすると速い。splitで分けられたそれぞれと、Loopモジュール内でFetch PageやFetch Feedモジュールは自動的にpipes内で非同期処理になってそうな気がする。
※この時どれかで取得した結果を他のsplit先に使おうとすると、結局縦に1本につなげているのと変わらなくなってしまうので注意しましょう
pipesから他のサイトへのアクセスについては、twitterとyahooが地理的に遠くないからなのか制限が緩くなっているのかよくわからないが、3秒で100アクセスぐらいしてるのにエラーはでない。
Flickrのcontactの写真をMediumサイズで全部見るで紹介したyahoopipesで作ったfeedをGoogleReaderで見る方法、
なぜかLDRがクロールしてくれなかったので仕方なくGoogleReaderで見ていたのだが、
これ Pipes: Flickr Contacts FullPhotos
で100件Large出力してLDRに登録したらしっかりクロールしてくれるようになった。400件とかにすると駄目っぽい。
Pipes: Flickr Auto Feedをcloneして少しなおした。RSSのURLが長くなりすぎる部分とか。
Google Readerで過去の写真へ100枚ぐらい潜ると、古い写真が上の方に溜まってブラウザがどんどん溜まってまともに動かなくなる。画像の先読みタイミングも1枚ずつなのでスクロールするたびに待たされる。
LDRならLargeサイズでもストレスなく閲覧できる。
LDRではzやshift+zで画面が広くなるのでLargeサイズも見れる。
jで下スクロール、shift+jで過去記事にいける。