Sleipnirについての質問です。

「法令データ提供システム」
http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi
の法令用語検索及び法令索引検索のボックスを、Sleipnirの検索エンジンに登録するにはどうしたらよいか教えてください。

回答の条件
  • 1人10回まで
  • 登録:2008/03/09 12:29:46
  • 終了:2008/03/16 12:30:02

回答(5件)

id:Mook No.1

Mook回答回数1312ベストアンサー獲得回数3912008/03/09 14:25:07

ポイント20pt

SearchEngineList.xml

の適当な位置に下記を追加してみてください。

	<Engine>
		<Name>Law Data</Name>
		<ActionName>Law Data</ActionName>
		<Request>http://law.e-gov.go.jp/cgi-bin/strsearch.cgi@post:Y_YOUGO={all}&Y_TYPE=1&Y_SUBMIT=検索&Y_HOREI=1&Y_TANI=2&Y_OUTPUT=20&Y_YMD_USE=1&Y_ST_GENGO=H&Y_ST_YEAR=&Y_ST_MONTH=&Y_ED_GENGO=H&Y_ED_YEAR=&Y_ED_MONTH=</Request>
		<Method>POST</Method>
		<Encode>NONE</Encode>
		<Shortcut></Shortcut>
		<Guid></Guid>
		<CategoryGuid></CategoryGuid>
	</Engine>

設定方法の詳細は、下記を参照ください。

http://www.sleipnir-wiki.jp/index.php?SearchEngineList.xml

id:draftand

普通にダイアログボックスから設定することは出来ないでしょうか?

2008/03/09 14:27:10
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/03/09 14:42:46

ポイント20pt
手順1
Sleipnirメニュー [ツール]-[Sleipnirオプション]-[検索]-[検索エンジンリスト] の「リクエスト」のボックスに、Mookさんの指定したRequestをセットしてください。「メソッド」を"POST"にしてください。「エンコード」は"なし"にしてください。その他の項目は適当に設定してください。
手順2
Sleipnirメニュー [ツール]-[Sleipnirオプション]-[検索]-[検索エンジンメニュー] で、[新規]ボタンを押下し、手順1で設定した「名前」を選択してください。

これで、検索バーから選択できるはずです。

id:draftand

ありがとうざいます!ちなみに、この方法だと、法令データ検索システムの「法令用語検索」の検索になりますが、「法令索引検索」の方はどうすればよろしいでしょうか?

また、「法令用語検索」を行う場合において、「検索単位」を「本則中の条単位」、検索件数を「100件」にしたいのですが、そういうこともできますでしょうか?

2008/03/09 15:11:16
id:Mook No.3

Mook回答回数1312ベストアンサー獲得回数3912008/03/09 14:51:23

ポイント20pt

コメントが無効なので、再回答で失礼します。


検索エンジンの選択は Sleipnir オプションから可能ですが、登録はできません。

先の回答の手順後、選択オプションに追加したものが現れるのでそれを選択すれば通常の

検索として使用することができます。

(蛇足ですが、追加作業後はSleipnir を再起動してください。)

id:draftand

ありがとうございます。がんがん再回答してください。

2の回答者さんに対する質問をご検討頂けると幸いです。

2008/03/09 15:11:55
id:fumikef No.4

fumikef回答回数41ベストアンサー獲得回数22008/03/09 15:48:42

ポイント20pt

前のご質問から察すると、登録の仕方に加えて、登録する際に必要な情報の調べ方も知っておきたい様ですね。

っと既に回答も付いてるようですが・・・この方法も試してみてください。


まず、登録の仕方から、

  • 法令用語検索
名前:(なんでも良いです、例:「法令用語検索」)
リクエスト:http://law.e-gov.go.jp/cgi-bin/strsearch.cgi@post:Y_YOUGO={all}&Y_TYPE=1&Y_SUBMIT=%8C%9F%8D%F5&Y_HOREI=1&Y_TANI=2&Y_OUTPUT=20&Y_YMD_USE=1&Y_ST_GENGO=H&Y_ST_YEAR=&Y_ST_MONTH=&Y_ED_GENGO=H&Y_ED_YEAR=&Y_ED_MONTH=
エンコード:URL ENCODE
メソッド:POST
拡張種別:なし

  • 法令索引検索
名前:(なんでも良いです、例:「法令索引検索」)
リクエスト:http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:H_NAME={all}&H_NAME_SUBMIT=%8c%9f%8d%f5&H_RYAKU=1&H_NAME_YOMI=%82%a0&H_NO_GENGO=H&H_NO_YEAR=0&H_NO_TYPE=2&H_NO_NO=&H_CTG=1&H_YOMI_GUN=1&H_CTG_GUN=1
エンコード:URL ENCODE
メソッド:POST
拡張種別:なし

後は、検索エンジンメニューで 新規、新規カテゴリとして…名前を 適当につけて

検索エンジンを 選択します。さきほど付けた「名前」を選択する。


まず、エンコードは、検索条件を入力する前に、右クリックメニュー⇒ソースの表示で見て、ソースの上の方から「charset=」という文字を探します。イコールの右側の文字列が・・・

  • shift_jis なら URL ENCODE
  • EUC-JP なら EUC-JP
  • utf-8 なら UTF-8

さて、次に POST か GET かですが、基本的に検索結果が表示された時の URL が、”?”や”&”で長くつながったものになっている場合は、GET、ほとんどつながっていない場合は、POST と考えて問題ありませんが、念のため絶対間違いない方法を教えます。


まず、検索条件を入力する前に、右クリックメニュー⇒ソースの表示でソースを見ます。

