Spider又叫WebCrawler或者Robot,是一个沿着链接漫游Web 文档集合的程序。它一般驻留在服务器上,通过给定的一些URL,利用HTTP等标准协议读取相应文档,然后以文档中包括的所有未访问过的URL作为新的起点,继续进行漫游,直到没有满足条件的新URL为止。WebCrawler的主要功能是自动从Internet上的各Web 站点抓取Web文档并从该Web文档中提取一些信息来描述该Web文档,为搜索引擎站点的数据库服务器追加和更新数据提供原始数据,这些数据包括标题、长度、文件建立时间、HTML文件中的各种链接数目等
1. 搜索策略
① IP 地址搜索策略
先赋予爬虫一个起始的IP地址,然后根据IP地址递增的方式搜索本IP地址段后的每一个WWW地址中的文档,它完全不考虑各文档中指向其它Web 站点的超级链接地址。优点是搜索全面,能够发现那些没被其它文档引用的新文档的信息源;缺点是不适合大规模搜索。
② 深度优先搜索策略
深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。优点是能遍历一个Web 站点或深层嵌套的文档集合;缺点是因为Web结构相当深,,有可能造成一旦进去,再也出不来的情况发生。
③ 宽度优先搜索策略
在宽度优先搜索中,先搜索完一个Web 页面中所有的超级链接,然后再继续搜索下一层, 直到底层为止。例如,一个HTML 文件中有三个超链,选择其中之一并处理相应的HTML文件,然后不再选择第二个HTML文件中的任何超链, 而是返回并选择第二个超链,处理相应的HTML文件,再返回,选择第三个超链并处理相应的HTML文件。一旦一层上的所有超链都己被选择过,就可以开始在刚才处理过的HIML 文件中搜索其余的超链。这就保证了对浅层的首先处理。当遇到一个无穷尽的深层分支时,不会导致陷进WWW 中的深层文档中出现出不来的情况发生。宽度优先搜索策略还有一个优点,即它能在两个HTML文件之间找到最短路径。宽度优先搜索策略通常是实现爬虫的最佳策略,因为它容易实现,而且具备大多数期望的功能。但是如果要遍历一个指定的站点或者深层嵌套的HTML文件集,用宽度优先搜索策略则需要花费比较长的时间才能到达深层的HTML文件。综合考虑以上几种策略和国内信息导航系统搜索信息的特点,国内一般采用以宽度优先搜索策略为主、线性搜索策略为辅的搜索策略。对于某些不被引用的或很少被引用的HTML文件,宽度优先搜索策略可能会遗漏这些孤立的信息源,可以用线性搜索策略作为它的补充。
④ 专业搜索引擎的爬虫策略
目前,专业搜索引擎网络爬虫通常采用“最好优先”原则访问WEB,即为快速、有效地获得更多的与主题相关的页面(简称“回报”),每次选择“最有价值”的链接进行访问。由于链接包含于页面之中,而通常具有较高价值的页面包含的链接也具有较高的价值,因而对链接价值的评价有时也转换为对页面价值的评价。
⑤ 爬虫的设计中应该注意的问题
第一个问题是URL地址的标准化:在WWW上,一个URL地址可以有多种表示方法,可以用IP地址表示,也可以用域名来表示。为了避免爬虫重复访问同一地址。第二个问题是避免掉进网络陷阱:网络上的链接情况比较复杂,一些静态的网页可能构成闭环回路。为了避免爬虫在一条循环路线上反复抓取,在把URL加入待搜索地址列表之前都要检查是否已在待搜索的地址列表中出现过。对于动态网页,爬虫应该忽略所有带参数的URL。第三个问题:对于拒绝访问的页面,爬虫应该遵从“漫游拒绝访问规则”。

什么是Spider程序相关推荐

  1. python的spider程序下载_PHPspider爬虫10分钟快速教程(内附python教程分享)

    说到做爬虫,大家都可能第一时间想到的是python,其实php也是可以用来写爬虫程序的.php一贯简洁.易用,亲测使用PHPspider框架10分钟就能写出一个简单的爬虫程序. 一.PHP环境安装 和 ...

  2. 什么是网络爬虫(Spider) 程序

    Spider又叫WebCrawler或者Robot,是一个沿着链接漫游Web 文档集合的程序.它一般驻留在服务器上,通过给定的一些URL,利用HTTP等标准协议读取相应文档,然后以文档中包括的所有未访 ...

  3. 开源网络蜘蛛(Spider)一览

    spider是搜索引擎的必须模块.spider数据的结果直接影响到搜索引擎的评价指标. 第一个spider程序由MIT的Matthew K Gray操刀该程序的目的是为了统计互联网中主机的数目 Spi ...

  4. 开源spider一览(zz)

    spider是搜索引擎的必须模块.spider数据的结果直接影响到搜索引擎的评价指标. 第一个spider程序由MIT的Matthew K Gray操刀该程序的目的是为了统计互联网中主机的数目 Spi ...

  5. C#毕业设计——基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于C#+asp.net+sqlserver的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的搜索引擎设计与实现,文章末尾附有本毕业设计的 ...

  6. 【java毕业设计】基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于java+Lucene+Tomcat的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Lucene+Tomcat的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源 ...

  7. 搜索引擎/网络蜘蛛程序源代码

    国外开发的相关程序 1.Nutch 官方网站 http://www.nutch.org/ 中文站点 http://www.nutchchina.com/ 最新版本:Nutch 0.7.2 Releas ...

  8. java毕业设计——基于JSP+JavaTM的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于JSP+JavaTM的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于JSP+JavaTM的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  9. 【转】搜索引擎/网络蜘蛛程序源代码

    国外开发的相关程序 1.Nutch 官方网站 http://www.nutch.org/ 中文站点 http://www.nutchchina.com/ 最新版本:Nutch 0.7.2 Releas ...

最新文章

  1. ASPXspy 2.0
  2. 百度娱乐沸点颁奖典礼,温度太低的“沸点”
  3. 关于rms,打开文档的时候提示您没有权限打开文档,因为您的权限已过期
  4. PHP JSON 操作总结
  5. 实验吧_NSCTF web200FALSE(代码审计)
  6. Android官方开发文档Training系列课程中文版:构建第一款安卓应用之入门指南
  7. 排序算法 —— 冒泡排序
  8. iScroll框架的修改
  9. HTTP::Request
  10. 转行程序员深漂的这三年 #2
  11. asp.net membership 配置错误
  12. 51单片机定时器实现钟表(LCD1602显示)
  13. 【locust】locust与jmeter性能对比
  14. 说说 褥羊毛和薅羊毛的那些事
  15. Design Compiler工具学习笔记(5)
  16. 在Ubuntu下安装netspeed查看网络速度
  17. PowerBI应用案例:杜邦分析图动态观察财务指标
  18. 【20180615】【射频通信】RF、IF、Baseband的区别,PLL和VCO的定义,I/Q信号的定义
  19. 杭电oj刷题C语言答案+思路
  20. 郭为重读麦肯锡报告:神州数码转型七年之痒

热门文章

  1. 用Python实现监控小姐姐/小哥哥微博,了解一下?
  2. Linux服务器扩容
  3. ios解析txt电子书
  4. three.js-打造VR看房 快速掌握3D开发
  5. Unity3D 绘制互动琴弦 曲线和弹力算法
  6. 以太网口armmos推挽开漏上下拉高低边时域频域傅里叶
  7. MutatorMath 与响应式字体设计
  8. uni-app小程序图片v-html自适应问题
  9. 软工工程-课堂作业题
  10. win10禁用驱动签名