【编者按】网学网其他类别频道为大家收集整理了“研究分析网络爬虫的工作原理及网络爬虫程序设计“提供大家参考,希望对大家有所帮助!
客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn | |||||||||||||||||||||||||
3.3.4 URL筛选策略 因为本设计要实现的是对专门电子商务网站的信息的下载,所以,对于出现在该电子商务网站上面的所有内部链接(InternalLink)都要做处理,但是,一般的电子商务网站也会有其他网站的链接,称为外部链接(ExternalLink)。对于外部链接,本设计的网络爬虫将不做任何处理。处理的代码为: if ( target.getHost().equalsIgnoreCase( new URL(this.target).getHost() ) ) { owner.foundInternalLink(target.toString()); } this.target为要下载的电子商务网站的一个url,target为新发现的一个url,只要他们的域名一样,则认为这个新发现的target也是我将要访问的url. 另外,一般的电子商务的网站的资源,有一些是分布式的,并不会放在一个服务器下面,例如:淘宝网的主页是www.taobao.com.但是其上有很多其他链接,如也包含了很多信息,所以本文设计的爬虫程序将该类型的url也当作内部链接来处理。因而,扩大了对网页的下载范围。 3.4 运行结果分析 在URL.txt里面输入将要下载的初始URL,然后再启动程序,程序便自动加载了这些URL。 在程序运行了120秒左右,一共下载了14.4M的数据,平均下载速度为122.88字节/秒,一共下载了1145个文件。 从下载的内容来看,基本达到了面向电子商务的专业网络爬虫程序的要求。但是在下载过程中,CPU和内存占用率有点偏高。经过分析,主要是因为下载大型站点的时候,新增url数量过多,以至于内存占用率偏高。为了对比爬虫程序对各个网站的下载效果,本人在相同网络状况下,对各个不同的网站的URL下载运行相同的时间。表格3.1是对各个网站的下载效率统计: 表3.1 程序运行测试数据
经过分析,在初始URL对应的网页里有丰富的其他站内链接,下载比较容易。如果在初始URL对应的网页里包含的是脚本语句来实现与其他网页的跳转,因为网络爬虫不能解析脚本语言而终于没有下载到相关的网页。 所以,该爬虫程序的性能可以归结为:在初始url对应的页面包含丰富的链接时,表现出高性能,而在初始url对应的页面使用非链接跳转到其它网页时,性能较低。 结论 本文从搜索引擎的发展历程谈起,从两个角度对搜索引擎进行了分类,对搜索引擎的性能评价指标作了简要的讨论,在此基础上指出了通用搜索引擎面临的局限性,引出了专用搜索引擎在解决这些局限性时所具有的独特优势,并论述了专用的电子商务网络爬虫在专用搜索引擎中的重要地位。本文对电子商务网站的网络爬虫系统进行了全面的分析,介绍了网络爬虫的基本原理和构造方式,讨论并实现了面向电子商务网站的搜索策略,描述了系统的基本工作流程。基于以上分析,结合多线程编程等技术,本文对系统的网络爬虫的结构进行了设计和实现。最后对本系统的url筛选策略进行了分析,实验结果显示这种专用的网络爬虫的设计和实现方案是切实可行的,系统基本达到了预期设计目标。 同时,笔者也注意到还有若干问题需要在下一步完善这种专用的爬虫程序的过程中进一步探讨和解决: 1. 本文设计的url队列保存在内存里,在对大型的网站的网页爬取中,对内存的占用量会比较大,所以在以后的研究过程中改进url的存取方式 。 2. 本文设计的url筛选策略在一定程度上过滤了不相关的链接,并在网站内加大了对网站的搜索广度,但是这种网页的过滤技术并没有根据网页的内容来把一些不包含电子商务商品信息的网页过滤,使得爬虫程序下载了一些无用信息,影响了爬虫的准确性。以后还可能会综合应用数据挖掘、人工智能、神经网络 、 粗集理论等各方面的方法和技术,实现了网页过滤功能。 3. 网络爬虫还无法实现信息的分类,这在一定程度上将影响到搜索引擎的检索效果。这是目前该领域研究热点之一,也将是本文以后努力的重要方向之一。 最后,在学习和研究过程中,笔者深刻地认识到:实践是检验真理的惟一标准。山重水复疑无路,柳暗花明又一村。在实践中发现问题和解决问题,默默体验探索中的辛劳,尽情享受成功时的喜悦,苦在其外,乐在其中。 | |||||||||||||||||||||||||
本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT | |||||||||||||||||||||||||
本文选自计算机毕业设计http://myeducs.cn |