【发布时间】:2014-09-25 03:16:00
【问题描述】:
所以,我在尝试从我的提要中请求状态时遇到了这个问题,而且错误非常模糊,我无法弄清楚我做错了什么。任何帮助将不胜感激。
My Code:
with open("Output.txt") as input:
lines = [line for line in input if line.strip()]
with open("Output.txt", "w") as output:
for items in api.request('statuses/home_timeline', {'count': '200'}):
x = ((items['text'] if 'text' in items else items).encode('ascii', 'ignore'))
current_id = id(x)
print(current_id)
print(x.decode('ascii', 'ignore'))
output.write((x.decode('ascii', 'ignore')) + '\n')
for items in api.request('statuses/home_timeline', {'count': '200'}, {'max_id': str(current_id)}):
x = ((items['text'] if 'text' in items else items).encode('ascii', 'ignore'))
current_id = id(x)
print(current_id)
print(x.decode('ascii', 'ignore'))
output.write((x.decode('ascii', 'ignore')) + '\n')
The Error Code returned:
Traceback (most recent call last):
File "C:/Users/Brandon/PycharmProjects/untitled/automated_timeline_collector.py", line 29, in <module>
for items in api.request('statuses/home_timeline', {'count': '200'}, {'max_id': str(current_id)}):
File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 140, in __iter__
for item in self.get_iterator():
File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 137, in get_iterator
return RestIterator(self.response)
File "C:\Python27\lib\site-packages\TwitterAPI\TwitterAPI.py", line 165, in __init__
resp = response.json()
File "C:\Python27\lib\site-packages\requests\models.py", line 756, in json
return json.loads(self.content.decode(encoding), **kwargs)
File "C:\Python27\lib\json\__init__.py", line 338, in loads
return _default_decoder.decode(s)
File "C:\Python27\lib\json\decoder.py", line 366, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:\Python27\lib\json\decoder.py", line 384, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
Process finished with exit code 1
程序通过前 200 个状态没有问题,但我使用当前 id 让代码从中断处继续的方式不太正确。感谢您的帮助和反馈。
【问题讨论】:
-
那么,如果您返回的不是 JSON,那么 是 是什么?
-
捕获异常,看看它是否有更多细节。碰到一些错误页面,捕获异常并继续可能是正常的。