自从第一次用百度以来,我就想知道搜索引擎的原理.最近没有事想了一下,也想出了一套搜索引擎的运行方式,虽然这个方式可能不是很好的,但是这个方式绝对是可以运行起来的.

一个搜索引擎是不可能在我们发出搜索请求的时候,到每个网站上去搜索带有请求关键字的页面,这样的话根本就无法完成请求,而且执行的时间也会非常的长.但根据百度之类搜索引擎的返回结果,我们会看到一个页面执行时间都是几十毫秒.在这样短的时间里找到这么多的内容,只有数据库了.

数据库里的内容的搜集当然是在我们发出搜索请求之前就已经用相关的收集程序收集起来了,我这儿也可以写一下大致的实现方法:

  • 建立数据库,有以下字段:1.网址(为主字段,不重复),2.网页内容2个字段(一个为整个HTML,用于类似百度快照,另一个为从中提出的文本,用于搜索引擎返回结果),3.加入这个网页的日期,4.一个布尔值,判断这个地址对应的页面是否已保存到数据库中.
  • 网页收集程序:这个程序我用java写过一个,这个程序的作用是把引入的参数(一般是一个http地址,这个参数来自于上面数据库中第四个字段为flase的行的第一个字段)对应的网页下载下来,然后把这个网页的所有<a>标签的href属性值取出(如果是相对地址的,改成绝对地址),加入到上面的数据库中,循环执行这个操作,直到这个数据库中找不到第四个字段为false时为止.
  • 在数据库中加入所有起始URL,运行收集程序,数据库里的内容就会飞快的增加啦!
  • 说起来,我只在数据库中加入了一个地址:http://wap.lxyes.com(乐讯,一个手机网站,因为手机页面小,所以用它测试)运行几分钟后产生了500多条记录.当然还没有运行结束,有些网页内容还没有进行下载.而且这种程序用JAVA并不是最好的选择,因为她解析HTML速度太慢了.


    关于迅雷资源搜索的原理:

    当然这个也是我想出来的,可能不是它的原理,但是这个方法也是可用的,有兴趣的一起交流一下嘛.

    迅雷的下载是多线程下载的,这个大家都知道,它最大的优点还有就是可以搜索这个资源的其它地址,然后加一个线程从这个地址下载.

    搜索其它这个资源的地址,我想这一点和百度是差不多的:

    数据库采用的字段可以为:

  • URL
  • 文件大小
  • 我想这两个字段是最主要的,数据可以像百度那样用收集程序采集,也可以用客户程序上传:例如我们用迅雷从一个URL下载文件,那么迅雷就会把这个文件的大小和URL传到服务器,服务器先把它存到数据库里(如果用户多的话,以后就会有很多记录),然后再搜索数据库里文件大小为这个大小的所有记录,返回所有的这对应的URL到我们的迅雷软件上,我们的迅雷软件再对这些地址进行筛选:筛选取是必须的,因为有可能会出现网络上的两个不同文件有相同的字节数,这样的话下载下来的文件就是错误的.筛选方法当然很简单:从随机位置下载一定长度的连续字节,例如5000字节,然后和我们要下那个文件对应的这5000个字节进行比较,如果完全相同,说明这两个文件是一样的.它就是这个文件的另一个种子.

    看了这篇文章,或许你可以知道怎样把你的网站加入到百度的搜索引擎了.

