タグ

ブックマーク / labs.gmo.jp (12)

  • XPathで書いたルールに従って複数ページにまたがったデータをあつめるjavascript製クローラ(失敗作) - bits and bytes

    ページからデータをとりだそうとするとき、詳細な情報が書かれているページは別に用意されていて、もとのページと詳細ページのデータを混ぜ合わせないと全部のデータが得られないことがあります。 例としてTwitterが挙げられます。 タイムラインのページでは、発言が長い時は発言の末尾が省略されて ... になるため、発言の個別ページにいって発言全体を取得する必要があります(と思って今確認したら、今は長くても発言全体が表示されるようになってました...)。 以前に作ったWeb::Scraperのjavascriptバージョンwebscraper.jsはひとつのページからしかデータが取れなかったので、複数のページからもデータが取れるもの急いで作りました。 Firefoxであればブックマークレットから呼び出したり、Firebugコンソールで使えます。 スクリプト jscrawler.js つかいかた Tw

    nkoz
    nkoz 2008/07/27
  • クローンサービスのAPIデザイン - bits and bytes

    最近トラブル続きのTwitterのかわりにWassrを使いはじめたひとたちにフォローしていただいてたくさんメールが来ました。 去年たくさんできたtwitterみたいなサービスの中で、自分が注目していたのはもごもごとWassrです。このふたつのサービスにはTwitter同様APIが用意されているだけでなく、そのAPITwitterAPIと互換になっていると書かれていたからです。 1年前に書けばよかったのにとおもいつつ、今日はサービスのAPIがほかのサービスと互換にすることについて書きます。 いいところ 既存のサービスと完全に同じAPIにすると、そのサービス用に作られたツールを少し改造すればそのまま新しいクローンのサービスで使うことができるようになります。 Twitterのクローンであれば、そのサービスにTwitterとおなじAPIを用意すれば、Twitter用に作られた多数のツールをその

    nkoz
    nkoz 2008/07/06
  • 新しくなったAutoPagerizeのSITEINFOバックエンドwedata - bits and bytes

    AutoPagerizeのSITEINFOがwedataという、キーと値を管理することを目的としたwikiのようなもので管理されるようになりました。このwedataはキーと値を管理するだけの単純なデータベースを不特定多数で編集することができる仕組みです。新しく自分でデータベースを作れことができるようになっているのでAutoPagerizeのSITEINFOだけでなく、自分で作ったスクリプトのためのSITEINFOをかんたんに作ったりすることができます。 私が作ったわけではないのですが、去年のはじめからこんな仕組みがほしいなと思っていたようなものになっていてとてもうれしいので、ちょっと長いですがwedataの紹介をしたいと思います。 AutoPagerizeとそのしくみ いろんなサイトで次のページを自動的に表示するためのGreasemonkeyスクリプトのAutoPagerizeは、wiki

    nkoz
    nkoz 2008/04/19
  • ブラウザ別のタイマ性能比較 - bits and bytes

    えええ、先月あったMozilla Japan - The Future of JavaScript -presented by Mozilla & Shibuya.JS-にかなり遅刻して行って、まんまとじゃんけんで勝ち残ってJohn Resigと握手してもらってサイン入りFirefoxマウスパッドを持って帰った熊谷です。 そのJohn ResigがFirefox3でタイマの性能がどうなったか、FirefoxのほかにSafariとOperaとあわせて タイマ呼び出しの遅延 タイマ呼び出し間隔の安定度 複数タイマを使用するときのスケーラビリティ 利用可能な最小呼び出し間隔 について調べたはなしを John Resig - Analyzing Timer Performance で書いていたのでご紹介。 この記事ではOSXでFirefox2, Firefox3, Opera9, Safari3に

    nkoz
    nkoz 2007/12/23
  • ほかのサービスとくっつけられるストレージサービスOpenBoxを自分でくっつける - bits and bytes

    ストレージサービスのBoxがOpenBoxというちょっとおもしろいことをしてるのをTumblrのポストJunk Innで知りました。OpenBoxは、Boxにアップロードしたファイルをウェブ上のほかのBoxとぜんぜん関係のないサービスでかんたんに使えるようにするためのしくみです。 OpenBoxをつかってみる 利用可能なサービス一覧から、使いたいサービスを選んで追加しておくと、自分のアップロードしたファイルを選んでメニューを開いたときにそのサービスが出てきます。 ちょうどWindowsでファイルを右クリックして、使いたいアプリケーションを選ぶと、選んだアプリケーションが起動してそのファイルを開いてくれるかんじで、えらんだウェブのサービスがそのファイルを開いてくれる、イメージで使えます。 ここまではまあなんかあったりもしそうですが、すごいのはBoxとぜんぜん関係ないサービスでそのファイルを編

    nkoz
    nkoz 2007/12/08
  • Firefox3で動くGreasemonkeyを作る&新機能の@import @require - bits and bytes

    少し前にFirefox3 beta1がリリースされたものの、いろいろ拡張機能が動かないから使えないもんねーと思ってスルーしていたけれど、ちょっと移行してみようかと試してみたら、まずGreasemonkeyがFirefox3に対応していませんでした... が、検索してみるとGreasemonkeyのchange log /trunk/src (log) - greasemonkey - DevjaVuにAdding FF3b supportと書かれているのを発見。最新版なら動くっぽいのでチェックアウトしてきて試してみたら、新しく@importと@requireという新機能もついていたのでちょっと調べてみました。 Firefox3対応のGreasemonkeyのビルドとインストール ビルドと言ってもFirefoxのaddonはプラットホームに依存しないものはzipファイルを作るだけなので、たい

  • HTMLのドキュメントから繰り返し部分をみつける - bits and bytes

    RSSを生成していないページからRSSを生成するなんでもRSS 0.1bは、公開されているJSAI2005: なんでもRSS - HTML文書からのRSS自動生成によると、日付情報を目印にしてそのHTMLドキュメントの構造を推測して、各エントリ(item要素)のタイトルと文を単語の統計的に処理して決定し、フィードを生成していると書かれています。 ウェブ上にあるHTMLドキュメントは Ask.jp : "xml" Search results. のように、RSSitem要素に相当する部分に日付が含まれていないものもあります。 その中でも、大量のデータを複数のページにわけて表示しているHTMLドキュメントを対象に、ドキュメント中に含まれる繰り返し部分のXPathを生成するブログラムをjavascriptで作りました。 アプローチ 大量のデータを複数のページわけて表示しているドキュメントを

    nkoz
    nkoz 2007/11/02
  • OperaのFast Forwardはどうやって次のページを決定しているのか - bits and bytes

    Operaはその独特なUIになじめなくてほとんどつかったことがないのですが、先日OperaにはFast Forwardという他のブラウザにはない機能があるのを知りました。 Fast Forwardはおおざっぱにいうと、ページが一番下までスクロールしているときにスペースキーを押すと、自動的にページの中から次のページだと思われるリンクを探してそのリンクの先をロードするという機能です。ひとが各サイトごとに手で記述したSITEINFOを外部から持ってきるAutoPagerizeとは違って、Operaに組み込まれたプログラムとデータを用いて次のページを表示するので、すべてのページで機能します。ただしAutoPagerizeのようにページが継ぎ足されていくのではなく、次のページ全体が今見ているウインドウにロードされます。 Fast Forwardについて詳しいことはFast Forward for q

    nkoz
    nkoz 2007/10/27
  • AutoPagerize用のXPathをかんたんに作るためのブックマークレット AutoPagerize IDE - bits and bytes

    GreasemonkeyのスクリプトでAutoPagerizeというものがあります。これはgoogleの検索結果のように何ページにもページが別れているときに、次のページを表示するためのリンクを押さなくても自動的に次のページの中身がAjaxで継ぎ足されて表示されるというものです。 オモロ 検索エンジン SAGOOL サグール の検索結果のページがAutoPagerizeとおなじしくみになっていて、検索結果を一番下まで見ると自動でさらに10件が表示されるようになっているので試してみてください。 これが極めて快適で、慣れると次へのリンクを押す生活には戻れません。記事全体は長いのに1ページの文章量が少なくて、次のページへのリンクをやたら押さないといけないニュースサイトなどは当然のように対応されていて、クリックする必要がなくなって、ストレスなく文章に集中できるようになります。対応しているサイトも

  • gmailで添付ファイルが自動でアップロードされるしくみ - bits and bytes

    gmailでメールを書くとき、添付するファイルを選んでからしばらくすると、いつの間にか添付ファイルがアップロードされています。 添付するファイルを選ぶと、はじめファイル名が表示されていたのが 自動的にアップロードされて、名前とファイルサイズが表示されています! 実は、あまり名前も聞かなくなった Google Page Creator がリリースされたときにいちばんびっくりしたのはページの右下にこのgmailの自動アップロードとよく似たしくみがあったことでした。で、さっそく解析してマネしてみたことがあります。今回はgmailでその仕組みを見てみます。 ちなみにその Google Page Creator には、ログインすると右下にこんな ファイルをアップロードするのに使う部分があります。 gmailの場合、メールが自動保存されるタイミングでアップロードされているかんじでしたが、こっちのはBr

    nkoz
    nkoz 2007/05/26
  • twitterのコマンドラインクライアント - bits and bytes

    メッセンジャーのステータスを使って、今何をしているか、を伝えるのはよくやっていた。特に自分の場合ひとにかまってほしいほうなのでこの手のやつに人気が出るのはうれしい。twitterは、メッセンジャーのステータスのログがブログとして残って、ともだちのステータスが一覧で見られる、ようなサービスです。Tumblr 小さくてきれいなブロギングツール で書いていた Tumblr とおんなじように、ほんの少しの手間でほんの少しのエントリを投稿して、そのときの気持ちのような空気のようなものを伝えることができます。 そんなちょっとしたことをポストするのに、わざわざtwitterのサイトに行って今何をしているのか書くなんてオーバーヘッドが大きすぎる!というわけで Bin-Blog: Using Twitter, Part 1 - Command Line Twitter Client でコマンドラインからtw

    nkoz
    nkoz 2007/04/04
  • FUSEを使ってはてなブックマークから POOKMARK Airlines へ乗り換える方法 - bits and bytes

    Google Code で macfuse がリリースされたのをきっかけに、FUSEをみんながおもちゃにするに違いないと思ったのにだれもおもちゃにしていないみたいで、くやしかったので自分でおもちゃにしてみました。 FUSEの利点は、ファイルシステムという今まで数十年間使われてきた標準的なインターフェイスに任意のサービスをマッピングできるということにあります。数十年間、ファイルシステム上でファイルを扱うために様々なツールが開発されてきました。ファイルシステムにサービスをマッピングできるということは、数十年間蓄積されてきたファイルを扱うためのツールをそのままサービスを扱うためのツールとして利用できるということです。 例として WikipediaFS, view and edit Wikipedia articles as if they were real files を見てみましょう。このw

    nkoz
    nkoz 2007/02/04
  • 1