地铁

用Python爬虫对城市公交、地铁站点和线路数据采集

匿名 (未验证) 提交于 2019-12-02 22:51:08
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_38682860/article/details/90773179 市公交、地铁数据反映了城市的公共交通,研究该数据可以挖掘城市的交通结构、路网规划、公交选址等。但是,这类数据往往掌握在特定部门中,很难获取。互联网地图上有大量的信息,包含公交、地铁等数据,解析其数据反馈方式,可以通过Python爬虫采集。闲言少叙,接下来将详细介绍如何使用Python爬虫爬取城市公交、地铁站点和数据。 首先,爬取研究城市的所有公交和地铁线路名称,即XX路,地铁X号线。可以通过图吧公交、公交网、8684、本地宝等网站获取,该类网站提供了按数字和字母划分类别的公交线路名称。Python写个简单的爬虫就能采集,可参看 WenWu_Both 的文章,博主详细介绍了如何利用python爬取8684上某城市所有的公交站点数据。该博主采集了站点详细的信息,包括,但是缺少了公交站点的坐标、公交线路坐标数据。这就让人抓狂了,没有空间坐标怎么落图,怎么分析,所以,本文重点介绍的是站点坐标、线路的获取。   以图吧公交为例,点击某一公交后,出现该路公交的详细站点信息和地图信息。博主顿感兴奋,觉得马上就要成功了,各种抓包,发现并不能解析。可能博主技术所限,如有大神能从中抓到站点和线路的坐标信息,请不吝赐教

北京地铁线路规划

 ̄綄美尐妖づ 提交于 2019-12-01 09:01:01
北京地铁线路规划 代码仓库 : https://github.com/wreckerU/- 需求分析 : https://www.cnblogs.com/wreckerU/p/11550467.html 具体思路 :为了可以使 每一个名字都能映射到同一个站点上,我用 Hashmap 的映射功能来确保每一个名字所对应的站点是同一个。 然后我在使用 BFS 函数进行最小路径的查询 代码测试: Subway读入文件如下: 1 号线 苹果园 古城 八角游乐园 八宝山 玉泉路 五棵松 万寿路 公主坟 军事博物馆 木樨地 南礼士路 复兴门 西单 天安门西 天安门东 王府井 东单 建国门 永安里 国贸 大望路 四惠 四惠东 2 号线 西直门 车公庄 阜成门 复兴门 长椿街 宣武门 和平门 前门 崇文门 北京站 建国门 朝阳门 东四十条 东直门 雍和宫 安定门 鼓楼大街 积水潭 西直门 3 号线 天宫院 生物医药基地 义和庄 黄村火车站 黄村西大街 清源路 枣园 高米店南 高米店北 西红门 新宫 公益西桥 角门西 马家堡 北京南站 陶然亭 菜市口 宣武门 西单 灵境胡同 西四 平安里 新街口 西直门 动物园 国家图书馆 魏公村 人民大学 海淀黄庄 中关村 北京大学东门 圆明园 西苑 北宫门 安河桥北 5 号线 宋家庄 刘家窑 蒲黄榆 天坛东门 磁器口 崇文门 东单 灯市口 东四 张自忠路 北新桥

个人项目关于北京地铁线路出行线路规划

限于喜欢 提交于 2019-12-01 07:56:01
一 问题重述 1.实现地铁线路的加载 2.实现查询指定线路所有站点(包括换乘信息) 3.实现查询指定两个站点间的最短路径 二 功能设计 1.实现地铁线路的加载 -map subway.txt //将存储在subway.txt文件里的地铁线路进行读取 2.实现查询指定线路所有站点 -a 地铁线路名称 -map subway.txt -o station.txt //读取subway.txt文件信息后,通过输入的地铁线路名称,将指定地铁线路的所有站点写入station.txt文件 3.实现查询指定两个站点间的最短路径 -b 起始站点 目的站点 -map subway.txt -o routine.txt //读取subway.txt文件信息后,通过输入的起始站点和目的站点,将最短路径的所有站点写入routine.txt文件   三 项目内容 1.文本地图存储方式 地铁线路名称 站点1 站点2[其它途经地铁线1][其它途经地铁线2……] …… 站点n 以地铁1号线为例 1号线 苹果园 古城 八角游乐园 八宝山 玉泉路 五棵松 万寿路 公主坟[10号线] 军事博物馆[9号线] 木樨地 南礼士路 复兴门[2号线] 西单[4号线] 天安门西 天安门东 王府井 东单[5号线] 建国门[2号线] 永安里 国贸[10号线] 大望路[14号线东段] 四惠[八通线] 四惠东[八通线] 注意

个人作业地铁项目

