传统的搜索引擎对网页原代码基本上都是完全保存的,baidu,google都有他们的网页快照,而这些快照的内容就是他们的蜘蛛程序在发现连接后读取到的内容,仔细想一下我们有必要将网页全文收录吗?假设你和我一样追求最低成本,最快速度,回答便是否定的,尽管搜索的是索引文件,而非这个全文目录。首先一个网站他的网页有可能好多都是重复的,当然你非说你的网站网页完全不重复我也没意见,毕竟这只是最坏的打算,其次,网页的内容块可能存在很多重复的,比如网页的导航条,页脚的版权信息,最新文章10篇等等,假设有一种算法可以获得每张网页的新信息,抛弃臃余,这样不是很好吗?
在描述算法实现之前请思考一下问题:
1:如何避免同一网站多个域名的问题?比如bczs.com完全抄袭csdn.net如何避免收录bczs.com的内容?
2:还以CSDN为例,网站的每一频道都有个导航条,第2书店,人才,外包等,如何避免收录这些内容?
好,现在搜索蜘蛛来到CSDN,抓取首页,为首页拆分信息片,注意不是全文一股脑地去除HTML标签,而是首先分成信息片,大家都知道在html中标签是成对的,这也为信息片算法提供了可能,比如当标签内的有效信息超过10字符时可以作为信息片,有效字符的判断完全取决于你的要求,比如为实现搜索,把<>算为有效信息<>片,以下是我的测试结果:
第1片:
第2片:
这一行因为每个
同上第3片::
这样顺次对CSDN的首页进行分片,比如得到150片,拆分方式不同则片数有所不同,好了,暂时不要写入数据库,先临时存起来,下面开始第二页,例如http://news.csdn.net/来到这里,开始拆分信息片:
第1片:
第2片:
第3片:
第4片:
看出结论了吗?由于合理的实行分片,直接导致出现第2片,第3片完全相同的现象,也就是说,http://news.csdn.net/只需要记录第1片和第4片,不需要纪录第2片,第3片,将上述一系列的过程在CSDN进行完毕,就得到了所有的信息片,数据库中只需要纪录这些信息片的有效内容就可以了,然后将CSDN的每个信息片指派给一个URL地址,并为信息片建立索引,这样一来就有了中文分词索引(为了查找信息片),信息片索引(为了根据信息片查找网页地址),两个索引,由于数据库体积的大大减小,速度自然提高。
可能有人问,假设两个网页都包含信息片x,把它判给谁呢?很简单,可以让两个地址PK,比如比较目录深度,比较default,index,home,main顺序,比较文档名大小,比整理后参数的大小,如果跨站PK还可以比较网站优先值,比较连通时间连通概率等。
好了,现在想一想,当初提出的两个问题解决了吗,还在为判断重复网页重复内容发愁吗?是不是有很大的改善。
相关文章
百度分词算法详解
Bloghuman.com首页被Google删除后的分析及处理措施
百度中文分词算法分析之三
百度中文分词算法分析之二
百度中文分词算法分析之一
GOOGLE搜索引擎剖析
URL网址规范化问题
一个企业网站被Google删除后的分析?
复制网页检测、Google Analytics是否影响排名、下拉菜单链接—Matt Cutts语录
百度分词算法详解
Bloghuman.com首页被Google删除后的分析及处理措施
百度中文分词算法分析之三
百度中文分词算法分析之二
百度中文分词算法分析之一
GOOGLE搜索引擎剖析
URL网址规范化问题
一个企业网站被Google删除后的分析?
复制网页检测、Google Analytics是否影响排名、下拉菜单链接—Matt Cutts语录

Google亲自教授SEO课程
雅虎招聘“蜘蛛福利专员”
2006/09/06 16:02 | by


