计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

面向主题的搜索引擎的设计与实现网络毕(7)

2013-09-03 01:04
导读:真正体现主题搜索引擎的优势。 图5.2添加分类 function addsiteform() { brdiv align=centercentertable form action=admin.php method=post input type=hidden name=f value=1 …… trtdb标题
真正体现主题搜索引擎的优势。

图5.2添加分类

  function addsiteform() {                  

              <br><div align=center><center><table>

              <form action=admin.php method=post>

            <input type=hidden name=f value=1>

           ……

              <tr><td><b>标题:</b></td><td></td><td> <input type=text name=title size=60></td></tr>

              <tr><td><b>简短描述:</b></td><td></td><td><textarea name=short_desc cols=45 rows=3

wrap="virtual"></textarea></td></tr>

              <tr><td>类别:</td><td></td><td>

              <? walk_through_cats(0, 0, '');?></td></tr>

              <tr><td></td><td></td><td><input

type=submit value=Add></td></tr></form></table></center></div>

           ……

5.4 单独抓取一个URL

需要对单个web文档进行抓取,利用该模块就可以避免在站点列表中编辑URL的抓取属性,如图5.3。

图5.3单独抓取一个URL

       function indexscreen ($url, $reindex) {

              global $mysql_table_prefix;

              $check = "";

              $spider_depth = 2;

              if ($url=="") {

                     $url = "http://";

                     $advurl = "";

              } else {

                     $advurl = $url;

$result = mysql_query("select spider_depth, required, disallowed from ".$mysql_table_prefix."sites " .

                                   "where url='$url'");

                     echo mysql_error();

                     if (mysql_num_rows($result) > 0) {

                            $row = mysql_fetch_row($result);

                            $spider_depth = $row[0];

                            $must = $row[1];

            ……

              <div align="center"><center><table><tr><td valign="top" align="center" colspan="2">

              <p>&nbsp;</p></td></tr>

              <form action="spider.php" method="post">

              <tr><td><b>地址:</b></td><td> <input type="text" name="url" size="48" value=<?print "\"$url\"";?></td></tr>

              <tr><td><b>索引选项:</b></td><td>

              <input type="radio" name="soption" value="full"> 全部<br>

<input type="radio" name="soption" value="level" checked>深度: <input type="text" name="maxlevel" size="2" value="<?print $spider_depth;?>"><br>

              <?if ($reindex==1) $check="checked"?>

……

              <tr><td></td><td><input type="submit" value="Start indexing"></td></tr>

              <tr><td>

           ……

  5.5 网络蜘蛛设置

  顾名思义,网络蜘蛛就是在网络上爬行的程序,用他来抓取WEB服务器上的web文档,它可以在扫描WEB页面的同时检索其内的超链接并加入扫描队列等待以后扫描。因为WEB中广泛使用超链接,所以一个Spider程序理论上可以访问整个WEB页面,也很有可能在这些连接过程形成了一个环,所以限制网络蜘蛛的爬行能防止很多问题,包括同一个web文档被爬取多次、也避免了浪费时间,其设置如下图5.4所示,在“深度”项填入网络蜘蛛的爬取深度。网络蜘蛛在爬取过程中,采用广度优先的爬行策略。

           图5.4网络蜘蛛设置

    function showsites() {

        global $mysql_table_prefix;

        $result = mysql_query("SELECT site_id, url, title, indexdate from ".$mysql_table_prefix."sites ORDER By indexdate, title");

        echo mysql_error();

    ……

        $class = "grey";

        while ($row=mysql_fetch_array($result)) {

            if ($row['indexdate']=='') {

                $indexstatus="<font color=\"red\">Not indexed</font>";

                $indexoption="<a href=\"admin.php?f=12&url=$row[url]\">Index</a>";

            } else {

                $site_id = $row['site_id'];

    ……

                }

            }

            if ($class =="white")

                $class = "grey";

            else

                $class = "white";

            ……

        }

        print "<tr class='white'><td colspan='4' align='center'>" .

                "<form action='spider.php' method='post'>" .

                "<input type='hidden' name='all' value='1'>" .

                "<input type='submit' value='Reindex all'><form></td></tr>";

        print "</table></td></tr></table></center></div>";

    }

其中spider.php部分代码为:

<?

    set_time_limit (0);

    error_reporting (E_ALL ^ E_NOTICE);

    $include_dir = "../include";

    include "auth.php";

    include "$include_dir/commonfuncs.php";

    include "messages.php";

    include "$include_dir/conf.php";

    include "spiderfuncs.php";

    $all = 0;

    extract (getHttpVars());

    $command_line = 0;

    if (isset($_SERVER['argv']) && $_SERVER['argc'] >= 2) {

        if (strtolower($_SERVER['argv'][1]) == 'all') {

            $all = 1;

            $command_line = 1;

        } else {

            $command_line = 1;

            $url = $_SERVER['argv'][1];

            foreach ($_SERVER['argv'] as $arg) {

            ………

    if ($soption == 'full') {

        $maxlevel = -1;

    }

    if ($domaincb == '') {

        $domaincb = 0;

    }

    if ($all ==  1) {

        index_all();

    } else {

        if ($reindex == 1 && $command_line == 1) {

            $result=mysql_query("select url, spider_depth, required, disallowed, can_leave_domain from

  5.6  抓取web文档

  抓取web文档属于模块,管理控制抓取过程,是索引模块部分,可以根据需要对选定发URL分类,并对其抓取进行

上一篇:公交查询系统网络毕业论文网 下一篇:没有了