我在Python中使用Tweepy包来收集推文。我跟踪几个用户并收集他们最新的推文。对于某些用户,我收到类似"无法解析JSON有效负载的错误:",例如"无法解析JSON有效负载:期待','分隔符或'}':第1行第694303行(字符694302)"。我记下了用户标识并尝试重现错误并调试代码。我第二次为特定用户运行代码时,我得到了结果(即推文)没有问题。我调整了我的代码,以便当我收到此错误时,我再次尝试提取推文。因此,我可能会为用户一次或两次收到此错误,但在第二次或第三次尝试时,代码会像往常一样返回推文而不会出现错误。我也得到了其他用户的类似行为。
我的问题是,为什么这个错误会随机出现?没有其他改变。我在互联网上搜索但是找不到类似的报道。我的代码片段如下:
#initialize a list to hold all the tweepy Tweets
alltweets = []
ntries = 0
#make initial request for most recent tweets (200 is the maximum allowed count)
while True:
try: #if process fails due to connection problems, retry.
if beforeid:
new_tweets = api.user_timeline(user_id = user,count=200, since_id=sinceid, max_id=beforeid)
else:
new_tweets = api.user_timeline(user_id = user,count=200, since_id=sinceid)
break
except tweepy.error.RateLimitError:
print "Rate limit error:", sys.exc_info()[0]
print("Timeout, retry in 5 minutes...\n")
time.sleep(60 * 5)
continue
except tweepy.error.TweepError as er:
print('TweepError: ' + er.message)
if er.message == 'Not authorized.':
new_tweets = []
break
else:
print(str(ntries))
ntries +=1
pass
except:
print "Unexpected error:", sys.exc_info()[0]
new_tweets = []
break