网络爬虫的设与实现(完整版)_第1页
网络爬虫的设与实现(完整版)_第2页
网络爬虫的设与实现(完整版)_第3页
网络爬虫的设与实现(完整版)_第4页
网络爬虫的设与实现(完整版)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

网络爬虫的设计与实现摘要网络爬虫将下载的网页和收集到的网页信息存储在本地数据库中以供搜索引擎使用,它是一个专门从万维网上下载网页并分析网页的程序。随着网络的快速发展,人们对搜索引擎的要求也越来越高,而网络爬虫的效率直接影响着搜索引擎的质量。本课题研究的是通用网络爬虫,它是从一个或若干个初始网页的链接开始进而得到一个链接队列。伴随着网页的抓取又不断从抓取到的网页中抽取新链接放入到链接队列中,直到爬虫系统满足了停止条件。该课题主要涉及到了缓冲池技术,多线程技术,套接字技术,HTTP和SSL协议,正则表达式,Linux网络编程技术,PHP+Apache的使用等相关技术。本说明书叙述的网络爬虫是以LinuxC实现的,加以PHP语言编写的界面使用户更加方面的操作,利用Shell脚本和Apache服务器使得爬虫系统和界面很好的结合在一起。关键词:网络爬虫缓冲池正则表达式SSL协议多线程目次TOC\o"1-5"\h\z\o"CurrentDocument"引言 1\o"CurrentDocument"课题选题背景 1课题研究的意义 2\o"CurrentDocument"需求分析 3\o"CurrentDocument"功能需求分析 3系统性能分析 4\o"CurrentDocument"系统设计 5\o"CurrentDocument"系统工作流程图 5数据结构设计 6系统各功能流程图 7\o"CurrentDocument"系统实现 10\o"CurrentDocument"相关技术分析 10\o"CurrentDocument"系统功能模块的实现 11\o"CurrentDocument"测试与结果 17\o"CurrentDocument"结论 23致谢 错误!未定义书签。参考文献 24引言随着网络技术日新月异的发展,互联网俨然已成为信息的最大载体。为了能够在浩瀚的信息海洋中精确地查询用户所需要的信息,搜索引擎技术应运而生。目前比较流行的搜索引擎是Google和百度,他们拥有着庞大的用户数量。作为搜索引擎的重要组成部分,网络爬虫的设计直接影响着搜索引擎的质量。网络爬虫是一个专门从万维网上下载网页并分析网页的程序。它将下载的网页和采集到的网页信息存储在本地数据库中以供搜索引擎使用。网络爬虫的工作原理是从一个或若干初始网页的链接开始进而得到一个链接队列。伴随着网页的抓取又不断从抓取到的网页里抽取新的链接放入到链接队列中,直到爬虫程序满足系统的某一条件时停止。本说明书对课题背景进行简单介绍的同时,又对研究网络爬虫的意义进行了叙述,在此基础上,详细的介绍来了利用C语言在linux系统上开发出多线程网络爬虫的设计步骤。课题选题背景搜索引擎是用户在网上冲浪时经常使用的一种工具,毫无疑问,每个用户都可以通过搜索引擎得到自己所需要的网络资源。搜索引擎一词在互联网领域得到广泛的应用,但是每个地区对它又有着不同的理解。在一些欧美国家搜索引擎常常是基于因特网的,它们通过网络爬虫程序采集网页,并且索引网页的每个词语,也就是全文检索。而在一些亚洲国家,搜索引擎通常是基于网站目录的搜索服务。总的来说:搜索引擎只是一种检索信息的工具。它的检索方式分为以下两种:一种是目录型的方式,爬虫程序把网络的资源采集在一起,再根据资源类型的不同而分成不同的目录,然后继续一层层地进行分类,人们查询信息时就是按分类一层层进入的,最后得到自己所需求的信息。另一种是用户经常使用的关键字方式,搜索引擎根据用户输入的关键词检索用户所需资源的地址,然后把这些地址反馈给用户。1.2课题研究的意义网络在我们的生活中越来越重要,网络的信息量也越来越大,研究该课题可以更好的理解网络爬虫在搜索引擎中的作用以及网络爬虫的原理。现实中,一般的服务器大多是linux系统该课题更好的配合了linux系统上运行爬虫程序,加上界面更容易操作。21世纪是一个讲究信息安全的时代,于是网站上出现了越来越多的https(超文本传输安全协议)协议的链接,该课题很好的利用了SSL协议解决了下载https协议链接的问题。设备的内存是珍贵的,如何更加合理有效地利用内存提高内存的利用率是值得研究的,该课题为了解决内存的利用使用了内存池来提高内存的使用率。需求分析网络爬虫是一个专门从万维网上下载网页并分析网页的程序。它将下载的网页和收集到的信息存储在本地数据库中以供搜索引擎使用。网络爬虫的工作原理是从一个或若干初始网页的链接开始进而得到一个链接队列。伴随着网页的抓取又不断从抓取到的网页里抽取新的链接放入到链接队列中,直到爬虫程序满足系统的某一条件时停止。它是搜索引擎的重要组成部分。功能需求分析网页下载功能能够下载任何http协议和https协议的链接的网页。构造HTTP请求中的GET请求。分析HTTP响应请求。网页分析功能提取网页标题。提取网页关键字。提取网页摘要。提取网页链接并统计数量。把新链接加入到URL队列。内存池功能能够分配固定大小的内存。能够回收内存对象。能够释放内存对象。能够销毁内存池。能够分配固定大小的内存。(4)保存功能能够正确保存网页以及网页信息到文件。功能把系统运行中的异常写入日志文件。(5)界面可以配置参数和运行后台的爬虫系统。能够查看运行结果。2.2系统性能分析当用户使用系统时,系统需要能够对于一些异常状况系统能够记录并跳过此异常继续执行。系统需要具有较高的可移植性和可靠性。系统需要具有很好的可测试性和可维护性。网络爬虫系统是不停的从万维网上下载网页和采集网页信息的系统。由于网络爬虫系统是搜索引擎的组成部分,搜索引擎要利用到爬虫系统的信息,所以系统要设计合理的存储文件并建立索引。系统设计系统工作流程图本系统通过IE共同访问Apache服务器的发布的页面、Apache服务器返回页面方便用户操作。系统物理结构如图3-1:图3-1图3-1系统物理结构图(2)界面的流程如图3-2:图3-2页面结构图图3-2页面结构图.(3)网络爬虫系统流程如图3-3:图3-3系统流程图3.2数据结构设计系统中主要是使用了链表作为URL队列,而链表中的每个结构体是一个数据单元,数据单元中的元素及其含义如表3-1:表3-1数据结构表字段类型含义hostchar*网页所在的主机portint网络服务器所使用的端口dirchar*网页所在的目录pagechar*网页文件名filechar*本地保存的文件名pageinfochar*保存网页信息的文件名urlchar*存储网页链接titlechar*网页的标题

