« 2008年3月 | トップページ | 2008年5月 »

2008年4月の11件の投稿

2008/04/30

はてブフィルタ:Google仕様変更(?)対策とAutoPagerlize/AutoPagerlike対応

そんなわけではてブフィルタを改修し、Googleの検索結果の見出し仕様変更に対応しました。
一時の気の迷いで、元に戻ったらやだな……。
それだけだとなんなので、AutoPagerizeAutoPagerize for SeaHorseAutoPagerlikeにも対応させてみました(ver.0.02)。
いや、順番が実際は逆なんですけどね(苦笑)。
■Greasemonkey&SeaHorse はてブフィルタ

Google検索結果画面のHTML構造、変わりました?

本日、帰宅してから気付いたのですが……Googleの検索結果画面、HTML構造、変わりました、もしかして?
具体的には、今まで検索結果の見出しのところに確かにあったはずの、<h2>タグが無くなっているみたいなんですけど。
で、その結果として、はてブフィルタが動作しなくなっているんですけど(泣)。
昼間、会社で使っているときにはちゃんと動いていたので、日本時間の夕方~夜にかけて、だと思いますが…。
■追記(2008/05/01)
どうも、環境依存らしい……というか、私の環境だけ?
常用しているノートPC(WinXP SP2)だと、IE系とFirefox2.0.0.14はh2タグが含まれておらず、一方、Opera9.27やSafari3.1.1だとh2タグが含まれている……しかも、試しにユーザを変えてやると、IE系やFirefoxでも含まれるようになる……???
なんじゃこれ?
■追記(2008/05/03)
やっと原因らしきものがわかった
気付くかい、こんなの……。

2008/04/29

AutoPagerlike: AutoPagerize - wedata のSITEINFOに対応

先日、AutoPagerizeのSITEINFOデータがinfogamiからwedataへと移行されたのに伴って、後れ馳せながら拙作AutoPagerlikeのSITEINFOもそちらから取得出来るように修正しました(ver.0.03m)。
■SeaHorseスクリプト(Sleipnir専用) これまで使っていた設定ファイル(!!autopageroptions.user.js)を上書きしたくない場合、SITEINFO_IMPORT_JSONSを
,   SITEINFO_IMPORT_JSONS               :   [
        'http://wedata.net/databases/AutoPagerize/items.json?callback=AutoPagerize.wedataCallback'
//  ,   'http://furyu-tei.sakura.ne.jp/script/autoPagerizeData.js'  //  from 'http://swdyh.infogami.com/autopagerize'
    ]
のように書換えます。
■独り言
SITEINFOがJSON/JSONPで取得出来るようになって扱いやすくなりました。このデータベースを使って何か出来そうな気もしますね。
ただ、JSONPで取得したデータをテキストとしてローカルに保存するときにちと困りました。toSource()使えれば楽なんだけどなぁ……。

2008/04/14

今年初の泊まり出張

ほぼ一年間出張の感があった昨年とはうって変わって、本年は今日でやっと2回目。前回は日帰りだったので、泊まりは今回が初です(といっても一泊ですが)。
一泊だけですし、今回はネット環境付のホテルはやめて、ノートPCも持参しなかったのですが。
いい機会とばかりにネットカフェ初体験をしております(^^;)。
自分でも意外ですが、なぜか今まで利用する機会がなかったという…ここはマンガも読めるのですが、そういえば、マンガ喫茶も1、2回しか利用したことないな。
それにしても、新幹線のダイヤが変わっているわ(500系に乗ったのも久しぶり)、朝に移動するときはいつも買っていたクリームパンが売店から消えていてがっくりくるわ、客先のレイアウトが常駐していたころとすっかり変わっているわ、と、ちょっとしたこととはいえ、変化がいろいろと…たった数ヶ月ぶりなのになぁ。

はてブコメントに対し、はてなハイクでリプライするGreasemonkey/SeaHorse

