zoukankan      html  css  js  c++  java
  • [网络收集]打造站内搜索引擎

    本站右侧的搜索就是利用google的站内搜索功能制作

    很多个人网站的站长都希望为自己的网站建立一个站内搜索引擎,但一不熟悉ASP、PHP、JSP等动态开发技术,另外自己建立站内搜索也需要空间支持相应的动态技术,所以常不得已放弃。其实,何不借用Google打造站内搜索引擎,来方便网友对自己网站的内容进行查找。

    若想在某特定网站内搜索特定的内容(如搜索www.cfan.com.cn中包含关键字“网络”的内容),只需要在Google的搜索栏里输入:“网络 site:cfan.com.cn”即可(不含引号)。如果直接在自己站点的网页上建立一个Google的搜索栏,然后让访问者按Google规定的格式进行查询,那不就能实现Google作为自己站内搜索引擎的功能了吗?但是我们当然不能要求使用者还要特地学习Google对特定网站搜索的格式规范。于是笔者立刻联想到是否可以使用JavaScript脚本使得Google接收的查询关键字后自动加上类似“site:cfan.com.cn”的字符串呢?答案当然是肯定的。在你的网站首页需要放置站内搜索引擎页面的<body>标签的范围内放置如下代码:

      <script type="text/javascript">
      var domainroot="mysite.com"//个人站点域名,替换成你的网站的网址即可
      function Gsitesearch(curobj){
      curobj.q.value="site:"+domainroot+" "+curobj.qfront.value
      }
      </script>
      <form action="http://www.Google.com/search" method="get" onSubmit="Gsitesearch(this)">
      <p>站内搜索:<br/>
      <input name="q" type="hidden" />
      <input name="qfront" type="text" style=" 180px" /> <input type="submit" value="开始搜索">
      </p>
      </form>

    脚本的关键部分在于Gsitesearch函数。语句:“curobj.q.value="site:"+domainroot+" "+curobj.qfront.value”的含义为:将“site:”字符串+变  量domainroot、空格、访客填写的关键字依此合并。既使得搜索格式符合Google的语言规范,又使增加了搜索功能的友好性,不需要用户来遵循Google的搜索规则。

    至此,您的专业站内搜索引擎就完成了(见图1 完成的站内引擎)。

    如果我们不但要搜索本站的内容,还要让访客同时能搜索兄弟站点或本类网站的内容,该如何修改呢?接下来我们就对我们刚才的代码做一些推广。

        <script type="text/javascript">
      function Gsitesearch(curobj){
      var domainroot=curobj.domainroot[curobj.domainroot.selectedIndex].value
      curobj.q.value="site:"+domainroot+" "+curobj.qfront.value
      }
      </script>
      <form action="http://www.Google.com/search" method="get" onSubmit="Gsitesearch(this)">
      <p>
      <input name="q" type="hidden" />
      <input name="qfront" type="text" style=" 180px" /> <input type="submit" value="立刻搜索" /><br /><br />
      站点:
      <select name="domainroot">
      <option value="www.mywebsite.net" selected="1">本站</option>
      <option value="www.friend1site.net">友站1</option>
      <option value="www.friend2site.net">友站2</option>
      </select>
      </p>
      </form>

    我们只需要将Gsitesearch函数稍做修改,搜索的灵活性就能大大加强。站长只需要增删option选择项,即可实现多站点的内容搜索

    Google 免费:让用户搜索您的网站您的网页也想拥有 Google 搜索吗,您希望让用户搜索您网站上的内容吗?您只须将下面代码片断添加在您的网站上,并且将 “YOUR DOMAIN” 换成您自己的域名,比如 http://news.google.com,就可以实现站内搜索。您可以根据个人品味对其进行修改,如取消居中,调整其宽度,或改变背景颜色,等等。(但请注意,Google 徽标的背景是白色,而不是透明。)如果您喜欢具有其它背景颜色或大小的 Google 徽标,这里有不同的徽标贴图可供选用。您可以将其中任何徽标替换到以下搜索代码中。注意:如果您的网站编码不是 GB2312,您需要将代码中的两个 GB2312 换成您网站的编码,比如 Big5。效果如下: 搜索WWW 搜索YOUR DOMAIN NAME 代码如下:  

    <!-- SiteSearch Google --> 

    <FORM method=GET action="http://www.google.com/search"> 

    <INPUT TYPE=hidden name=ie value=GB2312> 

    <INPUT TYPE=hidden name=oe value=GB2312> 

    <INPUT TYPE=hidden name="hl" value="zh-CN"> 

    <TABLE bgcolor="#FFFFFF"><tr><td> 

    <A HREF="http://www.google.com/">

    <IMG SRC="/Article/UploadFiles/200503/20050307110545364.gif"

    border="0" ALT="Google"></A>

    </td>

    <td>

    <INPUT TYPE=text name=q size=31 maxlength=255 value="">

    <INPUT TYPE=submit name=btnG VALUE="Google Search">

    <font size=-1>

    <INPUT TYPE=hidden name=domains value="YOUR DOMAIN NAME"><br>

    <INPUT TYPE=radio name=sitesearch value=""> 搜索WWW

    <INPUT TYPE=radio name=sitesearch value="YOUR DOMAIN NAME" checked> 搜索YOUR DOMAIN NAME <br>

    </font>

    </td></tr></TABLE>

    </FORM>

    <!-- SiteSearch Google -->

    Google 免费:让您的网站也拥有 Google

     

     

    搜索WWW 搜索YOUR DOMAIN NAME

     

    Google 免费:让您的网站也拥有 Google 您也可以只添加 Google 搜索。请添加以下代码。您可以根据个人品味对其进行修改,如取消居中,调整其宽度,或改变背景颜色,等等。(但请注意,Google 徽标的背景是白色,而不是透明。)如果您喜欢具有其它背景颜色或大小的 Google 徽标,这里有不同的徽标贴图可供选用。您可以将其中任何徽标替换到以下搜索代码中。注意:如果您的网站编码不是 GB2312,您需要将代码中的两个 GB2312 换成您网站的编码,比如 Big5。效果如下: 代码如下:

    代码如下:<!-- Search Google -->

    <center>

    <FORM method=GET action="http://www.google.com/search">

    <TABLE bgcolor="#FFFFFF"><tr><td>

    <A HREF="http://www.google.com/intl/zh-CN/">

    <IMG SRC="/Article/UploadFiles/200503/20050307110545364.gif"

    border="0" ALT="Google" align="absmiddle"></A>

    <INPUT TYPE=text name=q size=31 maxlength=255 value="">

    <INPUT TYPE=hidden name=hl value=zh-CN>

    <INPUT TYPE=hidden name=ie value=GB2312>

    <INPUT TYPE=submit name=btnG value="Google 搜索">

    </td></tr></TABLE>

    </FORM>

    </center>

    <!-- Search Google -->

     

     

     

    打造google站内搜索引擎

    要想学好SEO,那么我们就先从最基的搜索引擎语法学起,以下整理百度、雅虎、google三大搜索引擎的搜索高级语法及应用。

      百度搜索高级语法

      1、把搜索范围限定在网页标题中——intitle

      网页标题通常是对网页内容提纲挈领式的归纳。把查询内容范围限定在网页标题中,有时能获得良好的效果。使用的方式,是把查询内容中,特别关键的部分,用“intitle:”领起来。如:seo intitle:灵之舞

      2、把搜索范围限定在特定站点中——site

      有时候,您如果知道某个站点中有自己需要找的东西,就可以把搜索范围限定在这个站点中,提高查询效率。使用的方式,是在查询内容的后面,加上“site:站点域名”。例如,seo site:www.hnfree.cn

      3、把搜索范围限定在url链接中——inurl

      网页url中的某些信息,常常有某种有价值的含义。于是,您如果对搜索结果的url做某种限定,就可以获得良好的效果。实现的方式,是用“inurl:”,后跟需要在url中出现的关键词。如:seo服务 inurl:hnfree

      4、精确匹配——双引号和书名号

      如果输入的查询词很长,百度在经过分析后,给出的搜索结果中的查询词,可能是拆分的。如果您对这种情况不满意,可以尝试让百度不拆分查询词。给查询词加上双引号,就可以达到这种效果。如:“福瑞seo服务”

      5、要求搜索结果中不含特定查询词

      如果您发现搜索结果中,有某一类网页是您不希望看见的,而且,这些网页都包含特定的关键词,那么用减号语法,就可以去除所有这些含有特定关键词的网页。如:seo服务 -福瑞

      Google应用指南:高级搜索语法

      1、“site”表示搜索结果局限于某个具体网站或者网站频道,如“www.hnfree.cn”、“edu.sina.com.cn”,或者是某个域名,如“com.cn”、“com”等等。如果是要排除某网站或者域名范围内的页面,只需用“-网站/域名”。如:seo site:www.hnfree.cn

      2、“link”语法返回所有链接到某个URL地址的网页。示例:搜索所有含指向翻译公司“www.guanyufanyi.com”链接的网页。搜索:“link:www.guanyufanyi.com”

      3、“inurl”语法返回的网页链接中包含第一个关键字,后面的关键字则出现在链接中或者网页文档中。有很多网站把某一类具有相同属性的资源名称显示在目录名称或者网页名称中,比如“MP3”、“GALLARY”等,于是,就可以用INURL语法找到这些相关资源链接,然后,用第二个关键词确定是否有某项具体资料。INURL语法和基本搜索语法的最大区别在于,前者通常能提供非常精确的专题资料。如:搜索:inurl:pdf seo“

      4、“allinurl”语法返回的网页的链接中包含所有查询关键字。这个查询的对象只集中于网页的链接字符串。

      示例:查找可能具有PHF安全漏洞的公司网站。通常这些网站的CGI-BIN目录中含有PHF脚本程序(这个脚本是不安全的),表现在链接中就是“域名/cgi-bin/phf”。语法:“allinurl:"cgi-bin" phf +com”related用来搜索结构内容方面相似的网页。例:搜索所有与中文新浪网主页相似的页面(如网易首页,搜狐首页,中华网首页等), “related:www.sina.com.cn/index.shtml”。

      cache用来搜索GOOGLE服务器上某页面的缓存,这个功能同“网页快照”,通常用于查找某些已经被删除的死链接网页,相当于使用普通搜索结果页面中的“网页快照”功能。info用来显示与某链接相关的一系列搜索,提供cache、link、related和完全包含该链接的网页的功能。

      雅虎高级搜索语法

      “title:”用于针对标题进行搜索。例如:搜索 title:张学友 ,搜索引擎会返回所有标题中包含“张学友”的网页。由于网页的标题通常会准确的描述网页的内容,所以使用“title:”进行搜索的效果可能更精确。

      “link:”用于查找所有链接到某个网址的网页。例如:搜索 link:http://www.yahoo.com.cn/ ,会得到所有链接到“www.yahoo.com.cn”的网页;搜索 姚明 link:http://www.yahoo.com.cn/ 或者 link:http://www.yahoo.com.cn/ 姚明,会得到所有链接到“www.yahoo.com.cn”的网页中,包含“姚明”一词的网页。请注意:搜索时不能缺少“http://”。

      “site:”或者“domain:”用于限定搜索结果的来源。例如:搜索姚明 site:yahoo.com.cn 或者 姚明 domain: yahoo.com.cn 或者将“姚明”与site、domain语句调换位置(注意中间使用空格隔开),搜索引擎会返回在域名“www.yahoo.com.cn”及其子域名中的、所有包含“姚明”一词的网页。

      “hostname:”的用法与“site:”、“domain:”相同,只不过使用“hostname:”时返回的只是在当前域名下的网页,而不包括其子域名中的网页。“url:”用于精确搜索url.例如:搜索 url:http://cn.yahoo.com ,搜索引擎只会返回一个结果——雅虎中国。
  • 相关阅读:
    Jenkins操作手册 巨详细,一篇足矣!
    获取外网的IP的方法!
    Winson.Framework 2.0 搭建FLASH视频教程!
    JS读写COOKIE的方法!
    Winson.Framework 2.0发布!
    第一次自己做的电子杂志--《深博网志》!
    ProMesh.Net基本使用说明!
    ExtJS学习心得(三)
    安装SQL2000时,最后报安装配置服务失败的解决!
    ExtJS学习心得(二)
  • 原文地址:https://www.cnblogs.com/lushuicongsheng/p/1875991.html
Copyright © 2011-2022 走看看