keywordschar*网页的关键字bodychar*网页的摘要protocalchar连接使用的协议0-http1--httpsurlcountint网页中的链接数目typechar*网页类型codechar*网页编码pagesizeint网页大小ishandledchar是否处理过brotherstrcut*兄弟节点链表指针childstruct*子节点链表指针系统把初始的链接保存在了init_url文件中;把一些异常情况保存在了crawl.log文件中;把下载的网页文件保存在了page_db文件夹中;把网页信息文件保存在page_info文件夹中;把网页中链接文件保存在了page_url文件夹中;把网页文件名称,网页信息文件名称,网页链接文件名称保存在link.db文件中。3.3系统各功能流程图主模块功能流程图如图3-5:图3-4主模块流程图需要说明的问题:指向内存池的是一个全局变量指针。初始的URL必须从文件中读取,然后调用函数get_host()解析出URL的host,page,dir,port。必须要有全局变量指向URL队列的头。功能模块流程图如图3-6:图3-5图3-5下载模块流程图需要说明的问题:启动线程下载。对于GET请求不变动的部分使用宏定义。在链接服务器前需要建立socket套接字并进行域名解析(3)功能模块流程图如图3-7:注意(3)功能模块流程图如图3-7:把新的URL添加到 URL队列 否满足条件 是匕..结束功能模块图3-6解析模块流程图需要说明的问题:利用系统函数把网页读入内存。利用正则表达式提取相关信息。把一个网页的URL写入文件保存。(4)功能模块流程图如图3-8:

