我使用以下代码来流式传输推文并分析它们以做出决策。 在运行下面的代码时,我遇到了一个错误。 该错误发生在Twitter用户那些朋友列表超过50的人。
import re
import tweepy
import sys
import time
consumer_key = ''
consumer_secret = ''
access_token = ''
access_token_secret = ''
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
non_bmp_map = dict.fromkeys(range(0x10000, sys.maxunicode + 1), 0xfffd)
users = tweepy.Cursor(api.friends, screen_name='@myuser').items()
while True:
try:
user = next(users)
except tweepy.TweepError:
time.sleep(60*15)
user = next(users)
except StopIteration:
break
for status in tweepy.Cursor(api.user_timeline,screen_name=user.screen_name,result_type='recent').items(5):
text=status._json['text'].translate(non_bmp_map)
print (user.screen_name + ' >>>>>> '+text)
执行此脚本时,我遇到如下错误。
Traceback (most recent call last):
File "D:sensitive2demo.py", line 31, in <module>
for status in tweepy.Cursor(api.user_timeline,screen_name=user.screen_name,result_type='recent').items(5):
File "C:UsersuserAppDataLocalProgramsPythonPython36libsite-packagestweepy-3.6.0-py3.6.eggtweepycursor.py", line 49, in __next__
return self.next()
File "C:UsersuserAppDataLocalProgramsPythonPython36libsite-packagestweepy-3.6.0-py3.6.eggtweepycursor.py", line 197, in next
self.current_page = self.page_iterator.next()
File "C:UsersuserAppDataLocalProgramsPythonPython36libsite-packagestweepy-3.6.0-py3.6.eggtweepycursor.py", line 108, in next
data = self.method(max_id=self.max_id, parser=RawParser(), *self.args, **self.kargs)
File "C:UsersuserAppDataLocalProgramsPythonPython36libsite-packagestweepy-3.6.0-py3.6.eggtweepybinder.py", line 250, in _call
return method.execute()
File "C:UsersuserAppDataLocalProgramsPythonPython36libsite-packagestweepy-3.6.0-py3.6.eggtweepybinder.py", line 234, in execute
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: Twitter error response: status code = 401
我用谷歌搜索了很多,但没有任何效果。有人可以帮助我解决问题吗?
401 是"未经授权"的 http 状态代码。 我建议验证您的凭据。