网站导航网学 原创论文 网站设计 最新系统 最新研究 原创论文 获取论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > 其他类别 > 正文

基于XML的MP3下载器的设计

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/05/06

网学网其他类别编辑为广大网友搜集整理了:基于XML的MP3下载器的设计绩等信息,祝愿广大网友取得需要的信息,参考学习。

QQ交谈客服咨询,网学网竭诚为您服务,本站永久域名:myeducs.cn

 

3系统的设计与实现
3.1        系统流程图

 
图3-1 系统流程图
 
3-1 系统流程图说明:MP3下载器按照功能模块分为2个部分,网络爬虫和文件下载。结合搜索引擎框架要求和功能模块的划分,制定MP3下载器的系统流程图。
3.2        MP3爬虫算法
将互联网中的每个网页视为一个结点,网页中的链接作为有向边,构成一个基于互联网的Web有向图。从某个结点或某几个结点出发,采用广度优先或深度优先搜索策略遍历整个互联网。
3.2.1        广度优先遍历策略
广度优先搜索遍历是按照下图来实现的。也就是,由S开始,然后遍历S生成的状态1,2,然后扩展状态1,生成状态3, 4, 5,接着扩展状态2,生成状态6, 7, 8,该层扩展完后,再进入下一层,对状态3进行扩展,如此一层又一层地扩展下去,直到遍历完整个图。
图3-2 广度遍历图
由于广度优先搜索总是在生成扩展完N层的节点之后才转到N十1层的,所以它总能找到最短的解题路径,但是如果分支太,也就是状态的后续状态数太多的话,这种组合爆炸就会使算法耗尽资源,在可利用的空间中找不到解[4]
广度优先遍历算法的过程如下:
(1) 把初始节点S放入队列Queue中;
(2) 如果队列Queue为空,则退出:
(3) 把队列Queue的第一个节点取出访问,若该结点有扩展结点,则将扩展结点加入队列Queue中, 然后转第(2)步;
3.2.2        基于本课题的爬虫算法改进
本课题MP3下载器的搜索部分相当于一个专用搜索引擎,它只关心MP3相关的信息,而忽略其它不相干的信息.因此,爬虫抓取的主体是MP3链接以及相关联的信息。爬虫算法原理改进如下:
PROCEDURE MP3Crawler(G, {SEEDS})//G表示WEB有向图,SEEDS表示种子链接
       Initialize COLLECTION //保存收集的MP3资源链接集合
       Initialize URL_VISITED //哈希表,保存已抓取过的URL链接
    Initialize MP3_VISITED //哈希表,保存已抓取过的MP3资源链接
    Initialize Queue //队列
//种子链接入队列
       For every ROOT in SEEDS
              Let Queue := enqueue(ROOT, Queue)
    //从种子链接出发,开始爬取
       While Queue is not empty,
            //从队列中选择一个还没有被爬取过的URL链接
                     Do URLcurr := dequeue(Queue)
                            Until URLcurr is not in URL_VISITED
            //加入到哈希表中,表示该URL链接已经被爬取
                     insert-hash(URLcurr, URL_VISITED)
           //提取该URL链接对应的HTML文件
                     PAGE := look-up(URLcurr)
           //提取该网页中所有MP3资源的链接,
            For every MP3_URLi in PAGE
               If MP3_URLi is not in MP3_VISITED then
                 //保存
                 STORE(MP3_URLi, COLLECTION)
                 //加入到哈希表中,表示该MP3资源链接已经被爬取
                 Insert_hast(MP3_URLi, MP3_VISITED)  
            //提取该网页中的所有URL链接,并加入到队列中
                     For every URLi in PAGE,
                            enqueue(URLi, Queue)
       Return COLLECTION
图3-3 改进的爬虫算法
3.2.3        解析HTML
通过分析网页的HTML文档,我们发现网页链接主要有以下几种表现形式。
(1)               http://host/
(2)               http://host:port/
(3)               http://host/dir/file
(4)               http://host/dir/file?name=value&name2=value2
(5)               https://host/
(6)               /dir/file(相对路径地址,本论文中暂不考虑这种情况)
其中host表示主机域名,port 表示端口号,dir 表示目录,file表示服务器上的网页,name=value&name2=value2表示URL所带的2个参数。
通过以上分析,可以得到链接各个部分的正则表达式。
协议:http(s)?
域名:(\\w+\\.)*\\w+
端口:(:\\d+)?
相对路径:(/\\w+/?)*(\\w+\\.\\w+)?
参数:(\\?(\\w+=\\w+&?)*)?
综上,得出URL链接的正则表达式的完整形式:
regexURL=http(s)?://(\\w+\\.)*\\w+(:\\d+)?(/\\w+/?)*(\\w+\\.\\w+)?(\\?(\\w+=\\w+&?)*)?
MP3链接的正则表达式:

regexMP3Url=http(s)?://(\\w+\\.)*\\w+(:\\d+)?(/\\w+/?)*\\w+\\.mp3

本站发布的计算机毕业设计均是完整无错的全套作品,包含开题报告+程序+论文+源代码+翻译+答辩稿PPT

本文选自计算机毕业设计http://myeducs.cn
论文文章部分只是部分简介,如需了解更多详情请咨询本站客服!QQ交谈QQ3710167

原创论文

设为首页 | 加入收藏 | 论文首页 |原创论文 |
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师