基于JAVA的搜索引擎设计与实现本科毕业论文(设计)毕业设计(论文)word格式

上传人:无*** 文档编号:79663118 上传时间:2022-04-24 格式:DOC 页数:24 大小:524.51KB
收藏 版权申诉 举报 下载
基于JAVA的搜索引擎设计与实现本科毕业论文(设计)毕业设计(论文)word格式_第1页
第1页 / 共24页
基于JAVA的搜索引擎设计与实现本科毕业论文(设计)毕业设计(论文)word格式_第2页
第2页 / 共24页
基于JAVA的搜索引擎设计与实现本科毕业论文(设计)毕业设计(论文)word格式_第3页
第3页 / 共24页
资源描述:

《基于JAVA的搜索引擎设计与实现本科毕业论文(设计)毕业设计(论文)word格式》由会员分享,可在线阅读,更多相关《基于JAVA的搜索引擎设计与实现本科毕业论文(设计)毕业设计(论文)word格式(24页珍藏版)》请在装配图网上搜索。

1、山东财经大学学士学位论文山东财经大学本科毕业论文(设计)题目:基于JAVA的搜索引擎设计与实现学 院 计算机科学与技术 专 业 计算机科学与技术专业 班 级 计算机科学与技术2班 学 号 20080854239 姓 名 秦 露 指导教师 林培光 山东财经大学教务处制二一二年五月山东财经大学学士学位论文原创性声明本人郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在论文中作了明确的说明并表示了谢意。本声明的法律结果由本人承担。学位论文作者签名:

2、年 月 日山东财经大学关于论文使用授权的说明本人完全了解山东经济学院有关保留、使用学士学位论文的规定,即:学校有权保留、送交论文的复印件,允许论文被查阅,学校可以公布论文的全部或部分内容,可以采用影印或其他复制手段保存论文。指导教师签名: 论文作者签名: 年 月 日 年 月 日基于JAVA的搜索引擎设计与实现摘 要网络中资源丰富,但是互联网上海量的信息,任何一个人都不能全部浏览,为了获取我们需要的信息,由此就产生了搜索引擎。而如今搜索引擎无法满足增长着的网页数量,搜索引擎技术已经成为计算机界积极研究和开发的对象,网络爬虫是搜索引擎的基础,是最底层的技术。所以研究网络爬虫的实现技术并研究其应用十

3、分重要。论文详细说明了如何用java语言实现一个简易搜索引擎,同时描述了搜索引擎的原理,系统功能,简要介绍了系统开发的背景,开发环境,系统的需求分析,以及功能的设计与实现。关键词:搜索引擎;网络爬虫;搜索策略Design and Implementation of Search Engine Based on JAVAABSTRACTThe resources on the internet are abundant, but any one of us cant browse the great quantity information on the Internet, so the sea

4、rch engine appeared to obtain the information which we need. However, search engines can not meet the growth in the number of pages nowadays. Search engine technology has become the object of active research and development of computer industry. Web crawler is the foundation of all and this is the u

5、nderlying technology. So it is very important to develop the Web crawler technology, also it is very important to study the application of the Web crawler technology. This paper details how to implement a simple search engine with java language, describes the principle of the search engine, system f

6、unctions, and briefly introduces the background of the system development, development environment, requirements analysis, and functional designation and implementation. Keywords:Search engine; Web spider; Search strategy目 录一、引言1二、搜索引擎1(一)搜索引擎的工作原理1(二)搜索引擎的分类1(三)搜索引擎技术发展2三、网络爬虫知识储备2(一)深入学习URL3(二)指定U

7、RL获取网页3(三)爬虫策略41、宽度优先搜索42、深度优先搜索5(四)爬取链接5四、相关技术6(一)WEB访问过程6(二)JAVA技术7(三)网络编程8(四)HTML知识8五、需求分析8(一)同步环境8(二)功能需求9(三)性能需求9(四)输入输出要求9(五)运行需求9六、概要设计9(一)可行性论述9(二)系统设计方案9(三)各功能划分10(四)主要存储结构10七、详细设计10(二)获取网页实现13(三)解析HTML实现13(四)ROBOTS文件18(五)信息输出19八、结束语20参考文献20致谢20一、引言自从WWW于1991年诞生以来,已经发展成为拥有超过亿位用户和约400万站点、几十亿

