$ py twitterDump2.py
Traceback (most recent call last):
File "twitterDump2.py", line 30, in <module>
stream=tweepy.Stream(username,password,listener)
TypeError: __init__() takes exactly 3 arguments (4 given)
我的代码:
username="abc"
password="abc"
listener = StreamWatcherListener()
stream=tweepy.Stream(username,password,listener)
答案 0 :(得分:2)
__init__的第一个参数通常是self,所以它期望你只传递两个参数。
令人惊讶的是tweepy.streaming.py代码表明:
class Stream(object):
host = 'stream.twitter.com'
def __init__(self, auth, listener, **options):
self.auth = auth
self.listener = listener
以这种方式创建auth:
auth = tweepy.BasicAuthHandler(username, password)
您的代码应该是这样的
username="abc"
password="abc"
listener = StreamWatcherListener()
auth = tweepy.BasicAuthHandler(username, password)
stream=tweepy.Stream(auth,listener)
请参阅以下代码:http://github.com/joshthecoder/tweepy/blob/master/tweepy/streaming.py
答案 1 :(得分:2)
pyfunc给出了为什么这不起作用的原因。
要查看哪些参数,请键入:
help(tweepy.Stream)
这将为您提供Stream类所需的参数。
这是供您参考:
def __init__(self, auth, listener, **options)
options
使用一个字典,用**运算符传递关键字参数。