不羁岁月 提交于 2019-12-01 07:11:32
个人项目———北京地铁最短路径 一、程序 类:分别有Station、Path、Map、Subwany 四个类 class Station :地铁站点类,包含地铁站点名称、地铁站点编号、所属地铁线路 class Path:路径类,包含路径距离、路径中的最后一站以及路径中的所有站点 class Map(处理读入的文件以及计算最短路径) public void loadSubwayFile(String subway_file) 读取文件中的每一行,即每一条地铁线路暂时存储起来。 > public void loadSubwayFile(String subway_file) { BufferedReader reader=null; File subway=new File(subway_file); try { reader=new BufferedReader(new FileReader(subway)); String t=null; while((t=reader.readLine())!=null) { subway_allstation.add(t); } }catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch

个人作业地铁项目

我怕爱的太早我们不能终老 提交于 2019-12-01 07:10:54
个人项目———北京地铁最短路径 一、程序 类:分别有Station、Path、Map、Subwany 四个类 class Station :地铁站点类,包含地铁站点名称、地铁站点编号、所属地铁线路 class Path:路径类,包含路径距离、路径中的最后一站以及路径中的所有站点 class Map(处理读入的文件以及计算最短路径) public void loadSubwayFile(String subway_file) 读取文件中的每一行,即每一条地铁线路暂时存储起来。 > public void loadSubwayFile(String subway_file) { BufferedReader reader=null; File subway=new File(subway_file); try { reader=new BufferedReader(new FileReader(subway)); String t=null; while((t=reader.readLine())!=null) { subway_allstation.add(t); } }catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch

个人作业地铁项目

巧了我就是萌 提交于 2019-12-01 07:10:15
个人项目———北京地铁最短路径 一、程序 类:分别有Station、Path、Map、Subwany 四个类 class Station :地铁站点类,包含地铁站点名称、地铁站点编号、所属地铁线路 class Path:路径类,包含路径距离、路径中的最后一站以及路径中的所有站点 class Map(处理读入的文件以及计算最短路径) public void loadSubwayFile(String subway_file) 读取文件中的每一行,即每一条地铁线路暂时存储起来。 `public void loadSubwayFile(String subway_file) { BufferedReader reader=null; File subway=new File(subway_file); try { reader=new BufferedReader(new FileReader(subway)); String t=null; while((t=reader.readLine())!=null) { subway_allstation.add(t); } }catch (IOException e) { e.printStackTrace(); } finally { if (reader != null) { try { reader.close(); } catch

地铁出行路线规划

廉价感情. 提交于 2019-11-30 06:32:39
地铁出行路线规划 需求分析 使用文本文件保存地铁线路信息 实现一个通过命令行运行使用,并且能显示地铁线路和计算换乘的程序 设计思路 以北京地铁为例。 使用Java开发 以二号线为例,文本文件格式为 2,积水潭,鼓楼大街,安定门,雍和宫,东直门,东四十条,朝阳门,建国门,北京站,崇文门,前门,和平门,宣武门,长椿街,复兴门,阜成门,车公庄,西直门,积水潭 用 , 区分站名 每行记录第一项是地铁线路名,接下去是始发站到终点站的依次排序。若始发站名与终点站名相同则说明是环行线路 程序使用两个类来记录线路以及站点 地铁线路(Line.class)包括地铁名,首末站点,站点的list数组 站点(Station.class) 包括站名,前后站点的list数组 用Dijkstra 算法计算最短路径。假设站与站之间的间隔相等,距离为1。 项目时间安排 PSP 2.1 Personal Software Process Stages Time/hours Planning 计划 · Estimate · 估计这个任务需要多少时间 1 Development 开发 · Analysis · 需求分析 (包括学习新技术) 10 · Design Spec · 生成设计文档 1 · Design Review · 设计复审 (和同事审核设计文档) 1 · Coding Standard · 代码规范

个人项目——地铁项目简要分析

删除回忆录丶 提交于 2019-11-30 06:10:42
个人项目——地铁项目简要分析 需求分析 设计线路的储存格式 程序能够解析地铁文件 通过地铁线路查询该线的站点 查询两个站点之间的最短路径 解析命令行中的命令 测试 实现思路 地铁线路和各个站点,一个线路有多个站点,一个站点也可能有多个线路,可以通过一张图存下来。 地铁文件的保存格式:线路+站点 启动程序命令行: java subway -map subway.txt 根据线路查询地铁站: java subway -a 1号线 -map subway.txt -o station.txt 根据两个站点查询最佳路径: java subway -b 洪湖里 复兴路 -map subway.txt -o routine.txt 输出文件格式 3 洪湖里 西站 6号线 复兴路 测试 洪湖里——刘园 1号线 洪湖里 勤俭道 本溪路 果酒厂 西横堤 刘园 洪湖里——复兴路 1号线 洪湖里 西站 6号线 复兴路 西站——大王庄 1号线 西站 西北角 西南角 2号线 鼓楼 东南角 建国道 天津站 9号线 大王庄 出错情况:不存在改站点 无法到达改站点 总结: 这次的个人作业会用Java编写但对Java的掌握还远远不够,要学习很多知识,主要的难度在于去考虑两个站点之间的换乘。 来源: https://www.cnblogs.com/c-zq/p/11566230.html