本次选题,我想从我的大学所在城市泉州入手,分析泉州公交分布,了解绿色出行对人们生活的意义和人们对绿色出行的重视。
美丽泉州是人民群众的福祉。为贯彻落实《国务院关于实施健康中国行动的意见》,促进健康环境建设,为推进国家生态文明试点示范市建设,深化全国文明城市、卫生城市创建多作贡献。泉州市号召全市百姓积极践行绿色出行、低碳出行、文明出行。而城市公共交通是城市基础设施的重要组成部分,在我国经济发展、城市建设和社会生活中占有重要地位,它直接关系着城市的经济发展与居民生活,对城市经济具有全局性、先导性的影响。
二、主题式网络爬虫设计方案
1.主题式网络爬虫名称
基于高德开放平台|高德地图API爬取泉州公交有关数据并进行分析
2.主题式网络爬虫爬取的内容与数据特征分析
通过高德地图开放平台爬取有关的公交线路,并提取标签整理成数据集csv文件进行分析,分析主要通过公交线路,区间站点,全程长度,站点经纬度来对泉州公交普及分析。
3.主题式网络爬虫设计方案概述(包括实现思路与技术难点)
(1)实现思路
2.取数据后对数据进行清洗整理进csv文件。
3.对csv文件进行分析及数据可视化。
(2)技术难点
1.对数据的切片和分布读取
2.对数据进行清洗和处理
3.对可用数据的可视化处理
4.对冗余数据的处理
三、主题页面的结构与特征分析
1.主题页面的结构与特征分析
2.节点(标签)查找方法与遍历方法(必要时画出节点树结构)
由于高德地图开放平台下的开发指南已经给出,所以不需要再寻找。
四、网络爬虫程序设计(60分)爬虫程序主体要包括以下各部分,要附源代码及较详细注释,并在每部分程序后面提供输出结果的截图。
(1)数据爬取与采集
1.先对url进行测试,查看是否能够正常返回数据
2.对url进行爬取泉州公交线路的始发站、终点站、行驶路径(行车轨迹)、站点名称和坐标、行驶距离等与公交车有关的基本信息,并将其保存到Execl表格中。
csv文件如下
(2)文本分析(可选):jieba分词、wordcloud的分词可视化
1.#绘制词云,查看出现最多的站点
1#绘制词云,查看出现最多的站点2importjieba3frompylabimport*4fromwordcloudimportWordCloud5df=pd.read_csv('C:/Users/bb/python-jupyternoteboook/泉州前1000路公交(有效线路数:120)基本信息.csv')6text=''7forlineindf['沿途站点名']:8text+=line9#使用jieba模块将字符串分割为单词列表10cut_text=''.join(jieba.cut(text))11color_mask=imread('C:/Users/bb/python-jupyternoteboook/66.jpg')#设置背景图12cloud=WordCloud(1314background_color='white',15#对中文操作必须指明字体16font_path='C:\windows\Fonts\STZHONGS.TTF',17mask=color_mask,18max_words=50,19max_font_size=20020).generate(cut_text)2122#保存词云图片23cloud.to_file('qzword1cloud.jpg')24plt.imshow(cloud)25plt.axis('off')26plt.show()运行结果
2.循环泉州市的1000路以内的公交,获取这些线路的:路线名、行车区间、路程长度、站点数、区间直线距离等数据,并计算出这些公交线路的平均长度、平均站点数、平均站距。
(3)数据分析与可视化(例如:数据柱形图、直方图、散点图、盒图、分布图)
1.基于经纬度做泉州公交站点分布散点图
运行结果
2.可视化查看泉州公交线路的全程长度对比
1#导入库2importnumpyasnp3importscipyassp4importpandasaspd5importmatplotlib6importmatplotlib.pyplotasplt7fromscipy.optimizeimportleastsq89df=pd.read_csv('C:/Users/bb/python-jupyternoteboook/泉州前1000路公交(有效线路数:120)基本信息.csv')10chinese=matplotlib.font_manager.FontProperties(fname='C:\Windows\Fonts\simsun.ttc')#设置正常读取表格中中文名1112#创建figure对象,设置画布大小1314plt.figure(figsize=(50,40))1516Xi=np.array(df['公交线路'])17Yi=np.array(df['全程长度'])1819frompylabimport*#从pylab中导入所有的非私有类,函数,全局变量等,*代表所有,20mpl.rcParams['font.sans-serif']=['SimHei']21mpl.rcParams['axes.unicode_minus']=False2223#绘制矩形图,x,y轴数据,表名,颜色24plt.barh(Xi,Yi,label="公交线路长度统计",color=['b','orange','g','r','purple','#FF4500','#00FA9A','Pink','#00BFFF','y','cyan'])2526plt.title('泉州公交路线路长柱形图')27plt.xlabel('总路程(km)')28plt.ylabel('公交号')29plt.show()运行结果
3.将以上各部分的代码汇总,附上完整程序代码
五、总结(10分)
(1)经过对主题数据的分析与可视化,可以得到哪些结论?是否达到预期的目标?
结论:
1.泉州的公交系统十分发达
2.k207路是泉州行进路程最长一路
3.泉州交通资源利用率较高
2.在完成此设计过程中,得到哪些收获?以及要改进的建议?
收获:
1.通过上面的数据获取、分析与统计,我们不难看出公共交通作为城市经济和民生中最为重要的基础性设施,重视政府在城市公共交通中的重要地位和作用,提高对公共交通的政策扶持力度,进一步规范公共市场行为,提高公共交通企业市场竞争力.
2.从整个数据爬取项目中我学习了许多新的知识内容,对之前学习的内容进行了巩固。
建议:
需要改进的建议在于爬取的数据可分析的方向太少,下次可以尝试向公交的其他方面拓展。