8、页面的巨大信息空间,而且其信息容量仍在以指数形式飞速增长。WWW是以超文本的形式呈现给用户的,包含了从技术资料、商业信息到新闻报道、娱乐信息等多种类别和形式的信息。超文本标识语言以其简单精练的语法、极易掌握的通用性与易学性,使WEB网页可以亲近于每一个普通人,互联网也才得以普及发展以至今日的辉煌。然而,电子商务、电子图书、远程教育等全新领域如异军突起,迅猛发展并逐渐成为互联网世界必不可少且愈发重要的组成部分,随之而来的是WEB文件的复杂化、多样化、智能化,于是高容量、高信息量、高效率便成为网络信息传输技术发展的追求。与此同时还有另一种需求变得愈发广泛而迫切,那便是如何得到用户感兴趣的信息。由于

9、Internet是一个具有开放性、动态性和异构性的全球分布式网络,资源分布很分散,且没有统一的管理和结构,这就导致了信息获取的困难。如何快速、准确地从浩瀚的信息资源中寻找到所需信息己经成为困扰网络用户的一大难题,这也就是所谓的Rich Data Poor Information 问题。于是搜索引擎便随之产生,像mp3搜索、视频搜索、图片搜索正是搜索的初步雏形。根据用户的搜索意图,直接返回相关信息。对搜索引擎技术的研究,国外比中国要早近十年,从最早的Archie,到后来的Excite、ahvista、overture、google等搜索引擎问世。虽然在国外搜索引擎技术早就开始研究,但在国内还是陆

10、续涌现出优秀的搜索引擎,像百度、中搜等。随着搜索引擎技术的成熟,它将成为获取信息、掌握知识的利器。但是现有的搜索引擎对于用户所提出的查询要求仅限于关键词的简单逻辑组合,搜索结果重视的是返回的数量而不是质量,在结果文档的组织和分类上也有所欠缺因此,如何提高搜索引擎的智能化程度,如何按照知识应用的需要来组织信息,使互联网不仅提供信息服务,而且能为用户提供知识服务,将成为计算机工业界和学术界有待研究的方向。而网络爬虫是这一切的基础,是最底层的技术。所以解决这一问题就需要我们研究网络爬虫的实现技术并研究其应用。二、搜索引擎(一)搜索引擎的工作原理搜索引擎的原理,可以看作三步:从互联网上抓取网页,建立索

11、引数据库,在索引数据库中搜索。搜索引擎利用能够从互联网上自动收集网页的爬虫程序,自动访问互联网,并沿着网页中的所有URL爬到其它网页,重复这过程,并把爬过的所有网页收集回来。然后建立索引数据库,由分析索引程序对收集回来的网页进行分析,提取相关网页信息(包括网页所在URL、编码类型、页面内容包含的关键词、关键词位置、生成时间、大小、与其它网页的链接关系等),然后用这些相关信息建立网页索引数据库。接下来在索引数据库中搜索排序,当用户输入关键词搜索后,由搜索系统程序从网页索引数据库中找到符合该关键词的所有相关网页。最后,由页面生成系统将搜索结果的链接地址和页面内容摘要等内容组织起来返回给用户。(二)

12、搜索引擎的分类获得网站网页资料,能够建立数据库并提供查询的系统,都可以把它叫做搜索引擎。真正意义上的搜索引擎,通常指的是收集了因特网上几千万到几十亿个网页并对网页中的每一个词(即关键词)进行索引,建立索引数据库的全文搜索引擎。当用户查找某个关键词的时候,所有在页面内容中包含了该关键词的网页都将作为搜索结果被搜出来。在经过复杂的算法进行排序后,这些结果将按照与搜索关键词的相关度排列。按照工作原理的不同,可以把它们分为两个基本类别:全文搜索和分类目录。全文搜索引擎通过从互联网上提取的各个网站的信息(以网页文字为主)而建立的数据库中,检索与用户查询条件匹配的相关记录,然后按一定的排列顺序将结果返回给

