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. 网络爬虫相关程序学习(包含jar包等)---各大网站网络爬虫

    以下内容,都是本人近一年写过的东西,也算花了不少时间.所以,源码并不是免费的,但很便宜.有需要的请邮箱联系:1563178220@qq.com.另外,可以辅助编写其他网络爬虫工程. 网络爬虫基础学习 ...

  2. python网络爬虫入门小程序_Python 实现网络爬虫小程序

    转载请注明作者和出处: http://blog.csdn.net/c406495762 运行平台: Windows Python版本: Python3.x IDE: Sublime text3 前言 ...

  3. Python 实现网络爬虫小程序

    Python很简洁,也很强大,作为兴趣,值得一学! 下面这个程序实现的是从一个网站上下载图片,根据自己需要可以进行修改 import re import urllibdef gethtml(url): ...

  4. 最佳免费网络爬虫工具

    最佳免费网络爬虫工具有哪些?你是否正在寻找工具来提高你的 SEO 排名.曝光率和转化率?为此,你需要一个网络爬虫工具.网络爬虫是一种扫描互联网的计算机程序.网络蜘蛛.网络数据提取软件和网站抓取程序是互 ...

  5. python爬虫从入门到精通-Python网络爬虫开发从入门到精通

    本书共分 3 篇,针对 Python 爬虫初学者,从零开始,系统地讲解了如何利用 Python 进行常见的网络爬虫的程序开发. 第 1 篇快速入门篇(第 1 章 ~ 第 9 章):本篇主要介绍了 Py ...

  6. Java基于网络爬虫的股票信息收集软件

    技术:Java等 摘要: 在当今社会,互联网的发展,给人类的生活和工作带来了极大的便利,随着互联网的进步与改革,"大数据"这个词在近几年逐渐的渗透进我们生活中.大数据,它的基本的含 ...

  7. 精通Scrapy网络爬虫-刘硕-专题视频课程

    精通Scrapy网络爬虫-185人已学习 课程介绍         本套视频课程的讲师刘硕是清华大学出版社出版的<精通Scrapy网络爬虫>的作者,该视频课程为此书的配套课程, 在书中内容 ...

  8. 解析python网络爬虫pdf 黑马程序员_正版 解析Python网络爬虫 核心技术 Scrapy框架 分布式爬虫 黑马程序员 Python应用编程丛书 中国铁道出版社...

    商品参数 书名:Python应用编程丛书:解析Python网络爬虫:核心技术.Scrapy框架.分布式爬虫 定价:52.00元 作者:[中国]黑马程序员 出版社:中国铁道出版社 出版日期:2018-0 ...

  9. python网络爬虫程序技术,Python网络爬虫程序技术

    spContent=该课程是2018年广东省精品在线开放课程.课程主要以爬取学生信息.爬取城市天气预报.爬取网站图像.爬起图书网站图书.爬取商城网站商品等5个项目为依托,讲解Web.正则表达式.Bea ...

最新文章

  1. Linux基础命令使用
  2. LeetCode - Palindrome Number
  3. global.php,global.php
  4. F - Sugoroku2(动态规划)
  5. 计算机组成原理填空题目,(计算机组成原理练习题.doc
  6. matlab 思维数组_matlab多维数组
  7. Python使用Tkinter实现转盘抽奖器
  8. 折扇的保养方法是什么?
  9. HTML特殊字符符号大全
  10. 《东周列国志》第二十九回 晋惠公大诛群臣 管夷吾病榻论相
  11. 手机扫描计数器有哪些?实用扫描计数软件分享给你
  12. 斐讯n1遥控器app——蓝牙篇
  13. css设置高度和宽度相同
  14. 如何选择视频聊天程序搭建视频聊天网站
  15. office365服务器没有响应,Win10安装Office365时电脑无响应的原因和解决方案
  16. 计算机CQ,[计算机软件及应用]CQ使用简介.ppt
  17. 齐岳定制1, 8-萘酰亚胺类荧光化合物,基于萘酰亚胺的fluorogenic荧光探针,双光子、内质网ER靶向双光子荧光探针NI-OPD
  18. 智能网联先导区道路交叉口车路协同系统设计
  19. JavaScript 取随机数
  20. hadoop,Zookeeper这些名字都是怎么来的呢?

热门文章

  1. Vue的MVVM模型和双向数据绑定原理
  2. 数据库基础面试题-存储过程优点
  3. 【sylar】框架篇-Chapter1-搭建开发环境
  4. MATLAB | 全网唯一 MATLAB双向弦图(有向弦图)绘制
  5. css拖拽调整高度,两种为wangEditor添加拖拽调整高度的方式:CSS3和jQuery UI
  6. 酒与艺术的碰撞,酒分之一玩出跨界新高度
  7. TIOBE 2月编程语言排行榜:后端语言竞争激烈,Python再次登顶第一
  8. 位于[ ] 的网页无法加载,因为:net::ERR_CLEARTEXT_NOT_PERMITTED
  9. HTTPS 加密过程详解
  10. 抖音集团企业社会责任报告