Google の検索結果に Wikipedia の定義を追加する Greasemonkey
2006-07-01 02:21:37
| Permalink
| ![]()
| Tag:
cc-by
google
greasemonkey
js
wikipedia
Google の検索語に対する Wikipedia の定義を時々みたいと思う。そんなときは Google with Wikipedia v2.01.user.js(Last Updated: 2008-08-27T18:23)。って私だけか。
最初、iframe 要素内に Wikipedia の記事を表示させようと思ったが、Wikipedia に含まれる Javascript の所為でフレームを外されて Wikipedia に飛んでしまうので iframe などを用いて直接 Wikipedia を表示させる方法は使用不能。
少しググってみたところ Greasemonkey なら GM_xmlhttpRequest を用いれば外部サイトであっても取得できるらしい。というわけで実装してみたら、XHTML 1.0 なので XML 宣言がありませんでした(従って xmlHttpRequest.responseXML が undefined でした)。
というわけで無理矢理、定義の部分を抽出している感じです、はい。あと見た目は Google 検索の一部っぽくしてみたかったので、font タグとか普通に吐いてます。
(2006-11-02T08:35 追記)ライセンスは Creative Commons by 2.1 Japan License です。派生物を別ライセンスの下で配布しても構いませんが、原作者の氏名公開等は必要です。
(2006-11-21T11:25 追記)最近、Google の吐き出す HTML が変更になったようなので対応しました。
(2008-08-21T22:30 追記)HTML 構造の変更などに対応しました。詳しくは v2.00の記事をご覧ください。
(2008-08-27T18:23 追記)コーディングミスなどを修正しました。
This article is modified at 2008-08-27 18:23:42.
Related Entries
- Google とハテブのサムネイル表示 Greasemonkey (2006-06-27)
- Google 検索結果に Wikipedia の定義を表示する Greasemonkey を改良 (2006-11-21)
- Google 検索結果に PageRank を表示する Greasemonkey (2006-12-04)
- Greasemonkeyスクリプティング TIPS&SAMPLES (2006-12-26)
- Google の検索結果に Wikipedia の定義を追加する Greasemonkey v2.00 (2008-08-21)
- google with Wikipedia v2.01 のお知らせ (2008-08-27)
Trackbacks
Trackback URI: http://blog.c--v.net/trackback/2006/07/01/1
There is no trackback.
by 名無し at 2006-10-07 15:42:14
WikiリンクのURL置換が先頭の一ヶ所しか行なわれていないようです。
以下を修正して直りました。
+++ google-with-wikipedia v1.01.new.user.js 2006-10-07 15:40:46.000000000 +0900
@@ -108,7 +108,7 @@
// Google の検索結果に追加する
function addExplanation(text) {
// URL を絶対 URL に変換する
- text = text.replace('/wiki', 'http://ja.wikipedia.org/wiki');
+ text = text.replace('/wiki', 'http://ja.wikipedia.org/wiki', 'g');
// 検索結果に追加する
var wpResultText = getNodeSnapshot('//span[@id = "wp_result_text"]');
by Ryosuke SEKIDO at 2006-10-07 22:41:51
連絡ありがとうございます。個人的に使っているスクリプトはその対処が済んでいたもので、間違って古いものをアップロードしていたものと思います。申し訳ない。
スクリプトは replace(/\/wiki/g, ...); の形式で反映させていますので、確認して下さい。