13、用户。从搜索来源的角度,全文搜索引擎又可细分为两种,一种是拥有自己的检索程序,即爬虫程序,并自建网页数据库,搜索结果直接从自身的数据库中调用;另一种则是租用其他引擎的数据库,并按自定的格式排列搜索结果。分类目录则是通过人工的方式收集整理网站资料形成数据库的,比如雅虎中国以及国内的搜狐、新浪、网易分类目录。另外,在网上的一些导航站点,也可以归属为原始的分类目录。(三)搜索引擎技术发展长期以来,人们只是通过传统的媒体(如电视、报纸、杂志和广播等)获得信息。但随着计算机网络的发展,人们想要获取信息,已不再满足于传统媒体那种单方面传输和获取的方式,而希望有一种主观的选择性。现在,网络上提供各种类别的数

14、据库系统,如文献期刊、产业信息、气象信息、论文检索等等。由于计算机网络的发展,信息的获取变得非常及时、迅速和便捷。到了1993年,WWW的技术有了突破性的进展,它解决了远程信息服务中的文字显示、数据连接以及图像传递的问题,使得WWW成为Internet上最为流行的信息传播方式。现在,Web服务器成为Internet上最大的计算机群,Web文档之多、链接的网络之广,令人难以想象。可以说,Web为Internet的普及迈出了开创性的一步,是近年来Internet上取得的最激动人心的成就。面对浩瀚的网络资源,搜索引擎为所有网上冲浪的用户提供了一个入口,毫不夸张的说,所有的用户都可以从搜索出发到达自己

15、想去的网上任何一个地方。搜索引擎技术伴随着WWW的发展是引人注目的。搜索引擎大约经历了三代的更新发展:第一代搜索引擎出现于1994年前后。以Altavista、Yahoo、Infoseek为代表,注重反馈结果的数量,主要特征是“求全”。它主要依靠人工分拣的分类目录搜索,通常由网页制作人自行建立网站名称、网站内容的文字摘要,并将其加入到搜索引擎的资料库中。搜索引擎根据用户键入的信息,根据预先设定的规则进行简单的匹配、排序和显示。这种方法只能进行简单的字符串匹配,无法进行全文搜索。研究表明,搜索引擎性能并没有想象中的那么优秀,在全球11个主要的搜索引擎中,搜索引擎仅能搜索到国际互联网上全部页面的1

16、6%,甚至更低,造成这种情况的原因,主要是这些搜索引擎没有及时更新资料。第二代搜索引擎,利用超链接分析为基础的机器抓取技术,由搜索引擎使用一个程序在网络上撷取资料,并自动将得到的结果存入索引库中。搜索引擎根据用户键入的信息进行匹配、排序和显示。这些引擎的主要特点是提高了查准率,可以用“求精”来描述它的优点,即不需要网站制作人单独键入供搜索的信息,并且从理论上讲,可将任意网站的所有网页加入到它的资料库中。第二代搜索引擎的大多数查询都会返回成千上万条信息,查询结果中无关信息太多,而且查询结果显示比较混乱,使用者仍然难以找到真正想要的资料。第三代搜索引擎是对第二代搜索引擎的改进,相对于前两代,其更注

17、重智能化和用户使用的个性化,主要增加了互动性和个性化等高级的技术,采用了中文自动分类、自动聚类等人工智能技术,而且使用了中文内容分析技术以及区域智能识别技术,增强了搜索引擎的查询能力。同时,搜索技术将更加智能化,可搜索资源将更加广泛,搜索方式也将更加便捷有效,为用户使用搜索引擎获取信息获得更好的体验。三、网络爬虫知识储备(一)深入学习URLURI通常由三部分组成(1)访问资源的命名机制;(2)存放资源的主机名;(3)资源自身的名称,由路径表示。如URL是URI的一个子集。它是Uniform Resource Locator 的缩写,译为“统一资源定位符”。也可以说URL是Internet上描述

