tweepy.error.TweepError: This method does not perform pagination
tweepy.error.TweepError: This method does not perform pagination
我正在学习如何制作 Twitter 机器人。
我创建了一个 'last_seen.txt' 文件来跟踪已经互动过的推文。
我正在使用此代码:
def read_last_seen(FILE_NAME):
file_read = open(FILE_NAME, 'r')
last_seen_id = int(file_read.read().strip())
file_read.close()
return last_seen_id
def store_last_seen(FILE_NAME, last_seen_id):
file_write = open(FILE_NAME, 'w')
file_write.write(str(last_seen_id))
file_write.close()
return
之后我宣布了这个:
tweets = tweepy.Cursor(api.search(read_last_seen(FILE_NAME), tweet_mode='extended'), q).items(tweetNumber)
现在我得到错误:
raise TweepError('This method does not perform pagination')
tweepy.error.TweepError: This method does not perform pagination
最后一行。
是否有另一种方式来声明该行?
我知道该代码本质上没有错误,只是不受支持。
//使用完整代码进行编辑 //
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)
api = tweepy.API(auth)
FILE_NAME = 'last_seen.txt'
def read_last_seen(FILE_NAME):
file_read = open(FILE_NAME, 'r')
last_seen_id = int(file_read.read().strip())
file_read.close()
return last_seen_id
def store_last_seen(FILE_NAME, last_seen_id):
file_write = open(FILE_NAME, 'w')
file_write.write(str(last_seen_id))
file_write.close()
return
tweetNumber = 20
q = "My search"
tweets = list(tweepy.Cursor(api.search, q, tweet_mode='extended').items(tweetNumber))
def crashBot():
for tweet in reversed(tweets):
try:
if q in tweet.full_text.lower():
print(str(tweet.id) + '-' + tweet.full_text)
api.update_status("@" + tweet.user.screen_name + " My Reply!", tweet.id)
api.create_favorite(tweet.id)
api.retweet(tweet.id)
print("done!")
store_last_seen(FILE_NAME, tweet.id)
time.sleep(10)
except tweepy.tweepyError as e:
print(e.reason)
time.sleep(10)
while True:
crashBot()
time.sleep(10)
当前错误:
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: [{'code': 187, 'message': 'Status is a duplicate.'}]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "crashBot.py", line 53, in <module>
crashBot()
File "crashBot.py", line 48, in crashBot
except tweepy.tweepyError as e:
AttributeError: module 'tweepy' has no attribute 'tweepyError'
或
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: [{'code': 139, 'message': 'You have already favorited this status.'}]
当使用 tweepy.Cursor
时,您需要传递 API
方法而不调用它,并将参数传递给游标,就像传递给该方法一样。
此外,Cursor.items
returns 一个迭代器,而不是实际的 Status 对象。您可能希望将其转换为列表或遍历它。
例如:
tweets = list(tweepy.Cursor(api.search, q, tweet_mode='extended').items(tweetNumber))
我不确定您如何使用 read_last_seen(FILE_NAME)
,但您希望以与将其传递给 API.search
相同的方式传递它。如果是查询本身,只需将 q
替换为它即可。
我正在学习如何制作 Twitter 机器人。
我创建了一个 'last_seen.txt' 文件来跟踪已经互动过的推文。
我正在使用此代码:
def read_last_seen(FILE_NAME):
file_read = open(FILE_NAME, 'r')
last_seen_id = int(file_read.read().strip())
file_read.close()
return last_seen_id
def store_last_seen(FILE_NAME, last_seen_id):
file_write = open(FILE_NAME, 'w')
file_write.write(str(last_seen_id))
file_write.close()
return
之后我宣布了这个:
tweets = tweepy.Cursor(api.search(read_last_seen(FILE_NAME), tweet_mode='extended'), q).items(tweetNumber)
现在我得到错误:
raise TweepError('This method does not perform pagination')
tweepy.error.TweepError: This method does not perform pagination
最后一行。
是否有另一种方式来声明该行? 我知道该代码本质上没有错误,只是不受支持。
//使用完整代码进行编辑 //
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)
api = tweepy.API(auth)
FILE_NAME = 'last_seen.txt'
def read_last_seen(FILE_NAME):
file_read = open(FILE_NAME, 'r')
last_seen_id = int(file_read.read().strip())
file_read.close()
return last_seen_id
def store_last_seen(FILE_NAME, last_seen_id):
file_write = open(FILE_NAME, 'w')
file_write.write(str(last_seen_id))
file_write.close()
return
tweetNumber = 20
q = "My search"
tweets = list(tweepy.Cursor(api.search, q, tweet_mode='extended').items(tweetNumber))
def crashBot():
for tweet in reversed(tweets):
try:
if q in tweet.full_text.lower():
print(str(tweet.id) + '-' + tweet.full_text)
api.update_status("@" + tweet.user.screen_name + " My Reply!", tweet.id)
api.create_favorite(tweet.id)
api.retweet(tweet.id)
print("done!")
store_last_seen(FILE_NAME, tweet.id)
time.sleep(10)
except tweepy.tweepyError as e:
print(e.reason)
time.sleep(10)
while True:
crashBot()
time.sleep(10)
当前错误:
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: [{'code': 187, 'message': 'Status is a duplicate.'}]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "crashBot.py", line 53, in <module>
crashBot()
File "crashBot.py", line 48, in crashBot
except tweepy.tweepyError as e:
AttributeError: module 'tweepy' has no attribute 'tweepyError'
或
raise TweepError(error_msg, resp, api_code=api_error_code)
tweepy.error.TweepError: [{'code': 139, 'message': 'You have already favorited this status.'}]
当使用 tweepy.Cursor
时,您需要传递 API
方法而不调用它,并将参数传递给游标,就像传递给该方法一样。
此外,Cursor.items
returns 一个迭代器,而不是实际的 Status 对象。您可能希望将其转换为列表或遍历它。
例如:
tweets = list(tweepy.Cursor(api.search, q, tweet_mode='extended').items(tweetNumber))
我不确定您如何使用 read_last_seen(FILE_NAME)
,但您希望以与将其传递给 API.search
相同的方式传递它。如果是查询本身,只需将 q
替换为它即可。