如何防采集?

作者:佚名 来源:本站原创 点击数: 更新时间:2008年03月20日

问题:如何防采集?

解决方法:在模板中多个关键位置加上类似这样的代码,如:
<td zzz="{$ArticleID}">文章内容</td>
注意zzz="{$ArticleID}"使用无效的HTML标签,这样浏览器就不显示,但采集时因为无法设置开始代码或结束代码,无法保存规则。

采集原理:很多采集程序都是逐步捉取而拿到想要的内容的,通常情况下是截取头部和尾部来获取中间一部分,当你的文章列表或者内容没有规则,采集程序找不到您的通用头部和尾部的时候,自然就采集不了,这样别人就很难截取头部和尾部,这个防采集方法正是利用了这一点来实现防采集的。

例子:这里举例防止内容页采集,下面为内容页片段代码,大家留意一下,里面多了代码zzz="{$ArticleID}",这代码就是防止采集的代码。

源代码:

以下是引用片段:

<table class=tablebig cellSpacing=0 cellPadding=0 width=770 align=center border=0>
    <tr>
      <td class=tdleft>
        <table class=pv110tablefull cellSpacing=0 cellPadding=0 width="100%" border=0>
          <tr>
            <td vAlign=top>
              <table cellSpacing=0 cellPadding=0 width="100%" border=0>
                <tr>
                  <td  class=pv110title colSpan=2 zzz="{$ArticleID}">{$ArticleTitle}</td>
                </tr>
                <tr>
                  <td class=pv110info colSpan=2 >{$ArticleInfo}</td>
                </tr>
                <tr zzz="{$ArticleID}">
                  <td   class=pv110picontent colSpan=2 zzz="{$ArticleID}">
                  {$ArticleContent}</td>
                </tr>
                <tr zzz="{$ArticleID}">
                  <td zzz="{$ArticleID}" class=pv110info align=right width=888>{$ArticleAction}</td>
                </tr>
              </table>
              <table cellSpacing=0 cellPadding=0 width="100%" border=0>
                <tr>
                  <td width=16> </td>
                  <td width=754>{$PrevArticle}<BR>{$NextArticle}</td>
                </tr>
              </table>
            </td>
          </tr>
        </table>
      </td>
    </tr>
  </table>

 

如果之前已经建好的项目,现在重新采集,就会出现以下的错误信息:

 

错误信息
产生错误的可能原因:
  • 在截取标题/正文的时候发生错误:http://www.***.com/Article/ShowArticle.asp?ArticleID=8760
  • << 返回上一页


    如果重新设置采集信息,采集回来就会有多余的代码,如图:

    我们改进一下 :

    源代码

    以下是引用片段:

    <table class=tablebig cellSpacing=0 cellPadding=0 width=770 align=center border=0>
        <tr>
          <td class=tdleft>
            <table class=pv110tablefull cellSpacing=0 cellPadding=0 width="100%" border=0>
              <tr>
                <td vAlign=top>
                  <table cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <tr>
                      <td  class=pv110title colSpan=2 zzz="{$ArticleID}动易网络">{$ArticleTitle}</td>
                    </tr>
                    <tr>
                      <td class=pv110info colSpan=2 >{$ArticleInfo}</td>
                    </tr>
                    <tr zzz="{$ArticleID}动易网络">
                      <td   class=pv110picontent colSpan=2 zzz="{$ArticleID}动易网络">
                      {$ArticleContent}</td>
                    </tr>
                    <tr zzz="{$ArticleID}动易网络">
                      <td zzz="{$ArticleID}动易网络" class=pv110info align=right width=888>{$ArticleAction}</td>
                    </tr>
                  </table>
                  <table cellSpacing=0 cellPadding=0 width="100%" border=0>
                    <tr>
                      <td width=16> </td>
                      <td width=754>{$PrevArticle}<BR>{$NextArticle}</td>
                    </tr>
                  </table>
                </td>
              </tr>
            </table>
          </td>
        </tr>
      </table>


    采集回来后,有你站的网站名称,你还会采集吗!

    注意:在模板中多个关键位置加上类似这样的代码。

    33444
    本篇文章的Tags:    采集  
    如果以上内容未能解决您的问题,欢迎您到我们的讨论区发帖寻求帮助,我们的工作人员会热情为您解答。