18、信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL 可以用一种统一的格式来描述各种信 息资源,包括文件、服务器的地址和目录等。URL 的格式由三部分组成:第一部分是协议(或称为服务方式);第二部分是存有该资源的主机IP 地址(有时也包括端口号);第三部分是主机资源的具体地址,如目录和文件名等。第一部分和第二部分用“:/”符号隔开,第二部分和第三部分用“/”符号隔开,第一部分和第二部分是不可缺少的,第三部分有时可以省略。 HTTP协议的URL:使用超级文本传输协议HTTP,提供超级文本信息服务的资源。 其计算机域名为。超级文本文件(文件类型为.htm

19、l)是在目录 /channel 下的welcome.htm。 其计算机域名为。超级文本文件(文件类型为.html)是在目录/talk 下的talk1.htm。文件的URL:用URL 表示文件时,服务器方式用file 表示,后面要有主机IP 地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。file:/ 代表存放在主机 上的pub/files/目录下的一个文件,文件名是foobar.txt。file:/ 代表主机 上的目录/pub。file:/ 代表主机 的根目录。爬虫最主要的处理对象就是URL,它根据URL 地址取得所需要的文件内容,然后对它进行进一

20、步的处理。(二)指定URL获取网页 根据给定的URL 来抓取网页。所谓网页抓取,就是把URL 地址中指定的网络资源从网络流中读取出来,保存到本地。类似于使用程序模拟IE 浏览器的功能,把URL 作为HTTP 请求的内容发送到服务器端,然后读取服务器端的响应资源。Java 语言是为网络而生的编程语言,它把网络资源看成是一种文件,它对网络资源的访问和对本地文件的访问一样方便。它把请求和响应封装为流。因此我们可以根据相应内容,获得响应流,之后从流中按字节读取数据。例如,.URL 类可以对相应的Web服务器发出请求并且获得响应文档。.URL 类有一个默认的构造函数,使用URL 地址作为参数,构造URL

21、 对象: URL pageURL = new URL(path),接着可以通过获得的URL 对象来取得网络流,进而像操作本地文件一样来操作网络资源:接着,可以通过获得的URL 对象来取得网络流,进而像操作本地文件一样来操作网络资源: InputStream stream = pageURL.openStream()。在实际的项目中,网络环境比较复杂,因此,只用 包中的API 来模拟IE 客户端的工作,代码量非常大。需要处理HTTP 返回的状态码,设置HTTP 代理,处理HTTPS协议等工作。为了便于应用程序的开发,实际开发时常常使用Apache 的HTTP 客户端开源项目HttpClient。

22、它完全能够处理HTTP 连接中的各种问题,使用起来非常方便。只需在项目中引入HttpClient.jar 包,就可以模拟IE 来获取网页内容。本设计中还是采用前者。(三)爬虫策略1、宽度优先搜索在实际项目中,则使用爬虫程序遍历互联网,把网络中相关的网页全部抓取过来,这也体现了爬虫程序“爬”的概念。爬虫程序是如何遍历互联网,把网页全部抓取下来的。互联网可以看成一个超级大的“图”,而每个页面可以看作是一个“节点”。页面中的链接可以看成是图的“有向边”。因此,能够通过图的遍历的方式对互联网这个超级大“图”进行访问。图的遍历通常可分为宽度优先遍历和 深度优先遍历两种方式。但是深度优先遍历可能会在深度上

23、过“深”地遍历或者陷入“黑洞”,大多数爬虫都不采用这种方式。图的宽度优先遍历:图的宽度优先遍历(BFS)算法是一个分层搜索的过程,和树的层序遍历算法相同。在图中选中一个节点,作为起始节点,然后按照层次遍历的方式,一层一层地进行访问。图的宽度优先遍历需要一个队列作为保存当前节点的子节点的数据结构。具体的算法如下所示:(1) 顶点V 入队列。(2) 当队列非空时继续执行,否则算法为空。(3) 出队列,获得队头节点V,访问顶点V 并标记V 已经被访问。(4) 查找顶点V 的第一个邻接顶点col。(5) 若V 的邻接顶点col 未被访问过,则col 进队列。(6) 继续查找V 的其他邻接顶点col,转

