人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: draftand
●カテゴリ:コンピュータ インターネット
✍キーワード:Sleipnir システム データ ボックス 提供
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● Mook
●20ポイント

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

◎質問者からの返答

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


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

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

◎質問者からの返答

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

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


3 ● Mook
●20ポイント

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


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

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

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

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

◎質問者からの返答

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

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


4 ● fumikef
●20ポイント

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

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


まず、登録の仕方から、

名前:(なんでも良いです、例:「法令用語検索」)
リクエスト: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=」という文字を探します。イコールの右側の文字列が・・・


さて、次に 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 の名前くらいに考えておけば良いです。


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

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

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

のようになります。

トグルボタン(どれかを選ぶと他の選択が外れるボタン)の要素が、その下に 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

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

今回の場合、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です。


5 ● Mook
●20ポイント

失礼しました。

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


オプションの変更は 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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