等待,直到收到有效的JSON响应 - Python

等待,直到收到有效的JSON响应 - Python

问题描述:

我目前正在编写一个脚本,将请求发送到特定网页并返回JSON响应。问题在于多个相同的请求返回,其中一些是HTML,另一个是JSON。我一直在研究如何继续检查,直到返回有效的JSON响应,但没有运气。这是我目前的:等待,直到收到有效的JSON响应 - Python

response = requests.get('http://www.samplewebpage.com') 
inputJSON = json.loads(response.text) 
exampleList = list(inputJSON['metaData'].values()) 
outputArray = [] 

有没有简单的方法来循环浏览json.loads等到响应是一个实际的JSON?

在此先感谢。

+1

“多个相同的请求回来”......这是否意味着您得到一个请求的多个响应?它不这样工作。你怎么知道你得到多个。 – tdelaney

+0

我发送请求的网站很奇怪,确实会从中返回多个响应。我查看了饼干和标题,他们也是一样的。它返回3个响应,其中两个是原始HTML,另一个是需要最长时间加载的JSON。 –

found = False 

while not found: 
    response = requests.get('URL') 
    try: 
     inputJSON = json.loads(response.text) 
     found = True 
     print('valid JSON') 
    except: 
     print('not valid JSON') 
     pass