搜索引擎及搜索引擎优化(SEO)实验.doc

上传人:豆**** 文档编号:28425446 上传时间:2022-07-28 格式:DOC 页数:205 大小:1.03MB
返回 下载 相关 举报
搜索引擎及搜索引擎优化(SEO)实验.doc_第1页
第1页 / 共205页
搜索引擎及搜索引擎优化(SEO)实验.doc_第2页
第2页 / 共205页
点击查看更多>>
资源描述

《搜索引擎及搜索引擎优化(SEO)实验.doc》由会员分享,可在线阅读,更多相关《搜索引擎及搜索引擎优化(SEO)实验.doc(205页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date搜索引擎及搜索引擎优化(SEO)实验实验一 设计模式上机实验一实验三 搜索引擎及SEO实验一、实验目的研究并学习几种常见的搜索引擎算法,包括网络蜘蛛爬行策略、中文分词算法、网页正文提取算法、网页去重算法、PageRank和MapReduce算法,了解它们的基本实现原理;运用所学SEO技术对网页进行优化。二、实验内容1. 研究常用的网络蜘蛛爬行策略,如深度优先策略、广度

2、优先策略、网页选择策略、重访策略和并行策略等,了解其实现原理;2. 研究至少两种中文分词算法,了解其实现原理;3. 研究至少两种网页正文提取算法,了解其实现原理;4. 研究至少两种网页去重算法,了解其实现原理;5. 研究Google的PageRank和MapReduce算法,了解它们的实现原理;6. 使用所学的SEO技术,对实验二所设计的网站静态首页实施SEO,在实施过程中需采用如下技术:(1) 网页标题(title)的优化;(2) 选取合适的关键词并对关键词进行优化;(3) 元标签的优化;(4) 网站结构和URL的优化;(5) 创建robots.txt文件,禁止蜘蛛抓取网站后台页面;(6)

3、网页内部链接的优化;(7) Heading标签的优化;(8) 图片优化;(9) 网页减肥技术。7. 使用C+、C#和Java等任意一种编程语言,设计并实现一个简单的网络蜘蛛爬行程序,要求在输入关键词、设置爬行深度和初始网页URL之后能够实现网页搜索,输出包含关键词的网页的URL和网页标题。【注:实验7为补充实验,不要求每个同学都完成,感兴趣者可自行实现该程序,不计入实验报告评分。】三、实验要求1. 研究几种常用的网络蜘蛛爬行策略,填写相应的表格,表格必须填写完整;2. 研究两种中文分词算法,填写相应的表格,表格必须填写完整;3. 研究两种网页正文提取算法,填写相应的表格,表格必须填写完整;4.

4、 研究两种网页去重算法,填写相应的表格,表格必须填写完整;5. 研究PageRank算法和MapReduce算法,填写相应的表格,表格必须填写完整;6. 提供实施SEO之后的网站静态首页界面和HTML代码,尽量多地使用所学SEO技术;7. 严禁大面积拷贝互联网上已有文字资料,尽量用自己的理解来阐述算法原理,必要时可以通过图形来描述算法;8. 使用任意一种编程语言实现一个简单的网络蜘蛛程序,需提供网络蜘蛛程序完整源代码及实际运行结果。四、实验步骤1. 通过使用搜索引擎并查阅相关资料,研究并整理几种常用的网络蜘蛛爬行策略相关资料,填写相应的表格;2. 通过使用搜索引擎并查阅相关资料,研究并整理两种

5、中文分词算法的基本原理,填写相应的表格;3. 通过使用搜索引擎并查阅相关资料,研究并整理两种网页正文提取算法的基本原理,填写相应的表格;4. 通过使用搜索引擎并查阅相关资料,研究并整理两种网页去重算法的基本原理,填写相应的表格;5. 通过使用搜索引擎并查阅相关资料,研究并整理PageRank算法和MapReduce算法的基本原理,填写相应的表格;6. 对实验二所设计的网站静态首页实施SEO;7. 使用任意一种编程语言,设计并实现一个简单的网络蜘蛛爬行程序。五、实验报告要求1. 研究几种常用的网络蜘蛛爬行策略并填写如下表格:策略名称基本原理参考资料深度优先策略深度优先搜索是一种在开发爬虫早期使用

6、较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件) 。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。百度百科 深度优先搜索: 广度优先策略宽度优先搜索算法(又称广度优先搜索)是最简便的图的搜索算法之一,这一算法也是很多重要的图的算法的原型。Dijkstra单源最短路径算法和Prim最小生成树算法都采用了和

7、宽度优先搜索类似的思想。其别名又叫BFS,属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位址,彻底地搜索整张图,直到找到结果为止。百度百科 广度优先搜索:网页选择策略对搜索引擎而言,要搜索互联网上所有的网页几乎不可能,即使全球知名的搜索引擎google也只能搜索整个Internet网页的30左右。其中的原因主要有两方面,一是抓取技术的瓶颈。网络爬虫无法遍历所有的网页;二是存储技术和处理技术的问题。因此,网络爬虫在抓取网页时。尽量先采集重要的网页,即采用网页优先抓取策略。网页选择策略是给予重要程度、等级较高的Web页以较高的抓取优先级,即We