配置.php配置爬去深度,添加初始URL等待。。。图3-7界面流程图需要说明的问题:配置界面配置爬行深度的参数必须大于0。每个界面必须有返回按钮和返回首页的按钮配置界面输入的URL不能为空。系统实现相关技术分析多线程操作系统能够运行多线程还不到40年,但线程的出现带来了很多正面影响,使用多线程具有以下好处:和进程相比,多线程是多任务操作中十分“节俭”的方式。在Linux操作系统中,开启新进程来达到多任务工作的目的是十分"昂贵"的,因为必须给新进程分配独立的地址空间以及用来维护代码段的众多数据表、堆栈段、数据段。而多个线程共享相同的内存空间和大部分数据,因此启动一个线程跟启动一个进程在所花费的空间上有很大的差别,同时,在启动需要的时间上线程要远远小于进程。通信机制。由于进程具有独立的数据空间,因此进程间只能通过通信的方式进行数据传递,显然这种方式是耗时又不方便的。由于线程共享数据空间的特性,因此线程与线程通信更加方便。当然共享特性也带了一定的数据不一致的风险,但可以通过锁机制来解决。内存池申请内存空间几乎是每个系统必须涉及到的,而直接使用系统函数malloc和free进行内存分配和释放会产生额外的开销并且频繁使用还会产生大量内存碎片从而降低程序运行效率,同时还容易造成内存泄漏。内存池很好的解决了直接调用系统函数所带来的问题。也就说使用内存池进行内存申请、释放要比使用malloc和free方式快,系统开销小;不会造成内存碎片或有很少的内存碎片同时内存池很好的避免了内存泄漏。正则表达式在本说明书所叙述的网络爬虫系统中在提取网页中链接、提取网页标题等功能函数中使用了正则表达式。正则表达式是Linux系统中一种非常重要的字符串搜索模式,是一组规则字符的集合。这些规则字符能够组成我们所需要的搜索规则,效率高、功能强,可以极大地简化处理字符串时的复杂度。虽然标准C是不支持正则表达式的,但是可以在POSIX函数库中的regex系列函数的辅助下在程序中运用它们。SSL协议SSL的全称是SecureSocketsLayer,它是一个为基于TCP的应用层协议提供安全连接的安全协议,为网络上数据的传输提供安全性保证,因而被广泛应用于网上银行、电子商务等金融领域。SSL提供的安全连接(如https)可以实现:连接的私密性:传输的数据是利用对称密钥进行加密,并利用RSA加密传输对称密钥算法中使用的密钥。身份验证:对服务器和客户端进行身份验证的方法是基于证书利用数字签名实现的。SSL服务器和客户端通过公钥基础设施提供的机制从认证机构获取证书。连接的可靠性:使用基于密钥的消息验证码来检验传输消息的完整性。消息验证码是将密钥和随机数转换为定长数据的一种算法。SSL协议本身可以分为两层:底层为SSL记录协议(SSLrecordprotocol);上层为SSL握手协议(SSLhandshakeprotocol)、SSL密码变化协议(SSLchangecipherspecprotocol)和SSL警告协议(SSLalertprotocol)。系统功能模块的实现主模块(1)主要事件流:调用内存池模块创建内存池返回指向内存池的指针并在程序结尾销毁内存池。初始URL队列。调用下载模块和分析模块。异常事件流:创建内存池失败。初始URL队列失败。(3)重要编码实现:cache=object_cache_create(sizeof(WEBNODE),OBJECT_COUNT);confp=fopen(CONF_PATH,"r");crawl_deep=atoi(buf);rfp=fopen(FILE_PATH,"r");while(){get_host();add_init_node();}handle_init_node(nodeheader,FIRST);object_cache_destroy(cache);内存池模块(1)主要事件流:创建内存池。销毁内存池。分配内存对象。回收内存对象。释放内存对象。(2)异常事件流:申请大块内存失败。分配内存对象失败。释放内存块失败。模块重要函数接口:intobject_cache_init(object_cache_t*cache,size_tunit_size,unsignedcount);接口功能:初始化对象缓存。针对已有的缓存结构进行初始化;若count为0,则初始化后缓存中不包含可用对象在第一次申请时创建OBJECT_CACHE_DEFAULT_COUNT数目的对象。voidobject_cache_free(object_cache_t*cache);接口功能:释放对象缓存内部存储。object_cache_t*object_cache_create(size_tunit_size,unsignedcount);接口功能:创建对象缓存池。unit_size单个对象大小;count初始对象数目,同样作为自动扩大的数目。voidobject_cache_destroy(object_cache_t*cache);接口功能:销毁对象缓存池,同时销毁缓存中的所有对象。void*object_new(object_cache_t*cache);接口功能:从缓存中获取一个新对象intobject_del(object_cache_t*cache,void*object);接口功能:将对象释放到缓存中。下载模块(1)主要事件流:构造GET请求。链接服务器。发送GET请求。接受网站返回的数据。(2)异常事件流:链接网站服务器失败。发送请失败。接受网站返回数据失败重要代码实现:staticintget_https_page(intsockfd,WEBNODE*node,char*request){SSL_library_init();OpenSSL_add_all_algorithms();SSL_load_error_strings();ctx=SSL_CTX_new(SSLv23_client_method());ssl=SSL_new(ctx);SSL_set_fd(ssl,sockfd);if(SSL_connect(ssl))elseSSL_get_cipher(ssl);len=SSL_write(ssl,request,strlen(request));while(){。。。接受报文头。。。}while()fclose(localfp);}解析模块(1)主要事件流:把网页读入内存。提取网页标题。提取网页关键字。提取网页类型和编码。提取网页链接。检查链接是否处理过。(2)异常事件流:向URL队列添加链接。网页读入内存失败。打开文件失败。重要代码实现:structnode_t*getinfo(constchar*page,constchar*pattern[]){nodearr=malloc(maxnode*sizeof(structnode_t));for(i=0;pattern[i];i++){regcomp(®,pattern[i],REG_EXTENDED|REG_ICASE);p=page;while(1){ret=regexec(®,p,NRM,rm,0);maxnode+=ADDNODESTEP;nodearr=realloc(nodearr,maxnode*sizeof(structnode_t));ret=addnode(nodearr,nnode,newpattern,rm);p=page+ret;}regfree(®);}nodearr[nnode].begin=-1;nodearr[nnode].end=-1;qsort(nodearr,nnode,sizeof(structnode_t),nodecmp);}界面(1)主要事件流:①能够设置参数和添加网页链接。②能够显示参数和链接并可以对他们进行基本的操作。能够执行后台的爬虫系统。能够显示执行结果。(2)异常事件流:①添加不合法的数据其他功能模块(1)主要事件流:读取现在的时间。②保存及时数据。(2)异常事件流:①打开文件失败。5测试与结果对界面的测试:能够通过界面把数据写入文件并能够从文件中读出在页面上显示。返回和执行按钮可以正常的使用。数据的修改和删除功能能够正常使用。但对于异常数据没有进行判断以致不合法的数据也可以写入配置文件。对爬虫程序的测试:输入不合法的URL。能够把错误类型写入日志文件。输入各种类型的URL,只对http和https链接处理其他链接被视为异常。对系统速度的测试:经过多次运行计算平均数值。得到系统的运行效率不是很高。平均每秒大约下载3个网页。测试移植性:把系统移植到其他的linux系统上运行大多是缺少openssl库而致使系统出错。总的来说系统没有出现系统无响应,处于死机状态,需要其他人工修复系统才可复原这样的严重错误。经过多测试和修改系统现已能够正常运行。配置界面和效果图如下:set-Cookie:session-token^-;path=/;domain^»www*amazon*cn;expires=Fri,19?00006:06:33GMTset-Cookie:ubid-acbcn=-;path=/;domains.www,;expires=Fri,19-Ma)96:06:33GMTiet-Cookie:at-nain=-;path=/;donain=*www*amazon*cn;expires=:Fri,19-May-2>:06:33GMTiet-Cookie:x-acbcn=-;path=/;donain=*www*amazon*cn;expires=:Fri,19-May-2>:06:33GMTiet-Cookie:UserPref=-:path=/;domains*www,;expires=:Fri,19-May-)6:06:33GMTiragna:no-cache<-anz-id-l:0HGB4R95DG68HDG7HG3Czache-control:no-cacheexpires:-1<-anz-id-2:Lf2NduJOCy+jE8Y6HZCf72HXKircraLlfHC3gHg0eKA=Jary:Accept-Encoding,User-Agent2ontent-Type:text/htnl;charset=UTF-8set-cookie:session-id-time=2O827296011;path=/;domains*amazon*cn;expires31-Dec-203516:00:01GMTset-cookie:session-id0000000;path=/;domains4amazon*cn;expisn,31-Dec-203516:00:01GMTZonnectton:dose

