如何修复此解码错误并使程序正常工作?

时间:2014-05-08 19:42:26

标签: python json

我正在尝试运行此代码(https://gist.github.com/eknowles/9939273)。此代码试图代表我在Steam Market进行自动交易。我有一个C背景所以我认为有人可以帮助我。这是一个automatci交易机器人,应该根据代码的作者工作,如下所示。我正在努力让它发挥作用。当我尝试在输入我的profileid,sessionid和cookie之后运行它,并创建对象作为代码的作者,告诉我上面给出的链接,

>>> import botlast

>>> m=botlast.Market()

>>> m.RunSeller()

我得到以下错误。如果你帮我解决这些问题,我将不胜感激。提前谢谢。

Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Python27\bottt.py", line 175, in RunSeller
res = json.load(f)
File "C:\Python27\lib\json\__init__.py", line 290, in load
**kw)
File "C:\Python27\lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 365, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 383, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

2 个答案:

答案 0 :(得分:3)

我是Gist的创造者。 看起来您的个人资料ID不正确。确保它是文本部分。

例如,个人资料http://steamcommunity.com/id/gabe的profileid为&#39; gabe&#39;。 可能是您的会话和cookie信息不正确,测试此信息的最佳方法是转发并将商品投放销售。

在此之前,打开开发人员工具并收听GET请求。 i.stack.imgur.com/lGsSR.png

然后复制cookie中的所有信息。 i.stack.imgur.com/Z1sku.jpg

我已经突出显示了您需要的数据。

答案 1 :(得分:1)

看起来有问题的代码是获取URL并尝试加载它返回到json dict的内容:

inventory = self.hosturl+"id/"+self.profileid+"/inventory/json/"+self.appid+"/"+self.contextid
r = requests.post(inventory, '')
req = urllib2.Request(inventory)
opener = urllib2.build_opener()
f = opener.open(req)
res = json.load(f)

您确定从该网址返回了有效的json(inventory变量中包含的网址)吗?

修改

尝试编辑该代码块以实际打印出返回的内容:

inventory = self.hosturl+"id/"+self.profileid+"/inventory/json/"+self.appid+"/"+self.contextid
r = requests.post(inventory, '')
req = urllib2.Request(inventory)
opener = urllib2.build_opener()
f = opener.open(req)
val = f.read()
print("val is {}".format(val))
res = json.loads(val)

希望这能提供一些有用的东西。