8、b页越重要,则越应优先抓取。其实质上是一种使网络爬虫在一定条件下较快地锁定互联网中被用户普遍关注的重要信息资源的方法。而实现该策略的前提是正确评测Web页的重要程度bJ,目前评测的主要指标有PageRank值、平均链接深度等。李志义网络爬虫的优化策略探略,广东广州510631重访策略(1)依据Web站点的更新频率确定重访频率此法符合实际情况,能够更有效地管理和利用网络爬虫。例如,门户网站通常每天要不断地更新信息和添加新的信息,重访的频率则以天或小时为周期进行网页的重访。(2)不关心Web站点的更新频率问题,而是间隔一段时间重访已被抓取的冈页。其弊端是重复抓取的概率大,容易造成不必要的资源浪费。

9、(3)根据搜索引擎开发商对网页的主观评价,提供个性化的服务网页的重访需要搜索引擎开发商对主要的站点进行网页更新频率的主观评价,可以根据需求提供个性化的服务。李志义网络爬虫的优化策略探略,广东广州510631并行策略实施并行策略的核心是在增加协同工作的爬虫数量的同时,科学合理地分配每个爬虫的任务,尽量避免不同的爬虫做相同的Web信息抓取。一般通过两种方法来分配抓取任务,一是按照Web站点所对应的m地址划分任务,一个爬虫只需遍历某一组地址所包含Web页即可;另一种方法是依据Web站点的域名动态分配爬行任务,每个爬虫完成某个或某些域名段内Web信息的搜集。李志义网络爬虫的优化策略探略,广东广州510

10、6312. 研究两种中文分词算法并填写如下表格:算法名称基本原理参考资料算法一:最大匹配算法最大匹配算法是一种有着广泛应用的机械分词方法,该方法依据一个分词词表和一个基本的切分评估原则即“长词优先”原则,来进行分词张玉茹 肇庆526070中文分词算法之最大匹配算法的研究算法二:基于无词典的分词算法基于汉字之间的互信息和t-测试信息的分词算法。汉语的词可以理解为字与字之间的稳定结合,因此。如果在上下文中某几个相邻的字出现的次数越多,那么,这几个字成词的可能性就很大。根据这个道理引入互信息(Mutual information)和t-测试值(tscore)的概念,用来表示两个汉字之间结合关系的紧密

11、程度。该方法的分词原理是:对于一个汉字字符串,计算汉字之间的互信息和t-测试差信息,选择互信息和t-测试差信息大的组成词。该方法的局限性是只能处理长度为2的词,且对于一些共现频率高的但并不是词的字组,常被提取出来,并且常用词的计算开销大,但可以识别一些新词,消除歧义。对于一个成熟的分词系统来说,不可能单独依靠某一个算法来实现,都需要综合不同的算法,在实际的应用中,要根据具体的情况来选择不同的分词方案。刘红芝 徐州医学院图书馆 江苏徐州221004中文分词技术的研究3. 研究两种网页正文提取算法并填写如下表格:算法名称基本原理参考资料算法一基于相似度的中文网页正文提取算法正文文本在HTML源文件

12、中有两种修饰方式:有标签提示和无标签提示。有标签文本中标签的作用一般包含分块信息、表格信息、或者文本的字体颜色信息等。这种文本采用基于分块的方法能有不错的效果。而无标签信息的正文文本处理之后不在分块中,也不在表格内。采用先分块后提取放入网页正文提取方法,无法达到理想的精度。本文提出根据相似度来提取网页正文的算法。算法分为两个步骤:首先取出网页中包含中文最多的行,然后利用鉴于此余弦相似度匹配和标签相似度来提取网页正文。该算法最大的特点是避免了上述的分块步骤。熊子奇张晖林茂松(西南科技大学计算机科学与技术学院四川绵阳621010)基于相似度的中文网页正文提取算法算法二基于FFT的网页正文提取算法研

13、究与实现给定一个底层网页的HTML源文件,求解最佳的正文区问。对于任何字符串区间(b,e),(O6ess为源文件的长度S为源文件),都有一个评价值,问题转化为求评价函数的最大解。李蕾,王劲林,白鹤,胡晶晶基于FFT的网页正文提取算法研究与实现4. 研究两种网页去重算法并填写如下表格:算法名称基本原理参考资料算法一:同源网页去重URL哈希值计算构造一个适当的哈希函数H可得到从网页URL字符序列到哈希值的映射,相同的URL字符串会得到相同的哈希值,从而说明该URL已被下载过在对解析出来的URL进行预处理后,以其各字符对应的码值按下式计算出其哈希值:式中为解析出的网页URL集合;Ai为Ui的哈希地址

14、;ni为对Ui进行预处理后的字串长度;Ck为对Ui进行预处理后左起第k个字符的码值;S为哈希槽容量上式表示从URL字符串U到其哈希散列值H的映射关系输入:URL;S输出:URL哈希值算法描述:(1)针对URL初始化;(2)按照式(1)进行URI。哈希值计算;(3)释放空间,返回哈希值高凯,王永成, 肖君上海200030网页去重策略算法二:基于网页内容的去重用网页主体内容间的相似程度来判断它们是否为近似相同,而网页主体采用主题概念进行表示当两个网页主体相似比例达到设定的经验阈值时就认为它们为近似相同,不需重复下载网页Ui(i1,n)使用特征向量进行表示,其主题概念权值wij采用以tfidf为主其

