不能使用python应用程序,它使用谷歌协议缓冲区

时间:2015-01-29 11:12:22

标签: python protocol-buffers

我正在尝试使用我在GitHub上找到的应用程序来记录公共交通位置的实时更新,请参阅以下指示和应用程序的链接:

https://github.com/mattwigway/gtfsrdb

当我将终端命令修改为:

python gtfsrdb.py run -p https://gtfsrt.api.translink.com.au/Feed/SEQ.pb -d sqlite:///test.db -c

我收到以下错误:

Exception occurred in iteration
(<class 'google.protobuf.message.DecodeError'>, 
DecodeError('Unexpected end-group tag.',), 
<traceback object at 0x107d21248>)

如何让此应用程序记录来自https://gtfsrt.api.translink.com.au

的实时Feed

2 个答案:

答案 0 :(得分:0)

您使用了网址:

https://gtfsrt.api.translink.com.au/Feed/SEQ.pb

此网址不存在 - 它返回404.您可以在浏览器中打开它来查看。您运行的脚本可能正在尝试将404页面HTML解析为protobuf,这当然会失败。

也许你的意思是这个网址:

https://gtfsrt.api.translink.com.au/Feed/SEQ

注意最后缺少.pb。我自己没有尝试gtfsrdb.py,但此网址会显示在您关联的网站上,并且似乎会返回protobuf数据。

答案 1 :(得分:0)

由于身份验证错误,我出现了此错误。一旦我解决了这个问题,错误就消失了。