Protobuffer是一种二进制格式,因此在原始状态下是不可读的。要读它,去拿
python bindings from Google
安装时使用:
pip install --upgrade gtfs-realtime-bindings
from google.transit import gtfs_realtime_pb2
import urllib.request
feed = gtfs_realtime_pb2.FeedMessage()
pb_url = "http://someURL/someFile.pb"
with urllib.request.urlopen(pb_url) as response:
feed.ParseFromString(response.read())
print(feed)
这会给你类似的东西:
header {
gtfs_realtime_version: "1.0"
incrementality: FULL_DATASET
timestamp: 1579313685
}
entity {
id: "10-abc-O-1"
trip_update {
trip {
trip_id: "10-1622-O-1"
}
...