24、到步骤(5),若V 的所有邻接顶点都已经被访问过,则转到步骤(2)。把互联网看成一个“超图”,则对这张图也可以采用宽度优先遍历的方式进行访问。宽度优先遍历互联网:宽度优先遍历是从一个种子节点开始的。而实际的爬虫项目是从一系列的种子链接开始的。所谓种子链接,就好比宽度优先遍历中的种子节点一样。实际的爬虫项目中种子链接可以有多个,而宽度优先遍历中的种子节点只有一个。比如,指定 种子链接,如何定义一个链接的子节点。每个链接对应一个HTML 页面或者其他文件(word、excel、pdf、jpg 等),在这些文件中,只有HTML 页面有相应的“子节点”,这些“子节点”就是HTML 页面上对应的超链接。

25、如页面中,“招聘”、“网址”、“更多”以及页面下方的“搜索产品”、“技术文档”、“成功案例”、“新闻”、“联系我们”、“关于我们”、“ENGLISH”等都是种子的子节点。这些子节点本身又是一个链接。对于非HTML 文档,比如Excel 文件等,不能从中提取超链接,因此,可以看作是图的“终端”节点。整个的宽度优先爬虫过程就是从一系列的种子节点开始,把这些网页中的“子节点”(也就是超链接)提取出来,放入队列中依次进行抓取。被处理过的链接需要放入一张表(通常称为Visited 表)中。每次新处理一个链接之前,需要查看这个链接是否已经存在于Visited 表中。如果存在,证明链接已经处理过,跳过,不做

