TweepError无法解析JSON有效负载 - 随机错误

时间:2015-12-21 16:09:29

标签: python json twitter tweepy

我在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

0 个答案:

没有答案