JO/php/u「lShow.php JO Google Q為m你当■的位■:[设■尺虫足取的深度】1®设7序号足取网页的J6度作—2罔址:®淳加」序号网址墓本樟作1httpy//M剧除—/图5-2配置界面图说明:设置参数把参数写进了set.conf文件添加网址把网址写进了init_url文件执行爬虫程序按钮是触发系统运行。■号用页号页社椁文件12012-05-1710:27:1iiiileDaDOD.ti[jnlp^gemfoOOOQO.ixEurtOOODC.Dfl:=BP?51fl!SHVRS色含射脛22012-05-1710:27:17liieOGDCIIJiEinipa^eKifuiXlOO1.ihurtODODl.ixi:=B^^ibbirnfftflia52D12-05-1710:27:171ileOCi(Kl2.hnnlp^ganfoOdOOZ.baurfiOQODZ.m:岂■國卫僵摩HTTIWP42&12-G5-1710:27:17fileG0D03ji[inlpagE问fDDOCMB.tHurKIDCiDS.DCE骂■円贞色含酣掙打TFjtmi52012-05-1710:27;!71ile{KiiX]4li[jnip邨亦DDOCMH.guriQDOM.bi打??如m&ZD>12-05-1710:27:17fileOOMS.titmlpageinfoDDOQ^.tiaurkJOCiGS.Da矍■网为fl肆打祁!72012-05-1710:27;17pmg轲foODCHJHtraurWQ0D7.D0:rrflsflpB2012-05-1710:27:17fileMKlB.litinlpageuiffiMiMS.murtJQQK>fl.gnSPljUSB可洱底禹rn52012-05-1710127:17fileCKJKlU.titinluriODOM.tH:奥■■屁赳影in打幵应n应临2012-05-1710:27:17iileWGllJhanlpa^emfuDODli.tneuriOWTl.tet庖羯■間僭审!jTffftflHm2U124)5-1710:27;17fileWDlZJhmlpa.gEwiffliMJD12.tiiunooorz.ot曰豪珂吃杭空Mn打幵BinT22D12-05-1710;27;lSfileOT013.tihnlpagemfflOTQl3.1murtOWTS.tHis艮讯成宦“THttmejupt1!12512-05-171Q;27;1BfileWOlShtmlpa^emfolMOl「guriOM^.tn白H尿F吃厦曰料關圧邑密由H打托"nZ&1Z-05-171Q;27;18file(MQ164itmlpagemfoOTQie.murftKn&UlZ012-05-1riO;27;1SfileQOOl^jhtmlps^ewihiOTDl7.muEMM佩E:自豪阿亡电茨甜ISfifUMRiT!&20H2-O5-T7t(:27rl8阳尉n用ODDI氐urtKNlS.M色n期虔包色抽博孑]护立禺Fi172fti2-C5-1:710;27;i8pggeinfflWiOl^.ffiuriOflOig.M直◎网?*1俺世白■甜吏也含站權1B2tt12-G5-17t0^7;18iile00&20titmluriOmv.M岂■吗出卫含站修打剖t・thT勺2012-01-1710:27;1Spatg^nifflQflOi1.murtOOOlLtetfiURfflfflje■■瞬贞邑含帖n打异出也话加2&12-0S-1710:37:18file«W2Jirmluri0lM22.m矗■卅対伯电a・n灵e»w«J]?rfc«R112&12-05-1710;27;1SuriOOmiB金•曲幻側直sumneaiiLH打耘dMm222&12-05-171O:27;19忖烦韓4加mlpfl£P5nkiM024.hrturlO(l024,rrl总■岡氏也含班權打斧律HBl232612-05-1710:27:23p^pnMflO!6,W11也闻2酉m金•网?1價・打誓庄列话242512-054710:27:231il他02丁llhnlpi^gpmh]MO27rtii— _ 、—-t—•.urlf)M27cUl总•闻为店也打幵"为图5-3运行之后的效果图说明:①点击查看日志按钮出现的效果图为图5-4。②点击查看网页信息出现效果图为图5-5。点击查看网页中的链接出现效果图为图5-6.

点击打开网页出现效果图为图5-7。flasRiitnaa【■吊曰車袁件何空]|R吉更新时i'h]:201205-1710:27:17]igtfiS出現在gnd_on亡jw姑c\K杵甲的connta_wtbOSEl中在¥护主机町出51毎诛"主机简:www.h^49 amedout|日石更爸时间:2J01205'1710c2M3|S岂逞出现在'h@r»d_mjrwdc.t'Sh中的connwLmbl屈ES中在IK析主机时出垠毎课.主机为:niX^:^£!Cannectlantimedouc[日35更新时问;2012-05-171M3;绚该宦15出现旺怕ndjjmncHk.c咬件中时connctjwebl)£ES中旺肾掩S1出現TSiS舞逞姿型是!tonne^ilontlrn^doutL日丢更新时问:2S12-05-111Eh+马谨刊泯也郭在'hand.ont.nfKle.c'^件中脈0加哄_他斟)£«中在射授旳岀现苗课错逞卑里是:connecdon<efu$t<i[日黒愛利吋间:2012-05-171QC3551[谨枝罠出阻在'harwi.ane.nade.c'KH:中的mnnxt少e甜庖»中在征播旳出規苗谓锚谋搓圧是:connecnonrtru^td敢3西灵]图5-4显示日志文件效果图=■191■-—12/php/showPagelFf.plip?file=pageiFfo00026.txt&page=file000Z6.htmlTC]|£1TGoogle网页标题:百度捜重帮閒中心-百度个人中心帮助网页锥接:http://www.baidu.cDnn:S0/5earch/pa5sport_help.htnnl网页类型:text/html网页编码类型:GB2貂2网页捷键字:此网页没有关键字网页中锥接数:4更新时问:2012-05-2123:52:50网页摘要:百度捜索帮助中心-百度个人中心帮助帮助中心料?友?个人中心帮助百度捜索帮助中心-百度个人中心帮助帮助中心料?友?个人中心帮助如何管理修改我的个人资如何设置更安全的密码? .如何添加我的好什么是安全登录?什么是安全控件?网友常见问题如何找回空码?如何使用消息功能?当您成齒百度用户后,百度会均您的个人账号设置一个保存信息的个人如何修改我的密码?如何管理我的好友?如何管理修改我的个人资斜?用您的用户名登录,个人中心中会显示修改用户信息的述顶,点击进入后,就可以在達里幔改管理您妁个人资空问。斜了,喜歆苗电壽、喜欢的运动、欣赏的人和其它兴趣好暮,输人您需要埴写的信息,点击“保存”,修改个人信息便完成了”包括修改头像、性别、年龄、婚姻状况、血型、星座、出主地、居住地、曾就读学校、喜歆妁书務、喜歆的音乐、通过填写详细的个人信息,您可以寻找到更宝和您志同道含的人,同时,会让更宝的人关注到您. 返回页首如何修改我的空码? 登陆进人个人中心,点击悽改安全设詈,在输入当前使用的空码后,输人您希望娈更后的空码,井再一次输A®U,井点击保存新密码,则修改空码完成. 返回页首 如何找回密码?首先进入百度空间首页,点击忘记密码进人忘记密码页面,在这里埴写您要找回密码的用户名;点击下一亍疋垣尹三三三一垣壬:毛二才巨,图一舅5三网页信息:效果图\忑垣巨石「二沅厂亘気垣巨三讥三爲交:未冷三修改密码的锥接发送到您在个人中心设萱的电子邮箱中,请您在24小时内登录电子邮箱修改. 返回页首'如何设置更安全的空码? 如果你非常轻易地想出Wabcd.123456.asdfWS些简单的字符作丸密码,显熱也最容易被别人猜到,因此它们的安全性是最走苗!要想设置一个安全性足够高的密码,请务必注意以下几点:1、

