[网络机器人.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[网络机器人

网络机器人 3.1什么是网络机器人 网络机器人又称为Spider程序,是一种专业的Bot程序。用于查找大量的Web页面。它从一个简单的Web页面上开始执行,然后通过其超链接在访问其他页面,如此反复理论上可以扫描/ \t _blank互联网上的所有页面。 基于因特网的有哪些信誉好的足球投注网站引擎是Spider的最早应用。例如有哪些信誉好的足球投注网站巨头Google公司,就利用网络机器人程序来遍历Web站点,以创建并维护这些大型数据库。 网络机器人还可以通过扫描Web站点的主页来得到这个站点的文件清单和层次机构。还可以扫描出中断的超链接和拼写错误等。 3.2网络机器人的结构分析 Internet是建立在很多相关/List_11.html \t _blank协议基础上的,而更复杂的/List_11.html \t _blank协议又建立在系统层/List_11.html \t _blank协议之 上。Web就是建立在HTTP ( Hypertext Transfer Protocol ) 协议基础上,而HTTP又是建立在TCP/IP ( Transmission Control Protocol / Internet Protocol ) 协议之上,它同时也是一种Socket协议。所以网络机器人本质上是一种基于Socket的网络程序。 3.2.1如何解析HTML 因为Web中的信息都是建立在HTML协议之上的,所以网络机器人在检索网页时的第一个问题就是如何解析HTML。在解决如何解析之前,先来介绍下HTML中的几种数据。 文本:除了脚本和标签之外的所有数据 注释:程序员留下的说明文字,对用户是不可见的 简单标签:由单个表示的HTML标签 开始标签和结束标签:用来控制所包含的HTML代码 我们在进行解析的时候不用关心所有的标签,只需要对其中几种重要的进行解析即可。 超连接标签 超连接定义了WWW通过Internet链接文档的功能。他们的主要目的是使用户能够任意迁移到新的页面,这正是网络机器人最关心的标签。 图像映射标签 图像映射是另一种非常重要的标签。它可以让用户通过点击图片来迁移到新的页面中。 表单标签 表单是Web页面中可以输入数据的单元。许多站点让用户填写数据然后通过点击按钮来提交内容,这就是表单的典型应用。 表格标签 表格是HTML的构成部分,通常用来格式化存放、显示数据。 我们在具体解析这些HTMl标签有两种方法:通过/ \t _blankJavaTM中的Swing类来解析或者通过Bot包中的HTMLPage类来解析,本人在实际编程中采用后者。 Bot包中的HTMLPage类用来从指定URL中读取数据并检索出有用的信息。下面给出该类几种重要的方法。 HTMLPage构造函数 构造对象并指定用于通讯的HTTP对象 Public HTMLPage(HTTP http) GetForms方法 获取最后一次调用Open方法检索到的表单清单 Public Vector getForms() GetHTTP方法 获取发送给构造函数的HTTP对象 Public HTTP getHTTP() GetImage方法 获取指定页面的图片清单 Public Vector getImage() GetLinks方法 获取指定页面的连接清单 Public Vector getLinks() Open方法 打开一个页面并读入该页面,若指定了回调对象则给出所有该对象数据 Public void open(String url,HTMLEditorKit.ParserCallback a)3.2.2 Spider程序结构 网络机器人必须从一个网页迁移到另一个网页,所以必须找到该页面上的超连接。程序首先解析网页的HTML代码,查找该页面内的超连接然后通过递归和非递归两种结构来实现Spider程序。 递归结构 递归是在一个方法中调用自己本身的程序设计技术。虽然比较容易实现但耗费内存且不能使用多线程技术,故不适合大型项目。 非递归结构 这种方法使用队列的数据结构,当Spider程序发现超连接后并不调用自己本身而是把超连接加入到等待队列中。当Spider程序扫描完当前页面后会根据制定的策略访问队列中的下一个超连接地址。 虽然这里只描述了一个队列,但在实际编程中用到了四个队列,他们每个队列都保存着同一处理状态的URL。 等待队列 在这个队列中,URL等待被Spider程序处理。新发现的URL也被加入到这个队列中 处理队列 当Spider程序开始处理时,他们被送到这个队列中 错误队列 如果在解析网页时出错,URL将被送到这里。该队列中的URL不能被移入其他队列中 完成队列 如果解析网页没有出错,URL将被送到这里。该队列中的URL不能被移入其它队列中 在同一时间URL只能在一个队列中,我们把它称为URL的状

文档评论(0)

zhonhua5000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档