网学网Java类作品编辑为广大网友搜集整理了:JAVA网络蜘蛛程序的设计绩等信息,祝愿广大网友取得需要的信息,参考学习。
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn |
3 程序设计与实现、测试 3.1 HTTP类及相关类的设计与实现 Java对外通讯类主要承担了与网站建立连接、分析网页并从中提取所有连接的URL。在编写程序代码的时候,利用了java包中的URL类来实现建立连接和抓取URL的功能。 Java提供了许多支持Internet;连接的类URL类就是其中之一。在使用URL类之前,必须创建一个URL对象。创建的方法是使用其构造函数。通过向其指定一个URL地址,就能实例化该类。如:URL url = new URL\如果传递无效的URL给URL 对象,该对象会抛出formedURLException异常,当成功创建一个URL对象后,我们调用openConnection()函数建立与URL的通信,此时,我们就获得了一个URLConnection对象的引用[7]。URLConnection类包含了许多与网络上的URL通信的函数。在下载网页前,我们需要判断目标网页是否存在,这时调用URLXConnection类的getHeaderField()方法,获得服务器返回给Spider程序的响应码。如果响应码包含20?字样,表示目标网页存在,下一步就下载网页。 否则就不下载。getHeaderField()方法仅仅获得服务器返回的头标志,其通信开销是最小的。因此在下载网页前进行此测试,不仅能减小网络流量。而且能提高程序效率。当目标网页存在时,调用URLConnection类的getInputStream()函数明确打开到URL的连接,获取输入流。再用java.io包中的InputStreamReader类读取该输入流,将网页下载下来。 URL即“统一资源定位符”,是代表Internet上资源的地址。它为流览器或其他程序提供一个URL地址以便于在网上访问文件。URL 地址由两部分组成:协议标志符和资源名。如http://bbs.hnu.cn/index.htm这个URL地址中http是协议标志符,http是典型的建立在TCP/IP协议之上的超文本传输协议。本文的蜘蛛程序支持该协议bbs.hnu.cn/index.htm为资源名。该资源名又可分为主名bbs.hnu.cn和文件名index.htm。为了使蜘蛛程序能沿着URL遍历一个网站中所有的网页,我们必须抽取出网页中所有包含的URL地址。抽取的过程很简单,只要遍历一下下载来的网页href后的字符串就是URL,这些URL可分为绝对URL和相对URL。因此我们必须对它们进行解析。绝对URL 如210.43.105.XX可以直接使用。相对URL主要有以下几种形式/filename.htm和../filename.htm形式,表示该文件存在于根目录下。如210.43.105.XX /filename.htm中包含一个相对URL为www.hnu.cn则其经过解析后的绝对URL为210.43.105.XX /filename.htm。/filename.htm形式,表示该文件存在于当前目录下。如http://210.43.105.XX /filename.htm中包含一个相对URL210.43.105.XX/filename.htm则其经过解析后的绝对URL210.43.105.XX/file/filename.htm。由上可知,如果不进行正确的URL解析,蜘蛛程序将难以完成任务。 |
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT |
本文选自计算机毕业设计http://myeducs.cn |