有没有人知道任何火车时刻表API服务?

15

更新

时间在流逝,但某些事情正在发生(欧洲):我的一位朋友向我展示了这个网站:http://project.irail.be/。目前它只适用于比利时。

我想知道是否有任何在线服务提供关于火车时刻表(到达、出发等)的API,至少适用于欧洲的车站。

我知道www.bahn.de为许多欧洲国家提供精确的时刻表,但我没有找到类似API服务的东西。

我的目标(嗯,只是一个未来计划)是开发一个类似gmaps的应用程序,但不是提供汽车行程,而是提供火车行程。您知道,用户设置出发日期、时间和车站,然后是第一个到达时间,然后再添加另一个到达时间,以此类推。

那么,有像这样的内容可以通过php/python/javascript查询吗?

编辑:如果可以帮助,我想建立一个规划inter-rail旅行的服务!(对任何帮助将非常感激)

我卡住了。 Google的公共服务API依赖于每个当地公司提供的信息,但许多分支都缺失(例如,几乎不可能使用它来构建涉及欧洲两个或更多地区的行程。 正如我之前所说,我知道唯一有效的服务是bahn.de,他们真的拥有所有数据...但没有API。 我尝试解析它们的结果页面(以便将它们用作API),但似乎标记正是为了避免这样做。也许他们在背后有商业计划或其他什么原因,但我不认为他们会释放任何API...所以,我的项目将在没有此功能的情况下继续进行(附言:我的项目涉及非营利文化组织,我们不会对任何人发动战争;P)

@El Goorf:如果您找到方法,并考虑分享它,请告诉我需要帮助的话!


你不会重复 bahn.de 的功能吗?他们有你所描述的完全相同的路线规划器。 - Michael Kuhn
是的,我不想重复造轮子,但我正在尝试找出一个与gmaps、panoramio和wikimage链接的Web应用程序,在那里人们可以构建-编辑-然后与朋友分享他们的旅行...我不能重定向到bahn.de来计划旅行,然后回到位置、建议的地方等等.. ;) - Strae
8个回答

8

顺便提一下,在英国,国家铁路公司没有为其英国列车数据提供API,并且对于开发人员从第三方应用程序中调用表单/爬取页面非常反感。这是一个非常奇怪的封闭模型。Google或BBC可能是你最好的选择,尽管BBC提供旅行信息而不是时间表。


14
坦白说,英国的火车系统整体来看是一个非常奇怪的封闭模式,这还是比较适合家庭的说法。 - annakata
他们确实提供了一个网络服务:http://realtime.nationalrail.co.uk/ldbws/ 然而,他们最近改变了政策,你需要购买API令牌才能使用 - 以前是免费的。这可能是因为有人免费提供铁路时间表,并削弱了他们自己的iPhone/Android应用程序。 - Chris S
1
ATOC现在提供了时间表数据 - http://www.atoc.org/about-atoc/rail-settlement-plan/data-feeds/conditions - James

4

虽然不完全符合您的要求,但您是否查看了http://www.livedepartureboards.co.uk/ldbws/?它是英国铁路的API...但仅限于到达和出发信息,无法提前规划超过几个小时!

不过,这已经是一个开始了!


1

法国国家铁路公司刚刚发布了一个API,用于访问其火车时刻表数据: https://data.sncf.com


1

很遗憾,据我所知,目前欧洲没有公开的时间表数据。正如上面garrow所指出的那样,美国、澳大利亚和加拿大的许多机构已经带头向开发者提供这些信息,但其他地区尚未跟随。我建议关注Transit Developers groupOpenStreetMap talk-transit list,因为这些是开发者最有可能讨论新数据发布的地方。


1
对于欧洲地区,网站bahn.de似乎拥有90%的火车时刻表(在我的情况下,意大利的bahn.de时刻表比trenitalia.it更准确-.-)...因此,即使是欧洲地区也应该有一些信息可供使用。我已经尝试联系bahn.de,但没有回复... - Strae

1
在瑞典,有http://www.trafiklab.se提供的API,可以获取瑞典所有公共交通信息,其中大部分(包括火车)都提供实时干扰信息。不过只支持瑞典语。

1

在编程方面的内容中,有些以普通格式呈现,比如 Google Transit Feed。有一些是基于美国的,还有一个我找到的针对伦敦的。


是的,类似于GTF但全球范围内-或至少在欧洲... 嗯,看起来谷歌正在“等待”公共机构提供数据,所以这只是时间问题。 - Strae

1
英国的火车时刻表数据可从以下网址获取:

http://data.atoc.org/how-to

它可以免费使用,包括商业用途。它不是API,而是一个40M的压缩文件,其中包含以古老的固定字段格式存储的数据。似乎有一个开源项目可以解析这些数据,sourceforge上的librailfare(感谢lefterav指出)。

数据规范在这里:

http://travelinedata.org.uk/CIF/atco-cif-spec.pdf

在这里:

http://data.atoc.org/sites/all/themes/atoc/files/rsps5041%20-%20Timetable%20Data.pdf


我正在寻找一些“实时”的东西。目前,这个功能在我的项目中被延迟了...但我会继续关注的 ;) - Strae
是的,目前还没有免费的实时数据可用 :-( - JosephH

0
有人能解决这个问题吗?我一直在寻找欧洲火车时刻表API。我找到的最好的免费数据源是:http://www.bahn.de/p/view/buchung/karten/dbfahrplanbest.shtml
这是一个本地安装的应用程序...现在如果有办法将数据从中提取出来并加载到数据库中,那就太好了!

是的,我已经看过那个页面了,但我不认为它能解决问题。首先:它们允许你以你将要使用的方式使用他们的数据吗?其次:你必须构建自己的数据结构和路由查询 - 第三:更新怎么办?我最好的选择是使用某种API - 我试着联系他们几次都没有回答。 - Strae
是的..我原本打算建立自己的路由查询,但其他两个问题相当重要。即使数据可以从应用程序中提取(我曾经尝试编写一个专门针对应用程序的自动内容抓取器,但放弃了这个想法),将其处理成某种数据结构,特别是满足我的需求,也是很困难的。 - thor
我尝试过爬取bahn.de预订表单的结果,但DOM看起来就像是为了让爬取变得困难而构建的。 - Strae
您不得将bahn.de的时刻表用于商业目的。 - lefterav

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接