laT.O.G.l/php/httpL//rri4ii.hauf.e^uxritit1p7Z2jO2.19b.3O.3&:A9OafwB'bct/publir/h0me'.pl?acUon-setup.Frame^Ecurr-tcphtlpJTlIbJMXedujcn/阳awu.htEftp^/172.18.25aU7htlpV/jcn/jpkc/hClp7/2J{U.156.30.6/hflumtwsritlpY//4|□/page_db/ri!e&Drsaohtml电视剧浙込龙山副匪记战争电筋专稠hUp7/vxww2.h»uL;A8hrtD7^uiw2.hdur.^.._■hao123_±网几这里开箱百度4|□/page_db/ri!e&Drsaohtml电视剧浙込龙山副匪记战争电筋专稠hUp7/vxww2.h»uL;A8hrtD7^uiw2.hdur.^.._■hao123_±网几这里开箱百度新浪謄讯*QQ空间m孤网易谷fflt風屋网新浪微博忧酷网新华聘移动营业厅CNTV人人网开心网43朋游球汽车之家觀尔号太平洋电脑东方财官因同城中君网誨宝网轰丽说智朕招聘工商粗行凡客诚品中其村在钱圉芙电器易车两京东商诫苏宁舄购卓越亚骂进世圮佳螺携程safiR表弓林忧商网夷包包膵巴阿好乐耳1号厢M芙扰吕 技葩乐砖网折扣店动黑D.1謎®巫色域开尖笛吕刃菽*1硼团胸5S逗晋全麋更护|图5-7漏示网页效果图按狐视颊PPTV乐视网迅雷看有爆乐爆乐|小啟阳培竝理喷廉詡■删制視扬[己录片:舌尖上的中国百科日环审今鼻晶闫现則囲)Linux下数据文件存储的格式如图5-8八"血":n皿宀 小新闻新浪斯闻搜职新闻人民网與易新观路透中文网环球网中国政府圉新闻中华网军事新浪军事凤凰军事祓血网战诙军事网米尔军犒南海争購

