twitterAPI Python错误:无法解码JSON对象
我正在使用一个叫做twitterAPI的Python库,具体可以在这里找到:https://github.com/geduldig/TwitterAPI
CONSUMER_KEY = ''
CONSUMER_SECRET = ''
ACCESS_TOKEN_KEY = ''
ACCESS_TOKEN_SECRET = ''
api = TwitterAPI(
CONSUMER_KEY,
CONSUMER_SECRET,
ACCESS_TOKEN_KEY,
ACCESS_TOKEN_SECRET,
# auth_type='oAuth1',
# proxy_url=None
)
r = api.request('account/verify_credentials')
print(r.text)
这个库运行得很好,我得到了正确的响应,所以我尝试使用Twitter的过滤API,具体是'状态/过滤',可以在这里查看:https://dev.twitter.com/docs/api/1.1/post/statuses/filter,并且我使用了'follow'这个参数。
lst = api.request('statuses/filter', {'follow': 'some_user_id'})
# user_id是一个9位的数字,比如123456789
我打印了这个对象的类型,使用的代码是print(type(lst))
,结果是:<class 'TwitterAPI.TwitterAPI.TwitterResponse'>
但是当我尝试访问这个类的方法时,出现了错误,提示No JSON object could be decoded
。你可以在这里找到这个类的所有方法:http://twitterapi.readthedocs.org/en/latest/
我尝试了所有4种方法,比如print(lst.get_iterator())
,还有print(lst.text)
,但都出现了同样的错误。
如果有人能帮忙,我将非常感激。
1 个回答
0
一旦你通过
lst = api.request('statuses/filter', {'follow': 'some_user_id'})
获得了一个TwitterResponse对象,你就可以使用
for item in lst:
print(item['text'])
来遍历返回的状态流。
你还可以通过
print(lst.status_code)
来获取HTTP状态码。
不过,print(lst.text)
是无法正常工作的,因为statuses/filter使用的是持续的流连接。