我正在使用tweepy库下载某些用户的tweets。我想将这些tweets保存到JSON文件中,但我收到以下错误:File "", line 63, in getTweetsList
json.dump(status._json,file,sort_keys = True,indent = 4)
File "C:\ProgramData\Anaconda3\lib\json__init__.py", line 180, in
dump
fp.write(chunk)
TypeError: a bytes-like object is required, not 'str'
代码如下:def getTweetsList(self, screen_name):
# Twitter only allows access to a users most recent 3240 tweets with this method
# initialize a list to hold all the tweepy Tweets
alltweets = []
# make initial request for most recent tweets (200 is the maximum allowed count)
new_tweets = self.api.user_timeline(screen_name = screen_name,count=200)
# save most recent tweets
alltweets.extend(new_tweets)
# save the id of the oldest tweet less one
oldest = alltweets[-1].id - 1
# keep grabbing tweets until there are no tweets left to grab
while len(new_tweets) > 0:
# all subsiquent requests use the max_id param to prevent duplicates
new_tweets = self.api.user_timeline(screen_name = screen_name,count=200,max_id=oldest)
# save most recent tweets
alltweets.extend(new_tweets)
# update the id of the oldest tweet less one
oldest = alltweets[-1].id - 1
print("...%s tweets downloaded so far" % (len(alltweets)))
print("Total tweets downloaded %s" % (len(alltweets)))
file = open('tweet.json', 'wb')
print("Writing tweet objects to JSON please wait...")
for status in alltweets:
json.dump(status._json,file,sort_keys = True,indent = 4)
return alltweets
我到处寻找答案,但没有一个对我有效。我认为这可能与Python3.6有关。在