信息检索课程结业报告
- 格式:doc
- 大小:415.00 KB
- 文档页数:10
一、前言随着信息技术的飞速发展,信息检索已成为现代社会中不可或缺的技能。
为了提高学生的信息素养和检索能力,我们开展了信息检索实训课程。
通过本次实训,学生不仅掌握了信息检索的基本方法和技巧,还提高了实践操作能力。
以下是本次信息检索实训教程的总结报告。
二、实训目标1. 使学生掌握信息检索的基本概念、原理和方法。
2. 培养学生熟练运用检索工具和数据库进行信息检索的能力。
3. 提高学生的信息素养,增强其获取、分析、处理和利用信息的能力。
4. 培养学生的团队合作精神,提高沟通与协作能力。
三、实训内容1. 信息检索基础知识(1)信息检索的基本概念、原理和方法。
(2)信息检索的类型:全文检索、关键词检索、布尔检索等。
(3)信息检索的工具:搜索引擎、数据库、专业检索系统等。
2. 检索工具和数据库的使用(1)搜索引擎的使用:百度、谷歌等。
(2)数据库的使用:中国知网、万方数据、维普资讯等。
(3)专业检索系统的使用:专利检索、标准检索、科技成果检索等。
3. 信息检索策略与技巧(1)检索策略的制定:关键词选择、布尔逻辑运算、检索式构建等。
(2)检索技巧:快速定位、筛选信息、优化检索结果等。
4. 信息素养与学术规范(1)信息素养的定义、内涵和重要性。
(2)学术规范的基本原则和注意事项。
(3)论文写作与引用规范。
四、实训过程1. 实训准备(1)教师讲解实训内容,明确实训目标和要求。
(2)学生预习实训资料,了解信息检索的基本知识和技能。
2. 实训实施(1)分组进行实训,每组选一名组长负责协调。
(2)教师指导学生使用检索工具和数据库,进行实际操作。
(3)学生相互交流,分享检索经验和技巧。
3. 实训总结(1)学生汇报实训成果,展示检索到的相关资料。
(2)教师点评实训过程,总结实训中的优点和不足。
(3)学生反思实训过程,提出改进措施。
五、实训成果1. 学生掌握了信息检索的基本概念、原理和方法。
2. 学生能够熟练运用检索工具和数据库进行信息检索。
信息检索实训课程学习总结在信息时代,信息检索成为了我们日常工作和学习不可或缺的一部分。
为了提高自己的信息检索能力,我参加了一门信息检索实训课程。
通过这门课程的学习和实践,我对信息检索的原理、方法和技巧有了更深刻的理解和掌握。
以下是我对这门课程的学习总结。
一、课程介绍信息检索实训课程旨在教授学生如何高效地获取信息资源,并提供一些基本的检索方法与技巧。
课程内容包括信息检索系统的构建、检索模型与算法、关键词检索与表达等。
通过本课程的学习,我了解到信息检索在当今社会中的重要性及其应用领域的广泛。
二、信息检索的原理与方法在课程的第一部分,老师详细讲解了信息检索的基本原理与方法。
我们学习了常见的检索模型,例如布尔模型、向量空间模型和概率检索模型等。
了解这些模型的特点和适用范围,对我们开展信息检索工作有着重要的指导意义。
同时,我们还学习了一些常用的检索算法,例如倒排索引算法和PageRank算法等,这些算法可以帮助我们更加高效地进行信息检索。
三、关键词检索与表达关键词检索是信息检索中最常用的一种检索方式。
在本门课程中,我们学习了如何选择和使用关键词进行检索,并学习了一些常用的检索技巧。
我们了解到关键词应该具备的一些特征,例如具有代表性、准确性、完整性和特异性等。
同时,我们还学习了如何使用逻辑运算符和限定符进行关键词检索,以提高检索结果的准确性和有效性。
四、信息检索系统的构建信息检索系统是帮助我们高效检索信息的重要工具。
在课程的最后部分,老师教授了信息检索系统的构建方法和技巧。
我们学习了如何使用开源的搜索引擎系统,例如Lucene和Elasticsearch等,构建自己的信息检索系统。
通过实践,我们能够更加熟练地使用这些系统,提高我们的检索效率。
总结起来,这门信息检索实训课程是我学习中非常有意义的一门课程。
通过这门课程的学习,我受益匪浅。
我不仅学习到了丰富的信息检索知识,还学会了如何高效获取信息资源和利用开源系统构建自己的检索系统。
信息检索课程结业报告
姓
学
一级标题(题目,居中)
二级标题
正文(宋体,小四)
报告格式要求:
●该课程以课程报告的形式作为期末考核方式。
●作业题目围绕着讲课的内容自拟,可以是一个系统,也可以是某个算法的实现。
●报告按照给定的模板,字数不少于5000字。
●报告每人提交一份,合作者要分工明确,着重描述本人的工作,如有雷同,将取消考试
成绩。
报告应涉及以下内容:
●所选题目的概念和应用背景;
●算法原理或者系统设计框架;
●应用程序具体实现及说明(可以是伪代码或流程图,尽量不要在报告正文出现源代码,
源代码可以以附件形式出现);
●实验结果及分析;
●结论。
词法系统下载地址:
/demo/ltp/SharingPackage/HIT-IR-IRLAS_DLL.zip
1。
信息检索总结信息检索—课程总结交控____班—蔡小雯这个学期我们学习了信息检索这门课程,刚开始上课时刘老师就告诉过我们这么课程的实践性特别强,具体理论和方法不多。
如果我们自己不亲自去动手实践,想要提高检索能力是不可能的。
因为很多检索技巧是靠自己在失败的检索教训中不断总结而来的。
我们是以____演讲的形式来摸索信息检索这门课程的,其中老师先给我们每组分配了____演讲内容的大题目,之后由我们各组成员通过网络文献查阅查出自己该演讲的____容。
因为我们一般查阅资料或文章大多是应用网络文献查阅,所以我们应该对网络文献查阅有一个正确的认知:网络文献查阅中应该包括“查”和“阅”两部分。
而两者的关系又是紧密相连的,简言之:前者是后者的前提和基础,而后者又可以指导前者;不要为了检索而检索,检索毕竟只是获得有用信息的手段。
在检索实践的基础上,不断总结检索经验和教训,不断完善检索技巧和方法,“做检索的主人”。
通过三次____演讲之后我____演讲既有提高的地方,也还有不足之处。
提高的地方就是在演讲的时候,我不再像刚刚开始那样紧张的说话都说不清楚了,现在的我可以在同学面前轻松的讲解我的____容,表达能力也高了不少。
当然了,我还是有不足的地方,那就是对需要讲解的事物检索的资料不够全面,内容也不够吸引同学们的注意力,并且有些拘泥文稿,忽视与同学们的互动等等。
在这门课当中我学到了很多,特别是与同学们之间的团队合作与互动也让我与同学们的关系更好了。
在学习信息检索课的过程中,我虽然对信息检索还不是够了解,把握的也不是很熟悉,但我基本能运用刘虹秀老师第一节可对我们所说的信息检索中的知识来查找到我想要的文章或书籍。
在每次的实际课程中,我都能够找到相关的书籍或资料,并能在实际中有着很好的应用。
这对以后我们要写毕业论文有很大的帮助,甚至到了工作岗位上我们也需要用到这方面的知识。
总而言之,学了信息检索这门课程后,我对自己想要把握的知识来源都有了了解,在生活中,我能通过信息检索查到我想要的资料,我觉得这门课对我真实受益匪浅。
信息检索课程报告[范文大全]第一篇:信息检索课程报告____ __…__…2…49…08…11…1…02…__…__…号…学…)线_(__…__…__…博…杨…_…__…_…_名…姓… … …)业封专(_…__…__…_化……体…一…电…机…_…__…_…)_级_密__(_1…1…02…__…__…_…院…学…__…_…_工…_…___本科课程考查专用封面作业题目:信息检索课程报告所修课程名称:信息检索修课程时间:2012 年2 月至 2012 年 4 月完成作业日期:课程结束后一周内评阅成绩:评阅教师签名:2012年5月日航门户、hao123网址之家等搜索并下载培训讲义,申报表等.四、检索过程及结果如下:(1)在搜索引擎(如百度)中输入“非会计专业报考会计资格证相关条件”,通过浏览查找,发现要先考会计从业资格证,在报考全国会计专业技术资格考试。
(http:/ //question/878ee997ade585b3e99481e59bbd7a62313600)(2)在搜索引擎(如谷歌)中输入“四川师范大学”,找到四川师范大学网站,通过上面的链接分别打开川师的教务系统主页,找到川师2012 年会计从业资格证报名考试相关信息()(5)通过四川师范大学图书馆网站首页的书目与外借查询链接,进入四川师范大学图书馆馆藏书目查询系统,以题名和责任者为检索点,分别找到:《会计学原理》,主编:牟小容, 王玉蓉索书号:F230/2393 ISBN/ISSN:978-7-81079-814-3《初级会计电算化》,主编:杨文林,杨定泉索书号:F232/4704 ISBN/ISSN:978-7-5058-6018-6《财经法规与会计职业道德》,主编:张洪军索书号:D922.201/1233 ISBN/ISSN:7-5058-5363-5《会计从业资格考试考点分析及习题精选 :会计基础财经法规与会计职业道德》,会计从业资格考试辅导教材组编写索书号:F23/8383B ISBN/ISSN:978-7-5654-0142-8《基础会计学》,主编:王凤洲索书号:F23/1073 ISBN/ISSN:7-80090-424-5《基础会计学习题与解答》,主编:苏郁生,顾家梁索书号:F23-44/4442 ISBN/ISSN:7-5381-2137-4()(10)在搜索引擎(如)的影视搜索中,分别以“会计基础”,“初级会计电算化”,“财经法规与会计职业道德”为检索词,找到多个视频,并根据相关链接找到成套视频,并用迅雷下载。
信息检索的个人报告总结三篇信息检索的个人报告总结1刚刚接触这个课的时候,并不明白是反正的。
根据句面意思,我认为是教给我们能够快速找到所需要信息的途径,寻找的途径是上网或者图书馆。
上了课才明白,这门课是图书馆老师开设的一门详细介绍如何到对应地点找寻需要的图书,以及如何使用电子图书数据库等档案知识。
图书馆对于我们这个专业的学生,大多甚至是仅限于借阅书籍的作用,很少会在里面读书或者学习,我们也都很少有人了解电子图书数据库的状况。
透过前几次课的初步介绍,对这些知识有了相对详细的了解。
现代的科技发展,检索信息的途径很多,除外不仅仅仅是限于阅览室的藏书,我们能够透过强大的互联网找到我们需要的信息,甚至此刻的“人肉搜索”、GPS卫星导航等等先进技术都能够追踪到人的动态信息。
但是对于仍是学生的我们,美术馆仍然是不可小看的一个工具,大千世界床头都在书本之中展现的淋漓尽致。
从古至今,我们都能够在书本的世界中找寻到世界缩影。
在课上,老师教授了我们图书馆的图书的分类法方式,教会了我们如何在众多的书籍中所快速找到我们需要的书籍,也教会了我们图书馆编号的含义,让我们在图书馆中寻找书籍的时候能够更加顺畅、如鱼得水。
说实话,这门课并不是我们的专业课,所以上课同学们不免有些散漫。
但是,学长们都跟我们要说,这门课虽然是不重要的副课,但是很有用,我们之前没有好好听完,在图书馆找书的时候就有点摸不到门道,你们还是好好听吧。
我们在听见上课的时候便细心听,果然解决了一个现实的问题,我们在电子图书数据库里面找到外边了我们需要的论文,充分体会到了这门课的用处。
这门课我们会好好学,充分利用课上的知识,找到我们需要的学习资料,在大学学习生活里面能够更加顺利。
信息检索的个人报告总结2一、对科技信息检索的陌生科技信息检索能帮助人们快捷、正确、全面地获取所需知识,最大限度地节省查找时间,并使我们的信息检索过程软件工程变得事半功倍,更使信息能够得到充分的借助于利用。
第1篇一、前言随着互联网的快速发展,信息资源日益丰富,信息检索成为人们获取知识、解决问题的必要手段。
为了提高自身的信息检索能力,我参加了一次信息检索实践课程,通过实践操作,对信息检索有了更深入的了解。
以下是本次实践报告的总结。
二、实践内容1. 信息检索基础知识学习首先,我学习了信息检索的基本概念、分类、检索原理和检索方法。
了解信息检索的目的、意义以及信息检索系统的基本结构,为后续实践操作打下基础。
2. 信息检索工具使用在实践过程中,我使用了多种信息检索工具,包括搜索引擎、数据库、学术资源库等。
通过实际操作,掌握了不同检索工具的使用方法和技巧,提高了信息检索的效率。
3. 信息检索策略制定针对不同类型的检索任务,我制定了相应的检索策略。
这包括选择合适的检索词、使用布尔逻辑运算符、调整检索结果排序等。
通过实践,我学会了如何根据检索任务的特点,优化检索策略,提高检索效果。
4. 信息评估与筛选在检索到大量信息后,我学会了如何对信息进行评估和筛选。
这包括判断信息的可靠性、权威性、时效性等方面。
通过实践,我掌握了信息评估的方法,提高了对信息真伪的辨别能力。
5. 信息整合与应用在实践过程中,我将检索到的信息进行整合,形成完整的知识体系。
同时,我将所学知识应用于实际工作中,解决了实际问题,提高了工作效率。
三、实践收获1. 提高了信息检索能力通过本次实践,我对信息检索有了更深入的了解,掌握了信息检索的基本原理、方法和技巧。
在实际操作中,我的信息检索能力得到了显著提高。
2. 增强了信息素养信息素养是指个体获取、评估、利用信息的能力。
通过本次实践,我不仅学会了如何检索信息,还学会了如何评估和筛选信息,提高了自己的信息素养。
3. 丰富了知识体系在实践过程中,我检索了大量的信息,涵盖了各个领域。
这些信息为我提供了丰富的知识资源,使我能够更好地了解世界,拓宽视野。
4. 提升了实际应用能力将所学知识应用于实际工作中,我解决了实际问题,提高了工作效率。
信息检索总结范文现在是一个信息爆炸的时代,我们身边有着成千万上亿的信息,而且这些信息的更新速度是非常快速的。
我们如何能准确而快速地找到我们想要查找的信息呢。
通过所学习的信息检索就可以达到这个目的。
开始开这门课以为没多大兴趣,也认为不重要,对于第一次演讲联想的it公司,也只是抱着完成作业的态度,在网上找些资料,做了个简单的____。
第二次,也那样完成了作业,但学着学着,发现信息检索有很多好处信息检索能帮助人们快捷、准确、全面地获取所需知识,最大限度地节省查找时间,使我们的信息检索过程变得事半功倍,更使信息能够得到充分的利用。
在第三次作业,我做的是wlan的应用,在这次作业,认真的对待,也充分利用信息检索完成了作业,自己也觉得挺舒服的,并不像只是完成作业式的对待,而是在认真的对待。
在学习信息检索课的过程中,我固然对信息检索还不是够了解,把握的也不是很熟悉,但我基本能运用信息检索中的知识来查找到我想要的文章或书籍。
在每次的实际课程中,我都能够找到相关的书籍,在实际中有着很好的应用。
这对以后我们要写毕业论文有很大的帮助,甚至到了工作岗位上我们也需要用到这方面的知识。
学了现代科技信息检索教程后,我对自己想要把握的知识来源都有了了解,在生活中,我能通过信息检索查到我想要的资料,我觉得这门课对我真实受益匪浅。
一学期下来,不感兴趣的课,到后来想掌握,想充分利用,这种转变,主要是了解到信息检索的重要性,这也得感谢刘老师的教导、带动。
信息检索总结范文(二)信息检索是指根据用户需求,在信息库中寻找相关信息的过程。
在现代信息时代,信息检索已经成为人们获取和利用信息的重要手段。
为了提高信息检索的效率和质量,人们逐渐形成了一系列的信息检索总结标准。
信息检索总结标准主要包括三个方面:用户需求的描述、信息资源的组织和表示、以及检索算法和评价。
下面将依次介绍这三个方面的标准。
首先是用户需求的描述。
用户需求描述是信息检索的起点,它决定了检索系统如何理解用户的需求以及如何找到与之相关的信息。
信息检索学习总结报告一、学习目标本次学习信息检索的目标是了解信息检索的基本概念和原理,学习常用的信息检索技术和算法,掌握信息检索系统的设计和实现方法。
二、学习内容1.信息检索的基本概念和原理:学习了信息检索的定义、目标和主要任务,了解了信息检索的发展历程和基本原理,包括词汇表、倒排索引等。
2.信息检索技术和算法:学习了常用的信息检索技术和算法,包括向量空间模型、布尔模型、概率模型等,了解了它们的特点和适用场景。
3.信息检索系统的设计和实现方法:学习了信息检索系统的基本结构和模块,包括数据采集、预处理、索引构建、查询处理和结果评价等,掌握了信息检索系统的设计和实现方法。
三、学习方法1.系统学习:通过学习教材、参考书和相关文献,深入了解信息检索的理论和实践,逐步建立知识体系。
2.实践操作:通过实践操作信息检索系统,了解其功能和使用方法,培养实际应用的能力。
3.讨论与交流:与同学进行讨论与交流,共同研究问题和解决方案,增进对信息检索的理解。
四、学习成果通过这次学习,我掌握了信息检索的基本概念和原理,了解了常用的信息检索技术和算法,掌握了信息检索系统的设计和实现方法。
1.对信息检索的理解:信息检索是指从大规模的文档集合中,根据用户的需求,找到与之相关的文档的过程。
通过构建索引和处理查询,实现高效的文档检索。
2.理解信息检索的发展历程:信息检索技术源于对大量信息资源的需求,随着数字化时代的到来,信息检索技术得到了迅猛的发展,从最初的基于关键词的检索,到后来的基于语义的检索和个性化推荐。
3.掌握常用的信息检索技术和算法:学习了信息检索的三种常用模型,向量空间模型、布尔模型和概率模型,了解了它们的特点和适用场景。
4.熟悉信息检索系统的结构和模块:了解了信息检索系统的基本结构和模块,包括数据采集、预处理、索引构建、查询处理和结果评价等,掌握了建立和实现信息检索系统的方法。
五、存在问题和展望1.学习时间不足:由于本次学习时间较短,仅了解了信息检索的基本概念和原理,对于实际应用还需进一步学习和实践。
信息检索课程结业报告姓学搜索引擎中主题爬虫研究与实现1引言像蒸汽机和电的发明一样,互联网的出现和蓬勃发展对人类生活的影响是革命性的,因为它彻底改变了人们获取信息的方式,人们越来越多地通过网络来获取信息,同时它也改变了我们的生活方式。
为了使人们能快速、准确地从互联网上获取信息,搜索引擎诞生了,从分类目录检索到全文检索,搜索引擎给人们带来了巨大的便利。
它是真正的互联网门户,全球各大著名搜索引擎网站的访问量都居前列。
当今,互联网上的数据量呈现出指数级的增长趋势,并且网页不定期地发生变化,这给搜索引擎带来了巨大挑战。
最大的搜索引擎也只能覆盖互联网上的部分网页,而且并不能保证建索引的网页和现实网页都是同步的,因此优先采集“重要”网页和制定有效的更新策略成了搜索引擎中的信息采集模块——网络爬虫(web crawler)必须考虑的问题。
研究人员在如何评价网页重要度上作了大量研究,这些对网页重要度的评价算法主要基于对网络链接结构的分析,比如著名的PageRank技术。
另外,搜索引擎也不能完全满足人们获取个性化主题信息的需求。
搜索引擎很难回答诸如“我的竞争对手当当书店网站昨天都有什么新书上架?”这样的问题。
为了解决这些问题,就需要一个能在客户端运行的信息采集程序,该程序能满足用户对信息的个性化需求,因此出现了一种称为主题爬虫(topic crawler)的技术。
主题爬虫技术在互联网信息检索上是搜索引擎的有力补充,它能完成一些搜索引擎不能完成的信息获取需要。
同时主题爬虫技术也会应用在搜索引擎上,比如在类目里面的搜索和特定丰题信息的优先更新等。
主题爬虫技术主要研究的是怎样采取一个好的策略(沿着一条好的“路径”)采集相关度高的网页,同时又能有效地避免不相关的网页,这当中主要用到了数据挖掘、机器学习等理论。
它往往结合文本分类、文本聚类、web挖掘等技术,但还远未成熟。
在主题爬虫技术方面,fish search算法是最早提出的一个经典算法,该算法体现了主题爬虫技术的基本思想,之后IBM Haifa Research Libratory提出了一个Shark -search算法对其进行了重大改进,引入了文本相似度理论和链接文本分析技术。
此后研究者在主题爬虫算法的研究上大量使用了机器学习(主要有增强学习、遗传算法等)和数据挖掘理论(主要是web挖掘技术,包括文本分类、聚类还有web架构挖掘等技术)。
本系统主要是在一般爬虫技术的基础上,加入了一个基于重要度的主题爬虫算法,使爬虫可以爬取比较重要的网页。
在本文中详细介绍了该算法的执行过程以及提出该算法的原理。
最后通过与一般爬虫提取的网页进行比较,表明加入该算法后网页的重要度得到很大的提高,在文章的最后分析了该系统存在的不足,并提出通过引入相关度来改进系统。
2系统设计系统结构介绍该爬虫系统主要可以分为三大模块,分别为主程序运行模块、数据存储模块和用户交互模块,其中主程序运行模块又分为线程分配子模块和网页内容下载及分析处理子模块,数据存储模块又分为线程数据共享区、hash存储表和队列存储三个子模块。
具体结构如图2-1所示。
图2-1系统体系结构图模块功能介绍a.用户交互模块该模块主要完成系统与用户的交互,用户可以通过系统界面对话框来对系统的各项运行参数如起始URL、文件存放目录、以及线程的运行数量等进行运行前设置。
在运行过程中用户可以随时暂停和终止程序的运行,系统则把爬取的网页情况在界面上进行显示,供用户操作参考。
b.主程序运行模块该模块是系统运行的主线。
首先启动主线程,然后在主线程中逐个建立各个子线程,子线程通过调用网页内容下载及分析处理模块完成主要的爬取任务。
其中网页内容下载及分析处理模块主要负责完成对应URL网页的内容下载、分析、内容处理等工作,同时也包含与数据存储模块中线程数据共享区的交互。
c.数据存储模块该模块主要完成URL信息及线程信息的存储功能。
其中线程共享区子模块直接与线程进行交互,提供线程所需要的数据,并保证各个子线程互斥的访问共享数据。
队列存储模块是用链表实现的一个简单的队列,实现URL的信息的实际存储。
hash存储模块存储URL的部分信息,用hash算法比较快速的判定某个URL是否已被爬取过。
重要度算法设计与原理采集主题相关的网页,因为时间的限制或需要对重要网页进行更新,而且大范畴主题的网页量也会非常之大,因此我们往往也只能采集一部分主题相关的网页。
这时,我们希望采集的是最“重要”的主题相关网页。
通过分析Hits算法和Shark-search算法得出结合网页链出链接数和对该网页URL的结构分析来计算重要度能够较好的表示一个URL的重要度。
本系统计算重要度公式如下:网页的重要度=FACTOR*(网页链出链接数/MAX LINK NUM) +(1-FACTOR)*(1/网页URL的“/”数)FACTOR是两者的权重因子,值在0到1之间。
FACTOR值越大表示网页链接数对网页重要度的计算越起决定作用;FACTOR值越小,则网页重要度值更多由它的URL结构信息决定,在实验程序中,该值是可以方便调整的。
MAX LINK NUM是为了使网页链接数度量规一化,得到一个0~1之间的值,该值设置为一个较大的值,对于链接数超过MAXLINK NUM的网页,令相除的值为1,MAX LINK NUM值也是可以方便调整的。
根据URL的“/”数对URL重要度的估计是因为URL的“/”往往代表了该URL 在网站中的层次,尤其在结构好的网站中,网页在网站中的层次越高,该网页往往是越重要的。
搜索引擎中的web crawler往往采用宽度优先策略,因为它往往要采集所有碰到的网页来建索引。
而宽度优先往往也被称为按层次遍历,我们将种子节点称为第1层,而种子节点链向的网页称为第2层,…,以此类推,第n层网页链向的网页称为第n+1层。
这当中有很多网页会同时属于多个层次,为了使问题简单化,我们可以约定这些网页只属于它所在的最低层次。
比如第n层某网页a链向网页b,网页a和网页b又同时链向网页c,那么可以认为网页c既属于第n+1层也属于第n+2 层,我们约定网页c只属于第n+1层。
我们以一个网站的主页为种子节点,以严格的宽度优先顺序遍历该网站,也就是只有遍历完第n层的网页才能继续遍历第n+1 层的网页,这样就能得到一个网站的层次结构图。
该重要度计算公式包含了这样一种假设:层次越高的网页越重要(约定第n层比第n+1层高),因为URL中的“/”数目往往隐含了该网页在网站中所处的层次位置,对于结构好的网站尤其如此,URL中包含“/”越多的网页往往越在网站的较低层次,因此本公式中的重要度利“/”数呈反比趋势。
高层次网页的链接数也往往比低层次网页的链接数多,因此本公式中的重要度和网页链接数呈正比趋势。
当然本公式认为链接数多的网页更重要还因为本算法中希望爬虫能优先找到包含链接数多的相关网页,因为这些网页往往链向很多的相关网页。
3模块详细设计用户交互模块设计该模块就是本系统的界面模块,与用户进行交互,获取启动的初始参数,并响应用户的操作。
主要类和函数说明:1)CProjectDlg类定义该类的目的:新建工程时显示对话框,方便用户对工程属性进行设定。
与其他类的关系:被用户界面线MainThread程调用,进行新建的工程一些设置。
2)CNetCrawlerDlg类定义该类的目的:本程序的主窗口,用于新建工程,显示工程进展当前状态。
类中函数及功能:void Add(CString &,bool); 添加下载状态。
与其他类的关系:调用MainThread类,生成一个工程主要流程图如图3-1-1所示。
图3-1-1用户交互模块流程图主程序运行模块设计主要类和函数说明:1)MainThread类定义该类的目的:储存工程下载信息,每个下载线程共享数据区,包括URL 队列,当前线程数量等等类中函数及功能:virtual BOOL InitInstance(); 重写初始化函数bool TrimString(LPTSTR,UINT &,UINT &,bool); 过滤掉网页的html语言标签void Run(CString &); 运行守护线程,启动工作者线程,下载网页与其他类的关系:被NetCrawlerDlg类调用,生成一个工程,下载网页;调用DownloadData类,生成一个数据共享区;调用ProjectDlg类,进行一些工程属性设置。
2)函数名称:UINT DownloadFile(LPVOID pParam)函数功能描述:全局函数;每个工作线程所要调用的函数;从URL任务队列得到一个网址并尝试连接函数的输入参数:LPVOID pParam 主控线程的指针,用于获取共享数据区函数的抽象算法a、试图从URL队列中获取一个URL,若失败则返回(结束线程)b、根据地址向服务器发送请求,若请求失败则返回(结束线程)c、根据网页,提取主要内容,并存一个临时文件,用FindURL函数查找链接d、从共享数据区删除线程标签e、结束线程工作者线程(worker thread)的传入函数不能为类中的成员函数,故将传入函数声明为全局函数3)函数名称:FindURL函数功能描述:全局函数;被工作者线程调用,从网页中提取URL函数调用之前的预备条件:网页已经从网络上下载到本地存为临时文件返回后的处理:删除临时文件函数的输入参数:CString s 临时文件的本地地址MainThread *ptr 用于获得主控线程的共享数据区函数的抽象算法:a、只读方式打开本地文件b、查找连接,若未在共享数据区的URL任务队列中出现,则加入队列c、关闭文件函数与其他对象中函数的调用和被调用关系:被每一个工作者线程调用,来从网页中读取链接,工作者线程(worker thread)的传入函数不能为类中的成员函数,故将传入函数声明为全局函数。
4)函数名称:TrimString函数功能描述:过滤掉字符串中的html语言标签函数的输入参数:LPTSTR pszBuffer 字符串指针指向被处理的字符串,以'\0'结尾UINT &w 已经出现的"<"数目UINT &K 已经出现的"{"数目bool chinese 是否主要保留中文函数的抽象算法:对于html代码,出现在{}中间的被视为函数体会被无条件的删除,出现在<>中间的代码会当作语言标签被删除如果是主要保留中文,为了更好的过滤,若一行中没有一个中文字符,则省略该行。
数据存储模块设计主要类和函数说明:1)类名称:DownloadData定义该类的目的:储存工程下载信息,每个下载线程共享数据区,包括URL队列,当前线程数量等等。