课程报告-基于Python爬虫爬取福州地铁线路.docx
《课程报告-基于Python爬虫爬取福州地铁线路.docx》由会员分享,可在线阅读,更多相关《课程报告-基于Python爬虫爬取福州地铁线路.docx(17页珍藏版)》请在文库网上搜索。
1、基于Python爬虫爬取福州地铁线路目 录1 绪论11.1 概述11.2 课题背景12 采用技术与开发工具的简介12.1 Pthon语言的产生和发展历史12.2 Python语言的特色22.3 Python的缺点22.4 HTML定义22.5 URL的定义22.6 URL组成32.7 HTML原理42.8 Python3.742.9 Visual Studio Code43 项目需求分析43.1技术可行性分析43.2经济可行性53.3法律可行性54 程序设计54.1开发环境配置54.2主题页面的结构特征64.3 爬取网页信息74.4正则表达式解析94.5excel保存数据126 总结13参考文
2、献18基于Python爬取福建省地级市天气信息的软件系统的设计与实现1 绪论1.1 概述随着当今交通的迅速发展,越来越多的城市出现地铁,福州也不例外。地铁,即“地下铁路”的简称,原本指在地下运行的城市轨道交通系统,但随着城市轨道交通系统的发展,实际上地铁有时会因建造环境而将部分线路铺设在地上。福州现有三条线路,一条线路通常有二三十个站点。如果不知道地铁的线路信息,那么对于人们的出行很不便利,这时候提前爬取出地铁线路信息就很必要。爬取地铁线路信息可以让我们快速知道出行选择几号线,今天我们的课题就是爬取福州地铁数据。1.2 课题背景地铁已经成为人们密不可分的一部分,对于出勤、上学、游玩等等是一个非
3、常不错的选择。中国是一个人口大国,使用汽车出行极易造成交通拥堵现象,对大自然也有一定的污染性,所以交通的便利就此体现。地铁对于推动城市发展具有重要意义,他给我们的出行带来了很多的便利,但是随着地铁线路的越来越多线路也越来越复杂,这就需要我们通过数据处理和分析来实现线路的合理化。2 采用技术与开发工具的简介2.1 Pthon语言的产生和发展历史Python是一种面向对象、直译式计算机程序设计语言。其语法简捷而清晰、可读性强、便于维护, 并且具有丰富和强大的类库3-4。Python的作者,Guido von Rossum,荷兰人。1989年圣诞节期间,在阿萨姆斯特丹,Guido为了打发圣诞节的无趣
4、,决心开发一个新的脚本解释程序,作为ABC语言的一种继承,选中Python(根据英国广播公司的节目“蟒蛇飞行马戏”)作为程序的名字5。1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从一出生,Python已经具有了类,函数,异常处理,包含表和词典在内的核心数据类型,以及模块为基础的拓展系统。 Python语法很多来自C,但又受到ABC语言的强烈影响。来自ABC语言的一些规定直到今天还富有争议,比如强制缩进。 但这些语法规定让Python容易读。另一方面,Python聪明的选择服从一些惯例,特别是C语言的惯例,比如回归等号赋值。Guido认为,如果“常识”
5、上确立的东西,没有必要过度纠结。 Python从一开始就特别在意可拓展性。Python可以在多个层次上拓展。从高层上,你可以直接引入. py文件。在底层,你可以引用C语言的库。Python程序员可以快速的使用Python写. py文件作为拓展模块。但当性能是考虑的重要因素时,Python程序员可以深入底层,写C程序,编译为.so文件引入到Python中使用5。Python就好像是使用钢构建房一样,先规定好大的框架。而程序员可以在此框架下相当自由的拓展或更 改。 最初的Python完全由Guido本人开发。Python得到Guido同事的欢迎。他们迅速的反馈使用意见,并参与到Python的改进。
6、Guido和一些同事构成Python的核心团队。他们将自己大部分的业余时间用于hack Python。随后,Python拓 展到研究所之外。Python将许多机器层面上的细节隐藏,交给编译器处理,并凸显出逻辑层面的编程思考。Python程序员可以花更多的时间用于思考程序的逻辑,而不是具体的实现细节。这一特征吸引了广大的程序员。Python开始流行。Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。Python在TIOBE排行榜中排行第八,它是Google的第三大开发语言,Dropbox的基础语言,豆瓣的服务器语言。Python的发展史可以作为一个代表,带给我许多启示。 在Pytho
7、n的开发过程中,社区起到了重要的作用。Guido自认为自己不是全能型的程序员,所以他只负责制订框架。如果问题太复杂,他会选择绕过去,也就是cut the corner。这些问题最终由社区中的其他人解决。社区中的人才是异常丰富的,就连创建网站,筹集基金这样与开发稍远的事情,也有人乐意于处理。如今的项目开发越来越复杂,越来越庞大,合作以及开放的心态成为项目最终成功的关键。 Python从其他语言中学到了很多,无论是已经进入历史的ABC,还是依然在使用的C和Perl,以及许多有列出的其他语言。可以说,Python的成功代表了它所有借鉴的语言的成功6。 2.2 Python语言的特色简单易学:Pyth
8、on语言相对于其他编程语言来说,属于比较容易学习的一门编程语言,它注重的是如何解决问题而不是编程语言的语法和结构。正是因为Python语言简单易学,所以,已经有越来越多的初学者选择Python语言作为编程的入门语言。例如,在浙江省2017年高中信息技术改革中,算法与程序设计课程将使用Python语言替换原有的VB语言。语法优美:Python语言力求代码简洁、优美。在Python语言中,采用缩进来标识代码块,通过减少无用的大括号,去除语句末尾的分号等视觉杂讯,使得代码的可读性显著提高。阅读一段良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。
9、丰富强大的库:Python语言号称自带电池(BatteryIncluded),寓意是Python语言的类库非常的全面,包含了解决各种问题的类库。无论实现什么功能,都有现成的类库可以使用。如果一个功能比较特殊,标准库没有提供相应的支持,那么,很大概率也会有相应的开源项目提供了类似的功能。合理使用Python的类库和开源项目,能够快速的实现功能,满足业务需求。开发效率高:Python的各个优点是相辅相成的。例如,Python语言因为有了丰富强大的类库,所以,Python的开发效率能够显著提高。相对于C、C+和Java等编译语言,Python开发者的效率提高了数倍。实现相同的功能,Python代码的
10、文件往往只有C、C+和Java代码的1/51/3。虽然Python语言拥有很多吸引人的特性,但是,各大互联网公司广泛使用Python语言,很大程度上是因为Python语言开发效率高这个特点。开发效率高的语言,能够更好的满足互联网快速迭代的需求,因此,Python语言在互联网公司使用非常广泛。应用领域广泛:Python语言的另一大优点就是应用领域广泛,工程师可以使用Python做很多的事情。例如,Web开发、网络编程、自动化运维、Linux系统管理、数据分析、科学计算、人工智能、机器学习等等。Python语言介于脚本语言和系统语言之间。有不错的学习视频教程、开发工具与电子书籍。Python企业当
11、下人才需求及怎么从零基础学习好Python,和学习什么内容。2.3 Python的缺点毫无疑问,Python确实有用很多的优点,每一个优点看起来都非常吸引人。但是,Python并不是没有缺点的,最主要的缺点有以下几个:Python的执行速度不够快。当然,这也不是一个很严重的问题,一般情况下,我们不会拿Python语言与C/C+这样的语言进行直接比较。在Python语言的执行速度上,一方面,网络或磁盘的延迟,会抵消掉部分Python本身消耗的时间;另一方面,因为Python特别容易和C结合起来,因此,我们可以通过分离一部分需要优化速度的应用,将其转换为编译好的扩展,并在整个系统中使用Python
12、脚本将这部分应用连接起来,以提高程序的整体效率。Python的GIL锁限制并发:Python的另一个大问题是,对多处理器支持不好。如果读者接触Python时间比较长,那么,一定听说过GIL这个词。GIL是指Python全局解释器锁(GlobalInterpreterLock),当Python的默认解释器要执行字节码时,都需要先申请这个锁。这意味着,如果试图通过多线程扩展应用程序,将总是被这个全局解释器锁限制。当然,我们可以使用多进程的架构来提高程序的并发,也可以选择不同的Python实现来运行我们的程序。Python2与Python3不兼容:如果一个普通的软件或者库,不能够做到后向兼容,那么,
13、它会被用户无情的抛弃了。在Python中,一个槽点是Python2与Python3不兼容。因为Python没有向后兼容,给所有的Python工程师带来了无数的烦恼。2.4 HTML定义HTML(HyperText Mark-up Language)是标准通用标记语言下的一个应用,也是一种规范,一种标准, 它通过标记符号来标记要显示的网页中的各个部分,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。设计HTML语言的目的是为了能把存放在一台电脑中的文本或图形与另一台电脑中的文本或图形方便地联系在一起,形成有机的整体,人们不用考虑具体信息是在当前电脑上还是在网络的其它电脑上。我们只需使
14、用鼠标在某一文档中点取一个图标,Internet就会马上转到与此图标相关的内容上去,而这些信息可能存放在网络的另一台电脑中。 HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字、图形、动画、声音、表格、链接等。HTML的结构包括头部(Head)、主体(Body)两大部分,其中头部描述浏览器所需的信息,而主体则包含所要说明的具体内容。2.5 URL的定义统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。2.6 URL组成URL的格式由
15、三部分组成: (1)第一部分是协议(或称为服务方式);(2)第二部分是存有该资源的主机IP地址(有时也包括端口号);(3)第三部分是主机资源的具体地址,如目录和文件名等。第一部分和第二部分用“:/”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。2.7 HTML原理(1)用户输入一个网址(假设是个HTML页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回HTML文件;(2)浏览器开始载入HTML的代码,发现标签内有一个标签引用外部CSS文件;浏览器又发出CSS文件的请求,服务器返回这个CSS文件;(3)浏览器继续载入HTML中部分的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程 报告 基于 Python 爬虫 福州 地铁 线路