はてなブックマークのコメントに対してリプライを返す試みを、はてなハイクを用いて行ってみました。
■Greasemonkey/SeaHorse ■サンプル
  1. 上記をインストール後に、適当なブックマークページ(http://b.hatena.ne.jp/ユーザID/*)へ行くと、コメントがついている場合、 Replyのようなマークが表示されます。これをクリックすると、当該コメントに対するリプライの投稿画面が開きます。

    Hbcreplysample1

  2. 投稿画面(はてなハイク)のサンプルです。

    Hbcreplysample2

    ヘッダとして、
    1. id:ユーザID
      これにより、元のブコメを付けた人にIDコールされます。なお、備忘用に自分自身へもIDコールするようにしています。
    2. title: 元記事のタイトル
    3. url: 元記事のURL
    4. bookmark: 元記事のブックマークページURL
    5. reply to: 元コメントのURL
    を付けるようにしています。その後で、元コメントも引用しています。
    後は、適当にリプライを書いて、[Haiku!]で投稿します。
    なお、title・url・bookmark及びコメントの引用は、ブックマークページ上から開いた場合のみ付加されます。
  3. ブックマークページ上、ブックマークコメントのところにのようなマークが付いている場合、これにマウスオーバすることで、

    Hbcreplysample3

    のようなリプライのプレビュー画面を見ることが出来ます。
    ただし、情報取得に時間がかかるので、そもそもが表示されるまで待てないかも知れません……。
■独り言
はてなブックマークのコメントに対して、例えばコメントを付けられた側が言及しようとすると、通常は、ブコメが付いた記事に追記するか、またはブコメを引用した記事を起してそこで言及する、というやり方があると思いますが、
  1. ブックマークページを見てから、記事編集/新規作成ページを起こすまでの操作が面倒。
    ココログのクイック投稿みたいなブックマークレットを使えば少しはましですが。
  2. ブコメ→追記/新規記事方向の関連性が弱い(特に新規記事の場合、直接たどれない)。
  3. ブコメを付けた人に対して、記事に追記/記事を追加したことを通知できない。
    こちらは、ぶっこめ!を使うという手はあるようです。でも、トラックバックがちょっと面倒……。ただし、はてなユーザでなくても使えるメリットは大きいと思います。
と、結構不便で手間もかかるので、もうちょっと流れ作業的に出来ないかな~と考えて出来たのが上記のスクリプトです。
でも、いかんせん速度的な限界があるので、似たようなことが公式にできるようになればいいなぁと思います。

2008/04/12

【ココログ】はてブコメント表示欄をサイドバーにも

【ココログ】はてなブックマークコメントを個別ページにさり気なく表示するスクリプトに、ありがちですが、サイドバーに最近のはてブコメント(を付けた人のID)を表示する機能を追加してみました。
■サンプル

Cocoshowhbsample2_3

■はてブコメント表示欄をココログに設置(サイドバー表示付き)

作者名
提供元
パーツ名
パーツID
設置用HTML

2008/04/11

【ココログ】はてなブックマークコメントを個別ページにさり気なく表示するスクリプト

ココログの記事の個別ページに、そのページについているはてなブックマークのコメントを表示するスクリプトです。
■サンプル

Cocoshowhbsample1

これなら、『ココログユーザに見えないところで、はてなーがコメントつけてるらしい…』と不安になることも無くなりますね?!
でも、他にも沢山のブックマークサービスがある罠。というか、影が薄いよ>@nifty クリップ。
■はてブコメント表示欄をココログに設置

作者名
提供元
パーツ名
パーツID
設置用HTML
Greasemonkey/SeaHorseとしても動きますので、設置していないココログでも動作させることが可能です。
■Greasemonkey/SeaHorse
こっそりAutoPagerlikeAutoPagerize for SeaHorseにも対応。めくったページ上でも表示されます。
ついでに、ブックマークレット。動作確認用に。
■ブックマークレット
ブックマークレットを試して動かないようならそのページもしくはお使いの環境には非対応ということですので、悪しからず。
無事動いたとしても、もちろん動作保証はありません。設置&使用は自己責任でお願いします。
■独り言
それにしても、『栞』や『付箋』、『日記』といった昔ながらの、しかも本来は極めて個人的な位置付けのものを、ネットというインフラ上で不特定多数に公開しよう、って最初に考えついた人の発想力は凄いものがあるなぁ、と改めて感じる今日このごろ。
まぁ日記はもともと、ついつい“読者”を意識して書いてしまうものですけどね、自分しか見ないものであっても…“未来の自分”も読者のひとりか。
むしろ公開している意識は希薄で、自分の与り知らぬところで議論されていることを気持ち悪く感じる、といった反応の方が、まだまだ自然なのかも。
そのうち、『自分の知らないところでブクマコメントがさらされている!』とか言い出す人も出てきたり(w。
もしかすると、ネガコメと十把一絡げでいわれるものの中にも、公開している意識が希薄だったり、単に栞/付箋に書くメモ書き感覚で悪意はないものなんかもふくまれるのかも。
もちろん、悪意をもって書いているケースもあるわけでしょうし、またそういうのほど目立つわけなのでしょうが。
まぁ、ネガコメばかり書いていると偏るので、たまにはバランスを取ってラブコメしてみるのも一興かと(サゲ。

2008/04/08

【JavaScript】任意のURLをベースにして、相対パスを絶対パスに変換(クロスブラウザっぽく)

AutoPagerize | Google グループでの話題をきっかけに、任意のURLをベースとして、相対パスを絶対パスに変換する方法を模索してみました(IE7・Firefox2.0.0.13・Opera 9.27・Safari3.1で確認)。
■ソース(動作サンプル)
var pathToURL=(function(){
    var wimg=new Image();
    var work=document.createElement('iframe');
    work.style.display='none';
    document.body.appendChild(work);
    var wdoc=work.contentWindow.document;
    return function(path,base){
        var url=path;
        if (!base) {    //  default: location.href
            wimg.src=path;
            url=wimg.src;
        }
        else {
            wdoc.open();
            wdoc.write('<head><base href="'+base+'" \/><\/head><body><img src="'+path+'" \/><\/body>');
            wdoc.close();
            url=wdoc.getElementsByTagName('img')[0].src;
        }
        return url;
    };
})();
■使い方
pathToURL(相対パス[,ベースURL])
※ベースURLを省略した場合は、現在のページがベースとなる。
■参考
pathToURL - AutoPagerize | Google グループ
? で始まるリンクを正しく扱えてない - ロックスターになりたい
相対パスを絶対パスに変換する - 実用
【2008/04/08追記】
相対パスから絶対パスに変換 - m2

2008/04/05

【JScript】ActiveXObject('htmlfile')で発生する不具合

IE7にて、new ActiveXObject('htmlfile')で作成したHTMLDocumentに、<iframe src="~#アンカー名"></iframe>のように、srcにアンカー付きのURIを指定したIFRAME要素を書込むと、何故かブラウザのタブが一杯開いて収集がつかなくなる、という訳のわからない現象に遭遇してしまい、悩んでいます。
具体的には、下記のようなコードで再現します。
var htmlfile=new ActiveXObject('htmlfile');
htmlfile.open('text/html');
htmlfile.write('<iframe src="https://furyu.tea-nifty.com/annex/2008/03/autopagerlike_s_56ec.html#comments"><\/iframe>');
htmlfile.close();
サンプルはこちら開くとブラウザがおかしくなるので注意。
これ、AutoPagerlikeにとっては(たぶん、AutoPagerize for SeaHorseでも)非常にやっかいな現象なんですが……なんとか回避する方法はないですかねぇ?
とりあえず、AutoPagerlikeでは暫定的にIFRAMEのsrcでアンカーが指定されていたら削る方向で対処しましたが(ver.0.03j)、出来ればもっとスマートな方法が知りたい、というか、多分バグだと思うのでなおして欲しい>MS。

2008/04/03

AutoPagerize/AutoPagerlike:Google イメージ検索への対応を試みる

【2009/04/18追記】
Greasemonkey版のAutoPagerizeを使っている方は、
【AutoPagerize】Google 画像検索対応スクリプト(AutoPagerize本体をいじらない版)
へどうぞ。

AutoPagerizeAutoPagerlikeのGoogle イメージ検索に対応させる方法を模索してみました。
■SeaHorseスクリプト(Sleipnir専用) ■Greasemonkeyスクリプト(Firefox専用)
Google イメージ検索対応のおまじない
AutoPagerize ver 0.0.26+パッチ版
AutoPagerize本体ソースのSITEINFOに以下のような設定を追加します。
var SITEINFO = [
    {
        name       : 'Googleイメージ検索',
        url        : 'http://images\\.google\\..+/images\\?.+',
        nextLink   : 'id("nn")/parent::a',
        pageElement: '//table[tbody/tr/td/a[starts-with(@href,"/imgres")]]',
        exampleUrl : 'http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8'
    },
おまじないのほうは、Greasemonkeyの並び替えを使って、AutoPagerize本体よりも前に持ってくる必要が有ります。
なお、パッチ版は一切の保証はありません。

【2008/12/23】AutoPagerize本体のバージョンアップに追従するのは大変なので、書換部分のみ記述しました。
■参考
AutoPagerizeをGoogleイメージ検索(画像検索)で動作させる - 午前0時の憂鬱
上記をインストール後、ページに行って試してみてください。
■サンプル

Autopagesample2

■メモ書き Google イメージ検索の検索結果はJavaScriptで出力されるようになっているため、AutoPagerize (swdyh)の方でも、
  • http://images.google.co.jp/ ←JavaScriptで生成しているから難しいらしい
と、『対応希望リストのうち、現状は対応が難しいリスト』に上がっています。
ところが、じゃあJavaScriptをオフにした状態だと見られないのかというとそんなことはなく、ちゃんとサムネイルが表示されます。要は、JavaScriptオフの場合は、それ用のページにリダイレクトされているようです。
【例】
  • JavaScriptオン:http://images.google.com/images?gbv=2&hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8
  • JavaScriptオフ:http://images.google.com/images?hl=ja&safe=off&q=%E3%83%9A%E3%83%BC%E3%82%B8&gbv=1&ei=0N30R5ieEYOs6gOqkvTICQ
そんなわけで、最初のページの『次へ』のリンクに設定されているURLのうち、"gbv=2"を"gbv=1"に変えてやってから、SITEINFOを適用してやると、無事ページの継ぎ足しが出来るようになりました。
あ、ただし、オリジナルのAutoPagerize(ver 0.0.26)の場合には、最初のページにpageElementにマッチする要素がないと適用されないようになっているため、パッチ(launchAutoPager()内の該当箇所をコメントアウト)が必要でした。また、Google イメージ検索の設定はソース内SITEINFOに直書きです。

【2008/04/05追記】
oAutoPagerizeのGoogleイメージ検索対応 oAutoPagerize ver 0.4.1 - 0x集積蔵
SITEINFOを工夫して、本体にはほとんど手を入れずに動くようにしてみました。
を参考にして、オリジナルのAutoPagerizeでもパッチ無しで動作するようになりました(SITEINFO直書きなのは変わりませんが)。
あと、URLがhttp://images.google.co.jp/images?~の場合があったり、『次へ』リンクに"gbv=2"というパラメータが入っていない場合があったりすることに気付いたので、修正しています。
0x集積蔵さんの方にその旨コメントしようかと思って、念のためソースを見てみたら、既に対応済のようでした。さすが。
あと、AutoPagelikeの方のpageElementは、
,pageElement: '//table[tbody/tr/td/a[starts-with(@href,"/imgres")]]'
だとうまく動かないので、仕方なく
,pageElement: '//table[tbody/tr/td/a[contains(@href,"/imgres")]]'
にしています。
動かないのは、ActiveXObject('htmlfile')でHTMLドキュメント作ると、リンクの相対パスが勝手に(現在のページのドメインをベースとした)絶対パスに書換えられてしまうからです……これ、相対パスのままにする方法はないのかなぁ?

2008/04/02

AutoPagerlike: 『次へ』リンクが"javascript:~"の場合の対処方法を考える

『次へ』リンクが"javascript:~"になっているようなページだと、AutoPagerizeおよび類似のスクリプトでは通常は対応できません。
でも、中には単にURIを作ってlocation.hrefで移動しているだけ、というページもあるようなので、そういったところなら対応できるかなぁと、拙作AutoPagerlikeで試行してみました(ver.0.03h)。
■SeaHorseスクリプト(Sleipnir専用) 設定ファイルには、とりあえず、英辞郎 on the Webを登録しておきました。
上記をインストール後、ページに行って試してみてください。
■サンプル

Autopagesample1

仕組みとしては単純です。
英辞郎の場合、『次へ』リンクが'javascript:goPage("2")'のようになっており、goPage()関数内で指定された番号から"http://eow.alc.co.jp/~/UTF-8/?pg=(番号)"のようなURLを作ってlocation.hrefで飛ばす仕組みになっています。
この決まりに基づいてあらかじめページ内のリンクを置換してやることで、後は普通にSITEINFOが適用可能となるわけです。

« 2008年3月 | トップページ | 2008年5月 »

戻るリンク追加

カレンダー

2025年5月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

ココログカレンダーPlus(旧2)

検索


    • Web全体 サイト内
    • 蔵書のISBNを入力して下さい
    • はじめる前
      初級者向け
      上級者向け
      ブログ紹介
      結果を表示

コメントリストツリー化

無料ブログはココログ