15、他策略为辅的方式来确定,上式对tfidf算子(用t表示)乘以一个因子C来表示不同类型的页面tags对权值的影响,目的是对位于不同位置的词条作不同的加权处理通过试验分析可以确定针对不同tag标记相应的系数C的经验值同时综合考虑概念长因子z、词性因子P等诸多因素,加权体系可表示为上述诸多因素的一个函数,最后输出最能代表该文档的优个权值较大的主题概念而用来判断两个网页A和B之间相似的标准是通过统计主题概念词串的共现个数如果共现个数大于预先设定的经验阈值,就认为网页A和B为近似相似高凯,王永成, 肖君上海200030网页去重策略5. 研究PageRank算法和MapReduce算法并填写如下表格:算法

16、名称基本原理参考资料PageRankPageRank超链分析算法是Google搜索引擎采用的页面排序算法。Google沿用了传统搜索引擎的架构设计,其与传统的搜索引擎最大的不同之处在于它对网页进行了排序处理,使在最重要的网页出现在检索结果的最前面,其核心就是PageRank超链分析算法。通过计算出网页的PageRank值,从而决定网页在查淘返回结果集中的位置。PageRank值越高的网页,在返回结果中越靠前。该算法基于下面2个前提:前提1:一个网页被多次链接,则它可能是很重要的;一个网页虽然没有被多次引用,但是被重要的网页链接,则它也可能是很重要的;一个网页的重要性平均地传递到它所链接的网页。

17、前提2:假定用户一开始随机地访问网页集合中的一个网页,以后跟随网页的链接向前浏览网页,从不回退浏览,而浏览者选择本页中任意一个链接前进的概率是相等的。在每个一个页面,浏览者都有可能对本页面的链接不再感兴趣,从而随机选择一个新的页面开始新的浏览。这个离开的可能设为d。从而页面的PageRank值就是浏览者访问到该网页的概率。设定一个网页A,假设指向它的网页有T1,T2,Tn。令C(A)为A出发指向其它页面的链接数目,PR(A)为A的PageRank,d为衰减因子(通常设为085),则有:陈杰 浙江大学 主题搜索引擎中网络蜘蛛搜索策略研究MapReduceMapReduce是一种编程模型,用于大规

18、模数据集(大于1TB)的并行运算。概念Map(映射)和Reduce(化简),和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(化简)函数,用来保证所有映射的键值对中的每一个共享相同的键组百度百科MapReduce 6. 提供通过SEO优化之后的网站首页静态效果图和完整的HTML源代码。蓝天数码城_专业的电竞鼠标,耳机,键盘网上购物商城 7. 选做:提供网络蜘蛛程序完整源代码及

19、实际运行结果界面截屏(实验报告中需包含源代码和界面截屏)。import javax.swing.*;import java.awt.*;/ need this to access the color object/* * IntegerVerifier.java * */* * Input Verifier to verifier integer text fields * * Checks for valid integer input, and to see if the number is between a * specified max and min value. * * auth

20、or Mark Pendergast */public class IntegerVerifier extends javax.swing.InputVerifier /* listener to get valid/invalid data reports */ private VerifierListener listener = null; /* blank fields allowed, true for ok, false for error */ private boolean blankOk = false; /* minimum valid value */ int minVa

21、lue = Integer.MIN_VALUE; /* maximum valid value*/ int maxValue = Integer.MAX_VALUE; /* Creates a new instance of IntegerVerifier * * param alistener VerifierListener to receive invalid/valid data class (null means no listener) * param blankok if true, then the field can be left blank * param min min

22、imum valid value * param max maximum valid value */ public IntegerVerifier(VerifierListener alistener, boolean blankok, int min, int max) listener = alistener; blankOk = blankok; minValue = min; maxValue = max; /* * Verifies contents of the specified component * * param jComponent the component to c

23、heck * return true if the component is ok, else false * */ public boolean verify(javax.swing.JComponent jComponent) JTextField thefield = (JTextField)jComponent; String input = thefield.getText(); int number; input = input.trim(); / strip off leading and trailing spaces as these gives Integer.parseI

24、nt problems if(input.length() = 0 & blankOk) thefield.setForeground(Color.black); if(listener != null) listener.validData(jComponent); return true; / if empty, just return true else if(input.length() = 0 & !blankOk) reportError(thefield,Field cannot be blank!); return false; / if empty, just return

25、true /* * try to convert to an integer */ try number = Integer.parseInt(input); catch (NumberFormatException e) reportError(thefield,You must enter a valid number); return false; /* * test if its in the range */ if(number maxValue) reportError(thefield,You must enter a number between +minValue+ and +maxValue); return false; /* * report good data */ thefield.setForeground(Color.black); thefield.setText(+number); / reset what we converted into the component if(listener != null) listener.validData(jComponent); r

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com