图5-8linux下数据文件效果图说明:①page_db文件夹中存放的文件如图5-9。page_info文件夹中存放的文件如图5-10page_url文件夹中存放的问价如图5-11。U3LmfileDOOOLhtmlaifileOOGD2.html■Sfile00003.html[fijnte00004.htmlfileGOOOO.html1|A|file00005.htmlII?fEle00007.htmlFile00008.htmlfile00009.html1[A]file00011.htmlU«Jnteooai2,htmlHleoooi3.htmlIhleocois.htmlus.FileOOOie.htmi品file00017.htmlLarileoooi&.htmlL®hte000i9.htmlL®file00020.htmlLisfileOOO^lhtmlHle00022.htmlUSfileD0023.htmluk图5-9Hle00024.html网页文件效果图FileOOOS6.html)忌fileDO027.htmljgfileOOOMbtmlLfljfile00029.html丨回Hle00031.html1iOlfile00032.htmlLaifile00033.htmlfile00034.htmluiHeooo35.htmlMinieOOD37.html\iajfile00038.htmlL®file00039.html.Mrile00040.htmLpageinroOQGOO.txtpageinfoOOOOltxtDfiJpageinfoDOOD5.txt—圖pjqfZinfoO(X)i□apageinfoOOOiSlxtpagesnFo00007.txtp^^emfoOOOOZXKt_;pagejnfoDOOOa.txtpageinfo00003.txtpagernfo00004txtpageinfo00013.txtiRpaQeinFoOOOl9.txtpageinFooooiS.txtU«Jpageinfo00009.txtI1ftpageinfo000l6.txtpageEnfoOOOl1i.txt―世pagemfo0O017.txt「則pagernFoOOD22.txtpageinfo00020.txtpageinfo0002l.txturkJ®10000.txt丨丨「uri00001.txt□alurlooooaxxturl00003.txtL_l»IurlOOOOS.txt|fi:11*00007.txt_aiurlOOOOa.tKt1|0]url00009.txtLl»jud00012.txtLaurtOOOU.bft丄url0001S.txthourl00016.txturL00004bctILBIurEOOOIttxt3urt00017.txtUS口―旦L»i□rl00018,txturiOOO?5,tXturl00020.txt□rloo02i.txtufl|A|UMJUd00023.txturtO0024.b(turl00026.txturl00027.txtUH图5—11丨1日网页中的链接效果图url00029.txtur!00031b(turl00032.txturl00033.txtLl»iur

温馨提示

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

评论

0/150

提交评论