26、处理,否则进行下一步处理。 Todo表Todo表解析URL初始URL图3-1宽度优先爬虫过程初始的URL 地址是爬虫系统中提供的种子URL(一般在系统的配置文件中指定)。当解析这些种子URL 所表示的网页时,会产生新的URL(比如从页面中的 0)if(maxUrls != -1)if(crawledList.size()= maxUrls)break;/从队列取出urlString url = null;if(toCrawlList.iterator().hasNext()tryurl = (String)toCrawlList.iterator().next();catch(ClassCas

27、tException e) /从待爬队列中删除该urltoCrawlList.remove(url);URL verifiedUrl = verifyUrl(url);String verifiedUrlActionTime = getTimeStamp();addResult(verifiedUrlActionTime,校验,url);if(!isRobotAllowed(verifiedUrl)continue;updateStats(url,crawledList.size(),toCrawlList.size(),maxUrls,notHostLink.s ize(),gt30kbLi

28、st.size();/Add page to the crawled listcrawledList.add(url);/Download the page at the given UrlString pageContents = downloadPage(verifiedUrl);String processUrlActionTime = getTimeStamp();addResult(processUrlActionTime,处理,url);writePage(pageContents,verifiedUrl,Integer.toString(i);i+;/若成功下载调用获取连接函数i

29、f(pageContents != null & pageContents.length()0)if(!allowFollow(pageContents,verifiedUrl)continue;ArrayList links=retrieveLinks(verifiedUrl,pageContents,crawledList,notHostLink,gt20kbList);/添加链接toCrawlList.addAll(links);该方法里定义了一个循环,这个线程会重复地执行爬虫动作。在这个循环里,首先会向URL等待队列里请求一个URL。因为URL队列会出现为空的情况。while(craw

30、ling & toCrawlList.size() 0)/从队列中取出链接 String url = null;if(toCrawlList.iterator().hasNext()tryurl = (String)toCrawlList.iterator().next();catch(ClassCastException e) /下载页面返回html内容 /爬取页面链接返回links /添加到links如果没有得到URL就继续向URL等待队列申请。当得到任务URL以后,会通过这个URL得到对应的HTML代码。具体方法是调用downloadPage(URL pageUrl)这个方法。(二)获取

31、网页实现private String downloadPage(URL pageUrl) try BufferedReader reader = new BufferedReader(new InputStreamReader(pageUrl.openStream();String line;StringBuffer pageBuffer = new StringBuffer();while(line=reader.readLine()!= null)pageBuffer.append(line);return pageBuffer.toString();catch(Exception e)r

32、eturn null;这个方法是通过调用JAVA里面的URL这个类,可以用给定的URL构造这个类的一个实例,然后通过openStream()这个方法得到HTML代码的数据流,然后再一行一行地把数据流转换成String字符串,再用StringBuffer将这些字符串拼接成一个完整的HTML代码。(三)解析html实现从HTML代码中提取URLs,一种方法是通过检索字符串中的href字符串来实现的。对于一个HTML代码,寻找其中的href=字符串,然后记录它的下标i判断下标i+1位置上的字符是双引号,单引号或者两者皆不是,然后选择对应的字符作为截取URL的终止标记。截取过后的href标记就剔除它与

33、它前面的部分,以便而后的操作可以继续检索href标记,直到正个HTML代码中所有的href标记都被解析过后,操作终止。首页内陆片港台片日韩片例如上面那段HTML代码。先检索href=标记,然后判断出第i+1位为一个双引号,所以可以截取i+1位到第2个双引号的位置。之间的这段字符串即为URL。当完成这一步操作后,原字符串被截取从“ class=”开始。继续检索href=标签,判断它的第i+1位为一个单引号,所以又截取i+1位到第2个单引号的位置。这步以后原字符串又被截取为“target=”开始,可以继续检索href=标签。这个地方href=没有接续任何符号,所以当没有发现单引号或双引号的时候,可

34、以判断为这种情况。就去检索空格和标签,以下标较小的字符作为截取URL的结束标记。下面是href=后面接续双引号情况的JAVA代码,其他情况的代码方式相同。public void getHref_UrlsList(String html_text, String fromURL,UrlQueueManager urlQueueManager, int index) / 站内URL队列List linklist = new ArrayList();String url = ;/ HTML中是否还含有href标签boolean haveHref = html_text.contains(href);

35、while (haveHref) html_text = html_text.substring(html_text.indexOf(href=) + 5); / 当 href= 后以 开头的情况if ( = html_text.charAt(0) html_text = html_text.substring(1);url = html_text.substring(0, html_text.indexOf();url = addURLhost(fromURL, url);if (isSiteInsideUrl(url, urlQueueManager) if (!urlQueueManag

36、er.isContainUrl(url) linklist.add(url); haveHref = html_text.contains(href); urlQueueManager.waitQueueAdd(linklist); 在每个URL被截取出来之后,需要判断这些URL是相对地址,还是绝对地址。如果截取出来的URL为./mlist/1_1.html这种形式,即为相对地址。需要将其转化为绝对地址。根据相对地址的概念,./为返回上一层,所以可以得到这个相对地址的绝对地址,如果它包含完整的协议信息,域名地址。可以判断它为绝对地址。相对地址与绝对地址的处理:if(link.indexOf(:

37、/)=-1)/处理绝对地址if(link.startsWith(./)link=http:/+pageUrl.getHost()+/+pageUrl.getFile()+/+link.substring(2, link.length();else if(link.startsWith(./)link = http:/+pageUrl.getHost()+/+link.substring(3,link.length();elseString file = pageUrl.getFile();if(file.indexOf(/)=-1)link = http:/+pageUrl.getHost() +/+link;elseString path = file.substring(0, file.lastIndexOf(/)+1);link = http:/+pageUrl.getHost()+path+link;当得到这些完整的URL地址以后,需要对其进行过滤。很多URL它们指向的文件不是HTML文件,而是一些CSS文件,或者RAR包文件,或者只是接续“#”符号,代表只是调用一段javascript代码。像这种情况就直接抛弃这些URLs。下面一段代码通过检索URL字符串中是否包含.css、.rar、.zip这些后缀来进行判断。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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