基于Python的豆瓣网站书籍数据爬取分析与可视化系统的设计与实现_第1页
基于Python的豆瓣网站书籍数据爬取分析与可视化系统的设计与实现_第2页
基于Python的豆瓣网站书籍数据爬取分析与可视化系统的设计与实现_第3页
基于Python的豆瓣网站书籍数据爬取分析与可视化系统的设计与实现_第4页
基于Python的豆瓣网站书籍数据爬取分析与可视化系统的设计与实现_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

一绪论

第1章绪论1.1研究背景及意义在科技高度发展的现代社会,大数据无处不在,各类信息呈爆炸式增长,人们在快节奏的生活中,时间与神经常处于紧绷状态,在这样的状况中,许多人会选择通过阅读书籍来进行调节,在书的世界中寻求心灵的放松。但挑选一部自己心仪的书籍并不是十分容易的事,往往需要查询作者、读者评价等多种信息,互联网中的信息虽已十分完备,但各类排行榜中的书籍排名并不适用于所有读者的喜好,查询的过程使读者还没有开始阅读已经耗费大量时间及精力,这个过程极其容易降低读者的阅读意愿。因此,若能够将书籍的数据整合并清晰地展现出来,帮助读者直观迅速地观察数据、理解数据之间的联系,将大大提升人们的阅读意愿,更加轻松地选择适合自己喜好的书籍,享受阅读带来的乐趣。1.2国内外研究现状互联网已成为现代人获取信息的首选渠道,使用便捷成为了人们使用互联网的最大理由。而爬虫技术为互联网更添一份便利,通过爬虫,用户可以迅速、准确地获取到所需资源,爬虫的应用领域十分广泛,其中最流行的便是爬取网页[1]。Python作为近年来十分常用且强大的编程语言,为爬虫技术提供了许多方法和工具,不仅能够高效地抓取信息,也能在避免反爬虫方面发挥重要作用,确保用户能够安全、稳定地获取所需数据。结合Python语言的独特优势与互联网未来的蓬勃发展趋势,可以得知Python爬虫技术是一项具备广阔拓展空间的前沿技术,掌握爬虫技术知识不仅对个人成长大有裨益,更是能契合社会和时代对科技进步与创新的不懈追求[2]。数据可视化技术的发展最早可以追溯到18世纪前后应用的手工测量绘图及统计学图表[3],如今,随着计算机技术的发展,数据可视化技术的形式与范围也愈发完善,逐渐从平面二维向三维立体、动态交互发展。经过查阅发现,数据可视化的研究在国内外已十分普遍,在金融、医疗[4]、教育及城市发展等多个领域均扮演着举足轻重的角色,使用数据可视化是对数据进行分析展示的十分适配的方法。21.3论文研究及设计内容因此,本研究将利用Python爬虫技术,对市场主流网站豆瓣网中的书籍Top250排行榜进行精确的数据提取。获取到数据后,将借助数据分析及可视化工具如pandas和seaborn等,对这些数据进行深入剖析。通过科学的分析,可以揭示出书籍排行榜背后的规律与趋势,为读者提供更为精准科学的筛选方法。基于这些分析结论,利用数据可视化绘图工具pyecharts,绘制出书籍信息相关的交互式图像,直观地展示书籍的各项数据,并令读者通过交互操作,深入了解书籍的数据情况。最后将把这些图像组合制作为清晰美观的可视化大屏网页,将书籍数据一目了然地呈现在读者面前,帮助他们更加快捷便利地挑选到符合预期的心仪书籍。二设计所用相关技术3第2章设计所用相关技术2.1爬虫部分2.1.1Requests在网络爬虫中,首先需要获取网页,Requests库可以发送HTTP请求,帮助我们简单快捷地获取到目标网页。Requests允许用户以十分便捷的方式发送HTTP/1.1请求,不需要手动在URL中添加查询字符串,也不需要对POST数据进行表单编码操作,得益于urllib3的支持,长连接和HTTP连接池都是全自动的。Python具有十分丰富的库文件,Requests属于第三方库,是基于Apache2协议开源一种的PythonHTTP库[4],并非Python自带库,所以使用前需要先安装,本次设计前采用pip安装方法,通过在本地IDE中终端运行命令完成安装。2.1.2BeautifulSoupBeautifulsoup库在爬虫中的主要作用是解析HTML或XML,可以帮助用户十分方便快捷地从目标网页中获取信息。Beautifulsoup支持许多种解析器,如lxml及html5lib等Python内置的解析器以及部分第三方库,这种功能使得Beautifulsoup库能够处理各式各样的HTML及XML文档。HTML的代码结构为多个标签组成,Beautifulsoup通过将HTML及XML文档转换为树形结构,能够做到精准定位到标签位置[6],方便用户遍历文档中的元素,同时也具备搜索功能,用户可通过标签、属性等获取目标元素。此外,Beautifulsoup在修改、输出文档方面也具有十分强大的功能,使用户在有定制化需求时可快捷实现,并输出美观、可读性强的文档。2.1.3PandasPandas是一个Python中基于NumPy的强大且灵活的开源数据分析及数据处理库,Pandas中包含了许多数据模型,以及大量可以帮助用户快捷处理数据的函数和方法,十分适合进行结构化数据的处理,如类似于Excel表格的表格型数据。同时Pandas也可以在数据清洗、数据预处理、数据可视化、机器学习等领域中发挥作用。Pandas中具有两种数据结构,一种是Series,一种是DataFrame,Series是一组带有索引的一维数组,数组中可包含多种不同数据类型的元素,而DataFrame是一种二维表格结构,这种结构在使用中更加常见,可包含更多的数据,可视为多个Series结合而成的字典[7]。在本次设计中主要4使用DataFrame,通过初始化建立一个DataFrame,将爬取出的“书名”、“作者”、“出版日期”等数据有序地存储在csv文件中,便于下一步数据分析中使用。2.1.4TimePython中的Time库本身是用来对时间进行相关操作的库,如获取当前时间、日期,对时间进行加减法等。Time库包含三类函数,分别为时间获取(time()、ctime()、gmtime()),时间格式化(strftime()、strptime()),程序计时(sleep()、perf_counter())。由于在网站中进行爬虫操作时可能会遇到网站反爬机制,导致无法获取数据,本次设计中使用Time库中的sleep模块,通过设置,在爬取每一页数据之间间隔一段时间,来达到反反爬虫的效果。2.2数据分析与可视化部分2.2.1matplotlibMatplotlib是Python体系中的重要组成部分,是一个使用广泛的开源数据可视化工具包,功能十分全面,已成为数据科学领域内不可或缺的数据可视化工具。Matplotlib能够绘制出各类图像,使用matplotlib不仅限于可以制作2D的图像,如折线图、饼状图、柱状图、雷达图等,同时也具备制作3D图像及动画的功能[8],使数据可以在三维空间中立体地呈现,大大增强了数据的可读性。本次设计中主要用到matplotlib中的pyplot子库,pyplot是一个很常用的可视化模块,使用方便上手快速,能十分便捷地绘制各种动静态、可交互的可视化图表,并根据需求自定义更改图表元素,如更改节点或线条颜色、更改线条类型参数、更改节点标记字符等,使目标图像更具特色,准确表达信息。2.2.2SeabornSeaborn是Python中在matplotlib基础上建立的一种专门用于数据可视化绘制各类图表的库,如条形图、折线图、热力图、密度图、箱线图等等,seaborn的使用十分便捷,它所提供的高级接口使得用户可以大大减少编写代码的工作量,操作快速,上手也十分简单,更加轻松地获取数据可视化图表,seaborn相比于matplotlib来说拥有更加美观的图像及颜色设计,它提供了各式各样的主题,如深色网格主题darkgrid、浅色网格主题whitegrid等,以及十分丰富的配色方案调色板,不只局限于单色,可以将颜色进行组合搭配,如二设计所用相关技术5“Blues”、“PuBuGn”等。同时,seaborn的兼容性也有很大优势,能够同时支持NumPy以及pandas的数据结构[9]。2.2.3PandasPandas库自身并未提供数据可视化的功能,但如上文所述,pandas可以和其余可视化库如seaborn、matplotlib等直接无缝集成。Pandas提供了灵活易用的数据结构,能够十分简便地处理数据,这为数据可视化提供了良好的数据基础。2.3前端展示部分2.3.1pyechartsPyecharts是一款十分强大的可视化工具,基于Echarts,与Python语言相结合而成。Echarts本身是一个JavaScript库,pyecharts实现了echarts与Python之间的连接,使echarts更加具有普遍性,增大了使用范围,也使Python在数据可视化领域更加灵活高效。Pyecharts主要用于制作各类图像、表格等,为用户提供了各式各样的数据表形式,包括30余类常见图表,同时也提供了极高自由度的自定义函数配置项来更改图表的特性,使图表更具有美观性、可读性[10]。Pyecharts官方文档十分详细,且有大量具体实例,不仅可在本地IDE运行,也可在JupyterNotebook环境直接生成图像,使用便捷易上手,是数据可视化的重要工具。6第3章网络爬虫3.1数据来源数据来源于豆瓣网(/)—读书(/)—豆瓣图书250(/top250?icn=index-book250-all)。3.2过程3.2.1网页板块分析打开豆瓣网站,找到读书后打开豆瓣图书Top250网页(/top250?icn=index-book250-all),网页布局如图(图3.1、图3.2)所示,由顶部索引(豆瓣、读书、电影……)、搜索栏、次索引栏(购书单、电子图书……)、图书(包含各个图书小类子项)、底部信息栏组成。每页展示二十五本图书,共十页,总计二百五十本图书。三网络爬虫73.2.2网页元素审查在浏览器中打开网页,并在网页中单击右键,选择审查元素,即可看到网页代码,其中<bodystyle>中包含网页主界面所有板块(图3.3),以第一本图书《红楼梦》为例,网页信息栏中包含作品名称、作者、出版社、出版时间、价格、评分、评分人数、一句话评价信息。根据审查,可发现图书信息存放于<divclass=“article”>中,单本图书每一本存放在一个<tablewidth=“100%”>标签中,其中,作品名称存放于<divclass=“Pl2”>中的title元素(图3.4);作者、出版社、出版日期、价格存放于<pclass=“pl”>中,分别用“/”符隔开;评分及评价人数存放于<divclass=“starclearfix”>中,其中评分属于“rating_nums”class,评价人数属于“pl”class。至此即可获取到所有所需数据的位置,观察可发现每本图书的信息存放位置都是一样的,通过循环即可实现所有数据的获取。83.2.3爬虫代码编写(1)导入爬虫所需的Python库和模块(图3.5),包含requests、beautifulsoup、pandas及time。Requests库用于向网站发送请求,beautifulsoup库用于解析获取到的HTML内容,pandas库用于将解析过的数据有序存放在CSV文件中,time库用于在爬取过程中添加等待时间,防止网页反爬虫;(2)创建一些空的list,用于存放所需的书籍信息中不同数据类型;(3)定义新的函数,用于获取书籍数据信息,分为两种,第一种是使用requests发送请求,第二种是使用beautifulsoup解析获取后返回的信息。通过for循环,由元素审查中获取到的数据位置,解析每一类书籍信息,以书名为例,书名信息在网站中存放在“item”class下的“pl2”class,从属于“a”标签,属性名称为“title”,则可以通过解析,将书籍名称逐个添加到创建过的list中(图3.6),评分、评分人数、价格等其余书籍信息同理;(4)根据不同情况执行不同的代码逻辑,若为正常情况,则按默认逻辑输出数据,而个别图书可能出现信息缺失或有多个信息的情况,如图书作者信息缺失(第5页《十万个为什么》),或图书价格数据有超过一个的(第1页《福尔摩斯探案全集(上中下)》)等。将缺失部分记为空值,有多个数据的部分用“/”符号分割。以图书作者及译者缺失为例(图3.7);三网络爬虫9(5)存储数据,首先初始化一个DataFrame对象,并使用pandas库将已定义并获取完成的数据列表拼接为一个DataFrame形式,使数据以列的形式展现出来(图3.8);(6)爬虫主函数。为了防止网站反爬,首先需要定义一个爬虫请求头,请求头可在元素审查的“网络”部分获取,将“User-Agent”部分粘贴到headers部分中达到反爬效果。之后通过for循环来按序爬取10页共250条数据,并使用time库中的sleep模块达到每爬取一页等待1秒的效果,防止网页反爬。最终将文件保存到指定名称的csv文件中(图3.9)。海南师范大学本科生毕业论文103.3获取数据结果在指定csv文件中可看到目标数据如书名、作者、出版日期等,已被清晰有序地存放(图3.10),为下一步的数据分析可视化奠定了良好的数据基础。四数据分析与数据可视化11第4章数据分析与数据可视化4.1数据分析在数据可视化过程中,数据分析既是目的也是前期必须要做好的基础,其重要性在于能够为数据可视化提供逻辑支持,使可视化更加清晰有条理。在书籍排行中,评分是一项必不可少的判定因素,评分代表读者对书籍内容、情节、人物设定等的认可度,而对于想要寻找书籍进行阅读的人群来说,评分无疑是一个重要的参考,评分越高,意味着书籍各方面的综合质量越高,对读者的吸引力也同步提升。从这一角度出发,本次研究将从书籍评分入手,辅以书籍排名及评分人数指标,探究排名与其余各项数据的关联性,从而观察总结出读者应如何更加准确地筛选心仪书籍的结论。(1)导入分析所需的Python库(图4.1),数据分析阶段主要用到的库为pandas,以及少量的seaborn及matplotlib。Pandas库用于数据处理,seaborn库及matplotlib库用于绘制图像。(2)使用pandas库使用库中的pd.read_csv()函数读取已爬取完毕的csv文件,函数将自动将目标csv文件转换为DataFrame对象。接着使用.head()函数输出DataFrame对象的前五行数据,以便检查文件是否读取成功(图4.2),可以看到程序正确输出了文件的内容;12(3)由于数据文件常会出现有异常值、空值等情况,所以本次研究采用绘制箱线图的方法来检查数据中是否存在异常值。绘制图像之前,在未配置的情况下,中文显示容易出现乱码情况,所以需要通过使用matplotlib中的rcParams来修改样式,解决中文无法显示或出现乱码的状况。(图4.3)。箱线图的绘制需使用到seaborn库,首先定位到“评分”列,并确认列中的数据均为浮点型(float),确认无误后即可使用“boxplot”工具绘制箱线图(图4.4)。可以根据图像(图4.5)看出“评分”列数据并无异常值;四数据分析与数据可视化13(4)利用pandas的数据分析模块,计算出Top250书籍的平均评分,并查看最大值与最小值(图4.6),可看出平均评分处于较高水准,最大与最小值的差值为1.2,最低值也处于整体书籍的上游水准。144.2数据可视化(1)Top250书籍评分占比饼状图。饼图通过分割圆形的方式展示数据,并标以不同颜色,具有良好的可读性,能够直观明了的看出各部分的占比。饼图的绘制使用到matplotlib中的pyplot子库,首先使用pandas读取csv文件并定位“评分”列,通过pyplot库设置饼状图规格后进行绘制(图4.7),并在图中展示各部分百分比(图4.8);四数据分析与数据可视化15通过该饼状图,可以得出以下结论:Top250书籍中最高分与最低分占比最少,第二高分与第二低分次之,占比最高的为中间分值9.1及9.0,即为平均评分值的区间,极高分(9.5分及以上)的书籍仅占比6.8%,数量十分稀少。(2)书籍"排名-评分"折线图。在书籍排名中,评分必然为重要标准,但评分是否能够决定排名并不肯定,本次研究采用折现图的方法将排名与评分直接的关系展现出来,因为数据量较大,绘图仅采用前70条数据。由于在绘制前图时已获取过文件,所以本次绘制仅需定位到“排名”及“评分”列,并规定取前70条数据即可,通过pyplot的“color”及“marker”模块自定义图像颜色及数据点标注样式,定义完成后即可使用“xticks”绘制折线图(图4.9);16通过该折线图,可以看出随着排名下降,评分整体略呈下降态势,但并非绝对正相关,在排名较靠后的书籍中也有评分极高的情况出现,如排名第24的《野草》达到了9.5的高分,以及排名29的《卡拉马佐夫兄弟》达到9.6的高分,所以书籍的评分并不能直接决定排名。(3)书籍"排名-评分人数"折线图。读者在阅读一本书时,常常会有点评或分享感受的欲望,评分人数往往可以展现出该书籍的普及度,而评分人数与书籍排名是否有一定关联,本次研究采用折线图的方式探寻,同样采用Top250中的前70条数据进行绘制,与"排名-评分"折线图的绘制方法相同,将x轴数据设置为书籍排名,y轴数据设置为评分人数(图4.10);通过该折线图,无法看出评分人数与书籍排名之间有明显关联,将数据扩大至前200条并再次进行绘图(图4.11);四数据分析与数据可视化17扩大数据范围后可看出,排名前80的书籍评分人数较之后的更多,尤其是会出现极高的峰值,如排名第2的《活着》有80万余评分人数、排名第13的《小王子》有75万余评分人数、排名第55的《追风筝的人》有79万余评分人数,而80名之后的数据趋于平稳,仅偶尔出现小高峰。可见排名靠前的书籍更易出现评分人数极多的情况,即评分也更具参考价值,但并非排名靠前的书籍评分人数一定更多。(4)书籍“评分-评分人数”散点图。在观察过排名与评分、排名与评分人数的关联后,本次研究仍需观察评分与评分人数之间的数据关系。由于需要一目了然地看出每阶段评分的评分人数数量,所以采用散点图的方式,使用seaborn库的scatterplot方法绘制散点图(图4.12);通过该散点图,可以看出评分人数与评分之间并无明显联系,甚至评分最高的书籍评分人数仅不到20万,而评分最低的书籍评分人数达到近80万。184.3结果分析由以上的数据分析及数据可视化可以分析得知,书籍排名结果是评分与评价人数的综合结果,仅评分高或评分人数多无法绝对证明书籍的内容质量,相比之下评分比评分人数更具说服力,但仍需评分人数的数量支持,若评分人数较少则评分也缺乏准确性。读者在挑选心仪书籍时应结合两点综合判断,才能更加准确地找到多数人所认可的书籍。五前端可视化展示19第5章前端可视化展示5.1数据分析并制作可视化图像(1)中国/外国作者书籍数量上榜量前十柱状图书籍的撰写往往与时代背景及文化相关联,如中国当代著名小说《活着》,讲述了主角在内战、“文化大革命”、大跃进的时代背景下的一系列遭遇,作者余华不单是在写主角的苦难人生,更是在映射时代背景中的和主角相同的无数小人物[11]。国内与国外的环境虽有相似之处,但历史背景存在很大差异,从而导致国内外书籍的写作风格也各不相同,读者可根据喜好选择心仪的书籍类型。在绘制图像前首先需要获取数据,在JupyterNotebook中使用pandas库中的set_option方法对csv文件中“作者”一列进行统计,并按数量从高到低排序。(图5.1)得到数据支持后即可开始可视化图像制作,首先在终端中使用pip下载pyecharts,下载成功后在文件中导入pyecharts图库中的Bar(柱状图)模块及option模块。为后续能够更加方便地将图像组合成为大屏,首先需要定义一个函数,函数返回类型为Bar。以“中国作者书籍上榜量前十”为例,初始化一个变量a,用于存储绘制的柱状图,使用Bar()函数绘制图像,将x轴、y轴内容进行填充,同时设置柱状图颜色,并使用set_global_opts()方法设置全局选项,设置图名称及x轴、y轴名称,由于x轴内容信息较多,为节省空间防海南师范大学本科生毕业论文20止文字重叠或显示不全,使图像更加美观,利用Label10pts方法将x轴上的标签统一旋转-25度,最后返回变量a。(图5.2)在组合图像成为大屏之前,为审查图像是否正常显示并符合要求,可采用render()函数方法将图像自动渲染为HTML文件(图5.3),可直接在浏览器中打开进行查看,便于进一步修改(图5.4、图5.5)。五前端可视化展示21(2)Top10书籍评分面积图由前文(4.2)可得知,书籍排名与书籍评分并非强相关,排名靠前的书籍不一定是最高分的书籍。每位读者在筛选书籍时都有自己不同的标准,系统排名并不能代表所有读者的喜好,评分折线图可以使读者一目了然地看出书籍评分高地的不同,进一步选出心仪书籍。图像类型选择面积图,在折线图的基础上增加填充,并将原本较为生硬的折现换为平滑曲线,使图像更为美观。与柱状图类似,先定义函数,返回类型为Line(线形),初始化变量c,填入x轴、y轴信息,使用“is_smooth”方法将折线变为平滑曲线,并在.set_series_opts()、.set_global_opts()中设置图像参数,如面积填充颜色、透明度、标签旋转角度等,由于数值相差较小,若y轴从0开始计数则图像变化不明显,不便于观察,所以需特别将y轴数值设置为从9开始计数,使数值变化更加鲜明。最后返回变量c(图5.6)。22将图像渲染为HTML文件查看(图5.7)。(3)评分人数前十名书籍柱状图书籍内容及作者文笔的评判除客观因素外,也与读者的个人喜好有很大关联,对书籍的评分往往带有主观因素,因此书籍评分人数的多少决定了评分的准确性,评分人数越多,收集的数据样本越多,也更代表大众的选择,增强了数据的可靠性。要筛选出评分人数前十的书籍,需要使用pandas库,利用.sort_values()方法将csv文件中的数据以“评分人数”列的数量从高到低排列。(图5.8)五前端可视化展示23在普通柱状图的基础上,采用了象形柱状图,能够更加直观地看出各标签间的数量关系。象形柱状图所使用的模块为PictorialBar,在导入options及PictoriaBar的基础上,象形柱状图还需导入SymbolType模块,用于图标自定义,不仅如此,象形柱状图中的柱状图组成块大小也可以进行调节,拥有极强的灵活性。将x轴、y轴数据设置完成后,使用上文中类似的方法绘制象形柱状图,定义函数bar_d()并初始化变量d,经过一系列参数设置后返回变量d(图5.9)。将图像渲染为HTML文件查看(图5.10)。24(4)Top250书籍评分占比饼图评分在众多因素中,是最能体现书籍质量的要素,而各个平台的评分体系不同,读者群体类型也会有一定差距,打分的严格程度不尽相同,由前文(4.2)中可以看到,Top250排行榜中书籍最高分为9.7,最低分为8.5,通过评分占比读者可以预设自己筛选图书的心理预期,如读者希望阅读评分较高的书籍,可将目标投向评分在前30%的书籍。首先导入Pie(饼图)模块,通过设置圆的尺寸及同心圆的尺寸达到环形饼图的效果,增强图像的视觉舒适度,饼图的配色效果、侧标签颜色尺寸、字体颜色等都可通过自定义改变,以配合其余图像的配色,达到美观的目的。(图5.11)五前端可视化展示25将图像渲染为HTML文件查看(图5.12)。(5)Top30书籍词云词云能够将书籍文本数据以视觉化的方式呈现,使读者可以快速看到文本关键词,通过数据的设置,词云可以帮助读者一目了然地看到榜中哪些书籍最受欢迎。词云的制作用到了WordCloud模块,我们可以通过custom_color_func()方法为词云进行色彩搭配,通过if语句可以以词汇或频率为条件为每个模块单独设置颜色。将排行榜中Top30的书籍按从上到下排序,依次赋予从大到小的频率数值,代表书籍热度,频率越高的书籍名称在词云中展示的尺寸越大,越容易被读者捕捉。(图5.13)海南师范大学本科生毕业论文26将图像渲染为HTML文件查看(图5.14)。(6)大屏标题五前端可视化展示27在可视化大屏制作中必不可少的一个部分就是大屏标题,标题可以让用户在第一时间了解大屏的主要内容。标题的生成本次设计选择利用Pie()模块,但并不绘制饼图,只显示标题。(图5.15)5.2可视化大屏生成图像绘制完成后,每个图像仍是单独的个体,要制作可视化大屏必须将各个分散的图像整合成为一个完整的HTML文件。Pyecharts中提供了许多种组合图表的组件,本次设计采用Page模块,page可以将多个图表按顺序排列在同一个HTML文件中,同时使用DraggablePageLayout方法可以实现用拖拽的形式将图表组合布局,支持图表尺寸任意改变,十分方便快捷。将DraggablePageLayout方法导入后利用add()函数将绘制图表时自定义的函数名称加入到page中,直接使用render方法即可生成一个用于布局的临时HTML文件(图5.16)。在临时文件中完成页面布局后,点击页面左上角的“SaceConfig”,会自动生成一个名为“chart_config”的json文件,文件内存储了调整过的页面布局位置数据。将json文件与page文件放在同一目录下,并将文件名通过.save_resize_html()导入page中,再次生成最终大屏HTML文件,并通过修改HTML属性的形式设置可视化大屏背景颜色,使界面更加美观,通过浏览器打开最终大屏HTML文件即可看到布局完成的最终网页界面。(图5.17)28六结语29第6章结

温馨提示

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

评论

0/150

提交评论