コンテンツにスキップ

Python GTFS-realtime言語バインディング

PyPIバージョン

GTFS-realtimeのProtocolBuffer仕様から生成されたPythonクラスを提供します。 これらのクラスにより、バイナリ ProtocolBuffer GTFS-realtime データフィードを Python オブジェクトにパースすることができます。

依存関係の追加

gtfs-realtime-bindingsクラスを自分のプロジェクトで使用するためには、まずPyPIリポジトリからモジュールをインストールする必要があります。

# Using easy_install
easy_install --upgrade gtfs-realtime-bindings

# Using pip
pip install --upgrade gtfs-realtime-bindings

コード例

次のコードでは、特定のURLからGTFS-realtimeデータフィードをダウンロードし、それをFeedMessage(GTFS-realtimeスキーマのルートタイプ)として解析し、結果を反復処理する様子を示しています。

from google.transit import gtfs_realtime_pb2
import requests

feed = gtfs_realtime_pb2.FeedMessage()
response = requests.get('URL OF YOUR GTFS-REALTIME SOURCE GOES HERE')
feed.ParseFromString(response.content)
for entity in feed.entity:
  if entity.HasField('trip_update'):
    print(entity.trip_update)

gtfs-realtime.protoから生成されるPythonクラスの命名規則の詳細については、Protocol Buffers開発者サイトのPython生成コード部参照してください。