从googledirections-API传输模式下载有组织的时间表信息以获得漂亮的输出

gptt的Python项目详细描述


gptt

gptt(Get Public transportation Timetables)是一个命令行工具,用于从Google Directions API下载和格式化给定日期的公共交通时刻表,使用公交出行模式。在

安装

安装gptt的最佳方法是通过pip:pip install gptt。您也可以从源安装它:python setup.py install。在

使用

命令行

gptt主要用作命令行工具,尽管它的功能可以在Python程序中使用(见下文)。使用默认模板,它会生成如下所示的详细时间表:

Example timetable

例如,gptt -f "Budapest, Kelenföld vasútállomás" -t "Hejce" -d "2020-07-01" -k $GOOGLE_API_KEY -o timetable.html使用环境变量$GOOGLE_API_KEY中定义的Google Maps API键,下载Budapest,Kelenföld vasútállomás(匈牙利布达佩斯的火车站)和Hejce(匈牙利的一个村庄)之间的所有公共交通连接,然后使用默认的HTML模板格式化此数据并将其输出到timetable.html。在

注意:默认的HTML模板用于城市之间的路线,而不是城市内部的路线(它强调的是地点而不是实际的站点名称),但是,您可以创建自定义模板以满足您的特定需要。在

命令行选项的完整说明:

注意:粗体的选项必须作为命令行参数或在配置文件中传递。在

使用配置文件

下面的config.json为不需要的选项和API密钥添加值。(不要将API密钥提交给版本控制系统!)。在

{"vehicle-type-names":["HEAVY_RAIL=Ⓣ","BUS=Ⓑ"],"station-name-replacements":["Hauptbahnhof=hbf.","Bahnhof=bf."],"lang":"en-GB","max-transfers":3,"api-key":"ab4ab2fa-74c9-4af1-a250-9efe735c80fb"}

使用这个文件,我们可以运行gptt -f "London" -t "Manchester" -d "2020-08-19" -c config.json。在

Python包

两个主要函数get_transit_plan_for_timestamp()和{}可以通过

^{pr2}$

这些函数的详细文档可以在代码中找到。在

贡献

欢迎发布提交和拉取请求。简单的修复不需要提交问题,但是,如果请求包含很多更改或新功能,请提交一个问题。在

更多信息

阅读有关此项目的更多信息on my blog。在

变更日志

  • 0.1.1:
    • [bugfix]修复了API响应(#1)未正确解析某些位置时的错误
    • [bug fix]使程序知道查询源的本地时间来定义日期(#2
    • [错误修复](部分):更好地处理不返回传输结果的路由API。这并没有完全解决(#3
  • 0.1.0:
    • 首次公开发行

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
JavaSpringbean已创建但未自动连接   java LibGDX游戏在三星Galaxy Grand Prime上结束   如何在Java中列出字符串句子中所有匹配条件的单词   java在Recyclerview中使用“putExtra”传递数据   java从一个特定的数组中提取特定的JSON对象,以便在Android中通过一个意图放入另一个活动   java需要使用IntelliJ和设置项目SDK的帮助   java springcontextindexer和Swagger 3   java使用indexOf和substring计算数字   java使用xml解析在word文档中查找隐式分页符   在添加<context:componentscan basepackage=“com.young.user”/   java无条件更改JTable单元格的背景色   选择列表中的java调用oracle函数:节点无数据类型   java如何添加缓冲图像作为JFrame的背景,然后在此图像上添加面板?   java Javadoc找不到用scala编写的类   java连接到文件共享程序的IP地址   java将数组元素加载到集合中   Tomcat中的java servlet、过滤器和线程   非Bean对象中的java EJB CDI注入?   java与println和printf的不同舍入