随笔--百度和迅雷的原理相关推荐

  1. 2014九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试题

    九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题 题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9.10月份陪伴了至少三届毕业生找工作的旅 ...

  2. 我的求职经历:走进过腾讯、网易、百度、迅雷

    作者是一名工科男,从九月份开始找工作,辗转广州.上海.北京等城市,走进腾讯.网易.华为.大众点评.思科.360.百度.迅雷.多玩.海豚.广州移动.搜狐.中兴等企业,历经N次笔试面试,终于成功收获一份o ...

  3. 九月十月百度,迅雷,华为,阿里巴巴最新校招笔试面试六十题(11.05)

    九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试六十题 http://blog.csdn.net/v_july_v/article/details/11921021 题记 本博客自2010年10月 ...

  4. 九月十月百度,迅雷,华为,阿里巴巴最新校招笔试面试三十题(10.18)

    九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试三十题 题记 本博客自2010年10月11日开通以来,已经帮助了一大批人找到工作,特别是连续三年在每一年的9.10月份陪伴了至少三届毕业生找工作的旅 ...

  5. 迅雷工作原理的推测及慎用它的理由

    迅雷工作原理的推测及慎用它的理由 什么是迅雷? 迅雷是一款新型的基于P2SP技术的下载软件.它使得您的下载更稳定和更迅速. 要 进一步了解迅雷,就要了解到什么是P2SP.我想大多数人对P2P并不陌生, ...

  6. 提升点击如何实现百度关键词快速排名原理!

    提升点击如何实现百度关键词快速排名原理!现在市面上有很多点击提升排名的软件,那网站提升点击靠谱吗?提升点击如何实现百度关键词快速排名原理的呢?下面"AD2"流量家工程师为大家来分享 ...

  7. 迅雷下载原理及其协议分析

    迅雷下载原理及其协议分析 2012-08-26 迅雷是一个多协议的的P2SP下载管理器,除了支持基本的HTTP.FTP下载,还支持同一个资源的多种P2P协议下载,例如BT和电驴协议.当然,最大的特点是 ...

  8. 揭秘网站SEO快排中的百度发包技术的原理是什么?

    2019年SEO快速排名发包技术及原理,百度的<惊雷算法>明确的说到了禁止点击排名,对点击作弊大力度的打击.但依然有不少的商家在做这类快速排名的服务,2019年SEO快速排名发包技术及原来 ...

  9. 九月百度,迅雷,华为,阿里巴巴,最新校招笔试面试十题 .

    九月百度,迅雷,华为,阿里巴巴,最新校招笔试面试十题 http://blog.csdn.net/v_july_v/article/details/11921021 题记 本博客自2010年10月11日 ...

最新文章

  1. ajax请求必须打断点才能成功,Jquery等待ajax执行完毕继续执行(断点调试正常,运行异常)...
  2. 建造者模式与原型模式/builder模式与prototype模式/创建型模式
  3. 如歌将两个数组合并_腾讯50题---合并两个有序数组
  4. 【知识梳理1】Android触摸事件机制
  5. Delphi 一些函数解释
  6. datatable把一个LIst的数据放入两个colum防止窜行的做法
  7. ASP.NET站点Web部署(一键发布的实现)
  8. ArcGIS矢量数据重分类
  9. 学而思python培训班
  10. Apple MFi认证是什么意思?
  11. 图像拼接matlab
  12. oracle 查表里的字段名称和备注名称
  13. 用java调用oracle存储过程和函数
  14. Spring知识点讲解 【笔记】
  15. AcWing 135. 最大子序和(单调队列优化 dp)
  16. 棋盘游戏(BFS、DFS)
  17. http://www.iefans.net/ie6-ie7-ie8-ieduobanben
  18. ubuntu 16.04-设置合上笔记本盖子不休眠
  19. Spring Security之过滤器链【探案】+源码剖析
  20. RAID磁盘阵列模式

热门文章

  1. 利用o(nlogn)的时间复杂度对某一个区间进行质因数分解
  2. 2016年最权威的1000集大型web前端视频教程(爱创课堂出品)
  3. CodeBlocks 修改编辑器背景颜色
  4. 三维重建——孔洞填补算法
  5. 两年,从纯小白到腾讯阿里,应届非计算机毕业生的2014互联网求职之路
  6. 10款PHP开源电子商务系统
  7. cxf webservice接口
  8. 高级转录组调控分析和R语言数据可视化第十三期 (线上线下开课)
  9. 数学运算符“异或”的妙用
  10. 9.1 DEP机制的保护原理