从单个用户切换到范围时出现 Tweep 错误 34
Getting Tweep Error 34 when switching from single user to range
我正在尝试从 Twitter 上的大约 500 个用户名中抓取最后 1-10 条推文。
代码在抓取 1 个用户时完美运行,但在引入一系列用户时会失败。
第一个代码是单用户 - 将从 Gavinfree 获取最后 7 条推文并写入 CSV
import tweepy
import csv
#Twitter API credentials
consumer_key = "secretcode"
consumer_secret = "secretcode"
access_key = "secretcode"
access_secret = "secretcode"
def get_all_tweets(GavinFree):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
alltweets = []
new_tweets = api.user_timeline(screen_name = GavinFree,count=7)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
while len(new_tweets) > 0:
print "getting tweets before %s" % (oldest)
new_tweets = api.user_timeline(screen_name = GavinFree,count=7,max_id=10)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
print "...%s tweets downloaded so far" % (len(alltweets))
outtweets = [[tweet.created_at, tweet.text.encode("utf-8")] for tweet in alltweets]
with open('%s_tweets.csv' % GavinFree ,'wb') as f:
writer = csv.writer(f)
writer.writerow(["created_at","text"])
writer.writerows(outtweets)
pass
if __name__ == '__main__':
#pass in the username of the account you want to download
get_all_tweets("GavinFree")
第二个代码是用户范围 - 将从每个用户那里获取 7 条推文并写入 CSV,除了范围 - 完全相同。
import tweepy
import csv
#Twitter API credentials
consumer_key = "secretcode"
consumer_secret = "secretcode"
access_key = "secretcode"
access_secret = "secretcode"
handles_list = ["gavinFree","bdunkelman","burnie","ashleyj",]
def get_all_tweets(handles_list):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
alltweets = []
new_tweets = api.user_timeline(screen_name = handles_list,count=10)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
while len(new_tweets) > 0:
print "getting tweets before %s" % (oldest)
new_tweets = api.user_timeline(screen_name = handles_list,count=10,max_id=10)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
print "...%s tweets downloaded so far" % (len(alltweets))
outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8")] for tweet in alltweets]
with open('%s_tweets.csv' % handles_list, 'wb') as f:
writer = csv.writer(f)
writer.writerow(["id","created_at","text"])
writer.writerows(outtweets)
pass
if __name__ == '__main__':
#pass in the username of the account you want to download
get_all_tweets("handles_list")
我收到的错误代码是 tweepy.error.TweepError: [(u'message' : u'sorry, that page does not exist.' , u'code :34)]
我检查了用户名并尝试了 with @ 和 without。
我只是想知道可能是什么问题,因为代码 34 表示 Twitter api 页面上出现 404 错误,但只有在添加范围时才会引入错误。
如有任何见解,我们将不胜感激。
您将 handles_list 作为字符串文字传递,并且该函数似乎没有修改为处理列表。
试试这个:
if __name__ == '__main__':
for handle in handles_list:
get_all_tweets(handle)
我正在尝试从 Twitter 上的大约 500 个用户名中抓取最后 1-10 条推文。 代码在抓取 1 个用户时完美运行,但在引入一系列用户时会失败。
第一个代码是单用户 - 将从 Gavinfree 获取最后 7 条推文并写入 CSV
import tweepy
import csv
#Twitter API credentials
consumer_key = "secretcode"
consumer_secret = "secretcode"
access_key = "secretcode"
access_secret = "secretcode"
def get_all_tweets(GavinFree):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
alltweets = []
new_tweets = api.user_timeline(screen_name = GavinFree,count=7)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
while len(new_tweets) > 0:
print "getting tweets before %s" % (oldest)
new_tweets = api.user_timeline(screen_name = GavinFree,count=7,max_id=10)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
print "...%s tweets downloaded so far" % (len(alltweets))
outtweets = [[tweet.created_at, tweet.text.encode("utf-8")] for tweet in alltweets]
with open('%s_tweets.csv' % GavinFree ,'wb') as f:
writer = csv.writer(f)
writer.writerow(["created_at","text"])
writer.writerows(outtweets)
pass
if __name__ == '__main__':
#pass in the username of the account you want to download
get_all_tweets("GavinFree")
第二个代码是用户范围 - 将从每个用户那里获取 7 条推文并写入 CSV,除了范围 - 完全相同。
import tweepy
import csv
#Twitter API credentials
consumer_key = "secretcode"
consumer_secret = "secretcode"
access_key = "secretcode"
access_secret = "secretcode"
handles_list = ["gavinFree","bdunkelman","burnie","ashleyj",]
def get_all_tweets(handles_list):
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)
alltweets = []
new_tweets = api.user_timeline(screen_name = handles_list,count=10)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
while len(new_tweets) > 0:
print "getting tweets before %s" % (oldest)
new_tweets = api.user_timeline(screen_name = handles_list,count=10,max_id=10)
alltweets.extend(new_tweets)
oldest = alltweets[-1].id - 1
print "...%s tweets downloaded so far" % (len(alltweets))
outtweets = [[tweet.id_str, tweet.created_at, tweet.text.encode("utf-8")] for tweet in alltweets]
with open('%s_tweets.csv' % handles_list, 'wb') as f:
writer = csv.writer(f)
writer.writerow(["id","created_at","text"])
writer.writerows(outtweets)
pass
if __name__ == '__main__':
#pass in the username of the account you want to download
get_all_tweets("handles_list")
我收到的错误代码是 tweepy.error.TweepError: [(u'message' : u'sorry, that page does not exist.' , u'code :34)]
我检查了用户名并尝试了 with @ 和 without。 我只是想知道可能是什么问题,因为代码 34 表示 Twitter api 页面上出现 404 错误,但只有在添加范围时才会引入错误。
如有任何见解,我们将不胜感激。
您将 handles_list 作为字符串文字传递,并且该函数似乎没有修改为处理列表。
试试这个:
if __name__ == '__main__':
for handle in handles_list:
get_all_tweets(handle)