そして「METHOD=」という文字を探してみてください。その右側に検索リクエストが GET か POST か指定されています。


最後に、この長いリクエストをどうやって引っ張り出してきたかですが…これが難しいんです。

以下、ソースを見ると書いた場合は、上で書いた方法でソースを見ることを示します。

ソースを見て、「ACTION=」のところを探す(通常、METHOD= と一緒のタグに書かれている)

今回の「法令用語検索」の場合だとACTION="/cgi-bin/strsearch.cgi"ですね。

そこに書かれているURLが、検索実行してくれる CGI(プログラム)の入口です。

今回の「法令用語検索」の場合だと"/cgi-bin/strsearch.cgi"ですので、

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi

となり、これがリクエストに書くプログラムの最初の部分です。

次に、POSTリクエストなので、後ろに「@post:」の文字を付けます。

今回の「法令用語検索」の場合、

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:

次に、いよいよ一番長い検索条件部分ですが・・・まず、先ほどのソースを見て、"ACTION="の付けられていた、

<FORM ACTION=

という部分が、FORMタグ(検索条件を入力する部分)の開始部分なので、その終了部分をソースの中から探しておきます。

</FORM>

のようになっているはずです。これで、検索条件の開始~終了の入力箇所のソースがわかりました。


次に、検索条件の開始~終了の入力箇所の中で、"NAME="と書かれている箇所を探します。

今回の場合ですと…

NAME="yougo"
NAME="Y_YOUGO"
NAME="Y_TYPE"
NAME="Y_SUBMIT"
NAME="Y_HOREI"
NAME="Y_TANI"
NAME="Y_OUTPUT"
NAME="Y_YMD_USE"
・・・

となります、基本的に全て書き出しておいた方が良いです。1つでも逃しますと検索CGIプログラムでエラーになる場合が多いです。実はこのNAMEの右の文字列は、CGIプログラムの中では"変数"として処理されます。


さて、書き出した、"変数"に、どんな"値"が入れば、正常に検索できるんでしょう?

ということで、もう一度ソースを見ますと、一番上のNAMEは、良く見ると、ACTION と一緒のタグの中にくくられているので、これは無視して構いません。ACTION の名前くらいに考えておけば良いです。


残りは全て変数です。選択項目など、特殊な検索条件を入れるための変数もあるので順に説明していきます。

  • TYPE="text" と書かれているものは、文字列指定の検索条件です。VALUE="" なのは初期値として値なしという意味です。

ただし、NAME="Y_YOUGO" の場合は、画面で入力して検索するメインとなる文字列が入る場所なので、

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:Y_YOUGO={all}

のようになります。

  • SELECT NAME=・・・ と書かれているものは、選択項目です。

トグルボタン(どれかを選ぶと他の選択が外れるボタン)の要素が、その下に OPTION VALUE="1" SELECTED とか、OPTION VALUE="2" のように続いているはずですので、特に標準値で検索すれば良い場合は、SELECTED が付いてる値(VALUE)を見て・・・

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:Y_YOUGO={all}&Y_TYPE=1

のようにします。変数間の区切りは&です。

  • TYPE="submit" と書かれているものは、ボタン自体に設定されます。どのボタンを押したかなどを識別する変数に使われます。

今回の場合、VALUE="検索" となっているので、

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:Y_YOUGO={all}&Y_TYPE=1&Y_SUBMIT=検索

かな?と思うところですが、基本的にインターネットの世界では、URLに日本語は禁止です。なので、日本語の代わりにルールに従った符号化(エンコード)する必要があります。

Web便利ツール/URLエンコード・デコードフォーム - TAG index

こういう便利なサイトもあるので、これを利用して、"検索"の文字をSHIFT-JISでエンコードしてみてください。結果は、"%8c%9f%8d%f5"になりますので・・・

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:Y_YOUGO={all}&Y_TYPE=1&Y_SUBMIT=%8c%9f%8d%f5

(エンコードされた、英字は大文字小文字関係ありません)

  • 同様に他の変数も全て&でつなげていくと・・・
http://law.e-gov.go.jp/cgi-bin/strsearch.cgi@post:Y_YOUGO={all}&Y_TYPE=1&Y_SUBMIT=%8c%9f%8d%f5&Y_HOREI=1&Y_TANI=2&Y_OUTPUT=20&Y_YMD_USE=1&Y_ST_GENGO=H&Y_ST_YEAR=&Y_ST_MONTH=&Y_ED_GENGO=H&Y_ED_YEAR=&Y_ED_MONTH=

となります。これをリクエストのところに貼り付けすればOKです。

id:Mook No.5

Mook回答回数1312ベストアンサー獲得回数3912008/03/09 16:13:06

ポイント20pt

失礼しました。

オプションから登録できたようですね。


オプションの変更は Request の部分の

「本則中の条単位」・・・・ Y_TANI=1  に変更

 検索件数を「100件」・・・ Y_OUTPUT=100 に変更


詳細は ページを開いて右クリックからソースを表示で確認すれば、それぞれの選択項目で

何が設定できるかがわかります。


索引検索は Request の部分を

http://law.e-gov.go.jp/cgi-bin/idxsearch.cgi@post:H_NAME={all}&H_RYAKU=1&H_NAME_SUBMIT=検索&H_NAME_YOMI=あ&H_NO_GENGO=H&H_NO_YEAR=0&H_NO_TYPE=2&H_NO_NO=&H_CTG=1&H_YOMI_GUN=1&H_CTG_GUN=1

のように変更してください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません