List 10 Webページの検索


  1: <HTML>
  2: <BODY>
  3: <H1>本文検索</H1>
  4: 検索対象となるURL:<INPUT TYPE="TEXT" NAME="urlText" SIZE="60"><BR>
  5: <INPUT TYPE="CHECKBOX" NAME="includeSubDir">サブディレクトリも含む<BR>
  6: 検索する文字列<INPUT TYPE="TEXT" NAME="findText" SIZE="60"><BR>
  7: <INPUT TYPE="BUTTON" NAME="searchbtn" VALUE="検索"><BR>
  8: 【検索結果】<BR>
  9: <TEXTAREA ID="RESULT" COLS="80" ROWS="10">
 10: </TEXTAREA>
 11: 
 12: <SCRIPT LANGUAGE="VBScript">
 13: <!--
 14: Sub searchbtn_onClick
 15:   ' 検索ボタンが押されたときの処理
 16:   
 17:   ' Microsoft.XMLHTTPコンポーネントの実体化
 18:   Set xmlObj = CreateObject("Microsoft.XMLHTTP")
 19:   
 20:   ' SEARCHメソッドとして開く
 21:   xmlObj.Open "SEARCH", urlText.Value, false
 22:   ' XML形式のデータを送れるよう準備する
 23:   xmlObj.setRequestHeader "Content-Type", "text/xml"
 24:   
 25:   ' サーバーに送信するXML形式のデータを作成する
 26:   ' ここではMicrosoft.XMLDOMコンポーネントを用いた
 27:   Set objDOM = CreateObject("Microsoft.XMLDOM")
 28:   
 29:   ' XMLのプロセッシングインストラクションの準備
 30:   Set objPi = objDom.createProcessingInstruction("xml", "version=""1.0""")
 31:   objDom.appendChild objPi
 32:   
 33:   ' searchrequestエレメントを作成する
 34:   Set node01 = objDom.createNode(1, "DAV:searchrequest", "DAV:")
 35:   set objDom.documentElement = node01
 36:   
 37:   ' sqlエレメントを作成する
 38:   Set node02 = objDom.createNode(1, "DAV:sql", "DAV:")
 39:   node01.appendChild node02
 40:   
 41:   If includeSubDir.Checked = False Then
 42:     ' サブディレクトリを含む
 43:     FromStr = "SCOPE('shallow traversal of """
 44:   Else
 45:     ' サブディレクトリを含まない
 46:     FromStr = "SCOPE('deep traversal of """
 47:   End If
 48:   
 49:   FromStr = FromStr & urlText.Value & """')"
 50:   
 51:   ' SELECT文を作成する
 52:   queryText = "SELECT ""DAV:href"", ""DAV:displayname"" FROM " & _
 53:       FromStr & _
 54:       " WHERE CONTAINS('" & findtext.Value & "')"
 55:   Set query = objDom.createTextNode(queryText)
 56:   node02.appendChild query
 57: 
 58:   ' 作成したXMLデータをサーバーに送信する
 59:   xmlObj.send objDom
 60:   
 61:   ' 結果を本HTML上に用意したResultというTEXTAREAに設定する
 62:   Result.Value = xmlObj.ResponseText
 63: 
 64:   ' 利用したコンポーネント群を解放する
 65:   Set xmlObj = Nothing
 66:   Set query = Nothing
 67:   Set node02 = Nothing
 68:   Set node01 = Nothing
 69:   Set objPi = Nothing
 70:   Set objDom = Nothing
 71: End Sub
 72: -->
 73: </SCRIPT>
 74: </BODY>
 75: </HTML>